Académique Documents
Professionnel Documents
Culture Documents
Lisezmoi
TIA Portal Openness 2
Nouveautés de TIA Portal
SIMATC Openness 3
notions de base 4
TIA Portal
Openness : Automatisation de la
création de projet Introduction 5
Configurations 6
Manuel système
Exportation/importation 8
Principales modifications 9
11/2019
Online help printout
Mentions légales
Signalétique d'avertissement
Ce manuel donne des consignes que vous devez respecter pour votre propre sécurité et pour éviter des dommages
matériels. Les avertissements servant à votre sécurité personnelle sont accompagnés d'un triangle de danger, les
avertissements concernant uniquement des dommages matériels sont dépourvus de ce triangle. Les
avertissements sont représentés ci-après par ordre décroissant de niveau de risque.
DANGER
signifie que la non-application des mesures de sécurité appropriées entraîne la mort ou des blessures graves.
ATTENTION
signifie que la non-application des mesures de sécurité appropriées peut entraîner la mort ou des blessures graves.
PRUDENCE
signifie que la non-application des mesures de sécurité appropriées peut entraîner des blessures légères.
IMPORTANT
signifie que la non-application des mesures de sécurité appropriées peut entraîner un dommage matériel.
En présence de plusieurs niveaux de risque, c'est toujours l'avertissement correspondant au niveau le plus élevé qui
est reproduit. Si un avertissement avec triangle de danger prévient des risques de dommages corporels, le même
avertissement peut aussi contenir un avis de mise en garde contre des dommages matériels.
Personnes qualifiées
L’appareil/le système décrit dans cette documentation ne doit être manipulé que par du personnel qualifié pour
chaque tâche spécifique. La documentation relative à cette tâche doit être observée, en particulier les consignes de
sécurité et avertissements. Les personnes qualifiées sont, en raison de leur formation et de leur expérience, en
mesure de reconnaître les risques liés au maniement de ce produit / système et de les éviter.
Utilisation des produits Siemens conforme à leur destination
Tenez compte des points suivants:
ATTENTION
Les produits Siemens ne doivent être utilisés que pour les cas d'application prévus dans le catalogue et dans la
documentation technique correspondante. S'ils sont utilisés en liaison avec des produits et composants d'autres
marques, ceux-ci doivent être recommandés ou agréés par Siemens. Le fonctionnement correct et sûr des produits
suppose un transport, un entreposage, une mise en place, un montage, une mise en service, une utilisation et une
maintenance dans les règles de l'art. Il faut respecter les conditions d'environnement admissibles ainsi que les
indications dans les documentations afférentes.
Marques de fabrique
Toutes les désignations repérées par ® sont des marques déposées de Siemens AG. Les autres désignations dans
ce document peuvent être des marques dont l'utilisation par des tiers à leurs propres fins peut enfreindre les droits
de leurs propriétaires respectifs.
Exclusion de responsabilité
Nous avons vérifié la conformité du contenu du présent document avec le matériel et le logiciel qui y sont décrits. Ne
pouvant toutefois exclure toute divergence, nous ne pouvons pas nous porter garants de la conformité intégrale. Si
l'usage de ce manuel devait révéler des erreurs, nous en tiendrons compte et apporterons les corrections
nécessaires dès la prochaine édition.
Siemens AG Numéro de référence du document: Online help printout Copyright © Siemens AG 2019.
Digital Industries Ⓟ 01/2020 Sous réserve de modifications Tous droits réservés
Postfach 48 48
90026 NÜRNBERG
ALLEMAGNE
Sommaire
Paramètres du matériel
Une description des paramètres du matériel est disponible dans le dossier d'installation de
TIA Portal sous Siemens\Automation\Portal V*\PublicAPI\V*\HW Parameter Description
\Openness_hardware_parameter_description.pdf .
Remarque
V* est la référence au chemin modifié en fonction de la version installée de TIA Portal.
Mode multi-utilisateurs
TIA Portal Openness ne prend en charge aucune opération administrative multi-utilisateurs. La
raison est que l'utilisation de TIA Portal Openness n'est pas recommandée dans des projets
multi-utilisateurs. Notez que certaines actions dans TIA Portal Openness peuvent même
perturber le bon déroulement des opérations multi-utilisateurs définies par l'interface utilisateur
de TIA Portal. Toutefois, si vous souhaitez effectuer des modifications avec TIA Portal
Openness, exportez d'abord le projet multi-utilisateurs dans un projet à utilisateur unique.
4. Activez "UseDesignColorSchema" :
– Les valeurs des attributs de l'élément d'écran ne sont pas modifiées dans la base de
données et correspondent toujours à celles de l'étape 3.
– L'interface utilisateur reprend les attributs directement de l'élément de style.
5. Exportez l'élément d'écran affecté à l'élément de style :
– Le fichier XML contient les valeurs des attributs issues de la base de données, qui ont
été définies à l'étape 3 et qui correspondent aux valeurs de l'élément de style.
Attributs spécifiques aux instances lors de l'importation de blocs avec TIA Portal Openness
Dans certaines situations, les règles d'importation peuvent entraîner la perte des attributs
spécifiques aux instances comme p. ex. les valeurs de démarrage.
Modifications
Si vous avez tenu compte des remarques concernant la programmation dans plusieurs
versions et n'avez pas mis à jour votre projet à la version V16, vos applications fonctionnent
sans aucune restriction sur tout ordinateur, même lorsque seul TIA Portal V16 est installé.
Si vous mettez à jour votre projet à la version V16, il est nécessaire de recompiler votre
application avec la SiemensEngineering.dll de version V16. Dans certains cas, il peut être
nécessaire d'adapter le code de votre application.
Simocode Openness
Notez que tous les paramètres de la table de vérité peuvent certes être utilisés dans
Openness V15.1, mais que leur mise en œuvre sera modifiée dans la version V16.
Au lieu de définir chaque bit individuellement, il sera possible de paramétrer tous les bits de
sortie d'une table de vérité avec une opération Array rapide.
Si vous voulez continuer à utiliser votre application Openness existante dans la version V16,
vous devez adapter le cas échéant votre code au nouveau contexte.
Changement de version
Si vous tenez compte de quelques remarques concernant l'écriture d'un code stable à long
terme, vous serez en mesure d'utiliser votre application avec d'autres versions de TIA Portal
sans modifier son code.
Remarque
V* et *.ap* dans le document est la référence au chemin modifié en fonction de la version
installée de TIA Portal et de l'extension.
Chemin d'installation
Des modifications sont nécessaires pour modifier le chemin d'installation de TIA Portal.
Exemple :
"C:\Programmes\Siemens\Automation\Portal V14\PublicAPI\V14
SP1\Siemens.Engineering.dll"
doit être changé en
"C:\Programme\Siemens\Automation\Portal V*\PublicAPI\V*\Siemens.Engineering.dll".
Pour écrire un code stable à long terme, le chemin d'installation doit être configurable.
Remarque
Le numéro de version V* fait référence à la version installée de l'API TIA Portal Openness.
Pour plus d’informations sur les modifications du modèle d'objet, référez-vous à "Modifications
majeures dans TIA Portal Openness V16".
Nouvelles fonctions
Les nouvelles fonctions et innovations suivantes sont disponibles dans TIA Portal Openness
V16. Vous trouverez des détails sur les thèmes abordés dans les différentes rubriques de la
documentation produit.
● Mémentos spécifiques à l'utilisateur pour l'identification d'appareils et de modules
● Interroger en ligne des totaux de contrôle d'API pour matériels et logiciels
● Prise en charge des unités logicielles
● Prise en charge de l'exportation/importation d'objets technologiques
● Prise en charge de l'interface de gestion des versions (VCI)
Remarque
Evitez d'enregistrer un autre IpcChannel avec le paramètre "ensureSecurity" différent de
"false" et une priorité supérieure ou égale à "1".
Attribut Paramètres
"name" et "portName" Mis sur $”{Process.Name}_{Process.Id}” ou $”{Process.Na‐
me}_{Process.Id}_{AppDomain.Id}” si enregistré dans un au‐
tre AppDomain que l'AppDomain par défaut de l'application.
“priority” Mis à la valeur par défaut "1".
“typeFilterLevel” Mis sur "Complet".
“authorizedGroup” Mis sur la chaîne de caractères de la valeur de compte NT
pour le compte d'utilisateur intégré (c.-à-d. Tous)
Voir aussi
Ajouter un utilisateur au groupe d'utilisateurs "Siemens TIA Openness" (Page 31)
4.2 Installation
Introduction
"TIA Portal Openness" est installé via la case à cocher pour TIA Portal Openness (sous
Options) lors de l'installation de TIA Portal.
Conditions
● Le matériel et les logiciels de l'appareil de programmation ou du PC sont conformes à la
configuration système requise.
● Vous détenez les droits d'administrateur.
● Les programmes en cours d'exécution ont été fermés.
● La fonction d'exécution automatique est désactivée.
● WinCC et/ou STEP 7 est/sont installé(s).
● Le numéro de version de "TIA Portal Openness" correspond aux numéros de version de
WinCC et STEP 7.
Remarque
Lorsqu'une version antérieure de TIA Portal Openess est déjà installée, la version actuelle est
installée parallèlement.
Marche à suivre
Pour installer TIA Portal Openness, assurez-vous que la case à cocher pour TIA Portal
Openness est activée pendant l'installation de TIA Portal. Procédez comme suit pour contrôler
l'installation de TIA Openness.
1. Dans le menu "Configuration", sélectionnez le répertoire "Options".
2. Cochez la case pour TIA Portal Openness.
3. Cliquez sur "Next" puis sélectionnez l'option requise.
Suivez la procédure d'installation de TIA Portal pour compléter l'installation de TIA Portal
Openness.
Résultat
TIA Portal Openness est installé sur le PC. En outre, le groupe d'utilisateurs local "Siemens TIA
Openness" est créé.
Remarque
Le complément "TIA Portal Openness" ne suffit pas pour continuer d'avoir accès à TIA Portal.
Vous devez être membre du groupe d'utilisateurs "Siemens TIA Openness" (voir Ajouter un
utilisateur au groupe d'utilisateurs "Siemens TIA Openness" (Page 31)).
Introduction
Lorsque vous installez TIA Portal Openness sur le PC, le groupe d'utilisateurs "Siemens TIA
Openness" est automatiquement créé.
Chaque fois que vous accédez à TIA Portal avec votre application TIA Portal Openness, TIA
Portal vérifie si vous êtes membre du groupe d'utilisateurs "Siemens TIA Openness", soit
directement ou indirectement via un autre groupe d'utilisateurs. Si vous êtes membre du
groupe d'utilisateurs "Siemens TIA Openness", l'application TIA Portal Openness démarre et
établit une liaison à TIA Portal.
Marche à suivre
Vous ajoutez un utilisateur au groupe d'utilisateurs "Siemens TIA Openness" grâce à des
applications de votre système d'exploitation. Le portail TIA ne prend pas en charge ce
processus.
Remarque
En fonction de la configuration de votre domaine ou de votre PC, les droits d'administrateur
sont requis pour l'extension d'un groupe d'utilisateurs.
Avec le système d'exploitation Windows 7 (avec l'anglais comme langue paramétrée), vous
pouvez par exemple ajouter un utilisateur au groupe d'utilisateurs comme suit :
1. Sélectionnez "Start" > "Control Panel".
2. Double-cliquez dans le panneau de configuration sur "Administrative Tools".
4. Sélectionnez "Local Users and Groups > Groups" pour afficher tous les groupes
d'utilisateurs créés.
5. Dans la liste des groupes d'utilisateurs, sélectionnez dans le volet à droite l'entrée "Siemens
TIA Openness".
Vue d'ensemble
2UGLQDWHXUGHFRQILJXUDWLRQ
9RWUH 6LHPHQV
SURJUDPPH (QJLQHHULQJGOO
3URFHVVXV 3URMHWSRXU
7,$3RUWDO PDFKLQH
Marche à suivre
1. Pour accéder et lancer TIA Portal, configurez votre environnement de développement.
2. Dans votre programme, créez une instance de l'objet de l'application de TIA Portal pour
démarrer ce dernier.
3. Cherchez le projet souhaité et ouvrez-le.
4. Accédez aux données de projet.
5. Fermez le projet et quittez le portail TIA.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Mettre fin à la connexion au portail TIA (Page 88)
Introduction
TIA Portal Openness vous offre différentes possibilités d'accès à TIA Portal et une sélection de
fonctions pour des tâches définies.
Vous accédez aux zones suivantes de TIA Portal par le biais de l'interface TIA Portal Openness
API :
● Données de portail
● Données du projet
● Données API
● Données IHM
● Paramètres d'entraînement
Remarque
L'interface TIA Portal Openness API ne doit pas servir à procéder à des contrôles ou à créer
des données utilisées pour la réception/validation d'une installation de sécurité. Seuls une
impression de sécurité réalisée avec le progiciel STEP 7 Safety ou le test fonctionnel
conviennent pour une réception/validation. La TIA Portal Openness API ne saurait les
remplacer.
4.3.2 Exportation/importation
Introduction
TIA Portal Openness prend en charge l'importation et l'exportation de données de projet au
moyen de fichiers XML. La fonction d'importation/exportation permet la configuration externe
de données d'ingénierie existantes. Vous utilisez cette fonction pour rendre votre processus
d'ingénierie plus efficace et éviter les erreurs.
Utilisation
Vous utilisez la fonction d'importation/exportation aux fins suivantes :
● Echange de données
● Copie de parties d'un projet
● Traitement externe de données de configuration, par exemple pour des opérations sur
données de masse avec rechercher et remplacer
● Traitement externe de données de configuration pour de nouveaux projets sur la base de
configurations existantes
● Importation de données de configuration générées en externe, telles que des listes de
textes et des variables
● Mise à disposition de données de projet pour des applications externes
Introduction
Les tableaux suivants indiquent les objets disponibles, y compris Runtime Advanced et si ces
objets sont pris en charge par TIA Portal Openness.
Ni le logiciel de visualisation Runtime Professional ni les fichiers de proxy d'appareil ne sont
pris en charge par TIA Portal Openness dans WinCC.
Objets
Selon le pupitre opérateur que vous utilisez vous pouvez avoir recours aux données de projet
suivantes :
1) Seuls les Mobile Panels avec une version d'appareil supérieure à 12.0.0.0 prennent en
charge cet objet écran
En outre, TIA Portal Openness prend en charge toutes les plages de valeurs prises en charge
par les pilotes de communication.
Connexions
TIA Portal Openness prend en charge les connexions non intégrées également prises en
charge par les pupitres opérateur correspondants. Vous trouverez des informations
complémentaires à ce sujet dans l'aide en ligne de TIA Portal sous "Visualisation de processus
> Communication avec les API > Dépendance par rapport à l'appareil".
Introduction
Il est possible d'écrire et de lire des attributs (généraux) de blocs, DB et UDT (écrits dans
n'importe quel langage de programmation) via l'API Openness.
Les objets technologiques sont des DB internes, c'est pourquoi cette fonction s'applique aussi
aux TO.
Les mêmes règles de vérification doivent également être appliquées au nom à l'aide de
SetAttribute de l'API Openness pour les blocs, DB (TO) et UDT que vous avez utilisés sur la
GUI.
En cas d'infraction à une règle, une exception utilisateur est émise et la valeur d'attribut n'est
pas modifiée.
Cette extension de l'API ne concerne pas l'importation/exportation XML.
Attributs généraux
Légende
● X : L'attribut est pertinent, écriture dans XML, accès via l'API possible
● -: L'attribut n'est pas accessible, il n'existe pas
using System;
using System.Collections.Generic;
using System.IO;
using Siemens.Engineering;
using Siemens.Engineering.Cax;
using Siemens.Engineering.Compiler;
using Siemens.Engineering.Compare;
using Siemens.Engineering.Download;
using Siemens.Engineering.Hmi;
using Siemens.Engineering.Hmi.Cycle;
using Siemens.Engineering.Hmi.Communication;
using Siemens.Engineering.Hmi.Globalization;
using Siemens.Engineering.Hmi.RuntimeScripting;
using Siemens.Engineering.Hmi.Screen;
using Siemens.Engineering.Hmi.Tag;
using Siemens.Engineering.Hmi.TextGraphicList;
using Siemens.Engineering.HW;
using Siemens.Engineering.HW.Extensions;
using Siemens.Engineering.HW.Features;
using Siemens.Engineering.HW.Utilities;
using Siemens.Engineering.Library;
using Siemens.Engineering.Library.MasterCopies;
using Siemens.Engineering.Library.Types;
using Siemens.Engineering.SW;
using Siemens.Engineering.SW.Blocks;
using Siemens.Engineering.SW.ExternalSources;
using Siemens.Engineering.SW.Tags;
using Siemens.Engineering.SW.TechnologicalObjects;
using Siemens.Engineering.SW.TechnologicalObjects.Motion;
using Siemens.Engineering.SW.Types;
using Siemens.Engineering.Upload;
Objet racine
Vous pouvez indiquer plusieurs objets racine dans les fichiers d'importation.
Exemple : vous pouvez créer plusieurs listes de textes dans un fichier XML au lieu d'une liste
de textes par fichier XML.
Exemple : si vous exécutez plusieurs exportations de données de configuration les unes après
les autres, la première exportation peut durer plus longtemps que les suivantes.
Remarque
Siemens n'est pas responsable de la compatibilité des données transmises par le biais de ces
interfaces avec un logiciel tiers et ne fournit aucune garantie à cet égard.
Nous attirons expressément l'attention sur le fait que l'utilisation inadéquate des interfaces peut
entraîner la perte de données ou l'arrêt de la production.
Remarque
Les sections de code contenues dans cette documentation sont rédigées dans la syntaxe C#.
En raison de l'utilisation de sections de code courtes, une grande partie du traitement des
erreurs n'est pas décrite.
Utilisation
Utilisez l'interface TIA Portal Openness aux fins suivantes :
● mettre à disposition des données de projet
● accéder au processus TIA Portal
● utiliser des données de projet
Mise à disposition de données de projet du portail TIA pour des applications externes
● par l'exportation de données de projet
2UGLQDWHXUG
DSSOLFDWLRQ 2UGLQDWHXUGXSURMHW7,$3RUWDO
3& 3&
(FKDQJHGHGRQQ«HV
9RWUH 9RWUH
;0/
SURJUDPPH SURJUDPPH
7UDLWHPHQWGHV
GRQQ«HV
3URFHVVXV
7,$3RUWDO
● Les données sont échangées via des fichiers XML. Les fichiers XML peuvent être exportés
ou importés par vos programmes.
● Les données exportées du portail TIA vers PC2 peuvent être modifiées sur PC1 et
réimportées.
Remarque
Vous devez développer un programme exécutable "Votre programme 2" pour PC2, par
exemple "programm2.exe". Le portail TIA s'exécute avec ce programme en arrière-plan.
L'importation et l'exportation de fichiers XML s'effectuent exclusivement par le biais de la
TIA Portal Openness API.
2UGLQDWHXUGHFRQILJXUDWLRQ
'RQQ«HVGH
7,$3RUWDO SURMHW
PDFKLQH
9RWUH 3XEOLF$3,
SURJUDPPH
● Votre programme lance le TIA Portal avec ou sans interface utilisateur. Votre programme
ouvre, enregistre et/ou ferme un projet. Le programme peut également établir une liaison
avec un TIA Portal en cours d'exécution.
● Vous pouvez alors utiliser les fonctionnalités du TIA Portal pour demander, générer et
modifier des données de projet ou pour déclencher des processus d'importation et
d'exportation.
● Les données sont créées sous le contrôle du traitement du portail TIA et enregistrées dans
les données du projet.
2UGLQDWHXUGHFRQILJXUDWLRQ
3DUDPªWUHV
SRXU
PDFKLQH *HQHUDWRU
3DUDPªWUHV 7RRO
SRXU
PDFKLQH
3URMHWSRXU
PDFKLQH
3URFHVVXV
7,$3RUWDO
3URMHWSRXU
PDFKLQH
● Un système d'automatisation efficace doit être appliqué sur des machines similaires.
● Un projet comprenant les composants de tous les modèles de machines est disponible dans
le portail TIA.
● L'outil Generator Tool commande la création du projet correspondant à un modèle de
machine donné.
● Il appelle les valeurs par défaut en lisant les paramètres du modèle de machine demandé.
● Il filtre les éléments concernés du projet global du portail TIA, les modifie le cas échéant et
génère le projet de machine demandé.
Vue d'ensemble
TIA Portal Openness prend en charge une sélection de fonctions pour des tâches définies.
Vous pouvez appeler ces fonctions par le biais de TIA Portal Openness API en-dehors de TIA
Portal.
Remarque
Lorsqu'une version antérieure de TIA Portal Openess est déjà installée, la version actuelle est
installée parallèlement.
Vous trouverez ci-après une vue d'ensemble des étapes de programmation typiques. Vous
découvrirez comment les différentes sections de code interagissent et comment intégrer les
différentes fonctions dans un programme complet. En outre, vous verrez quels éléments de
code doivent être adaptés pour chaque tâche.
Exemple de programme
Les différentes étapes de programmation sont expliquées à l'aide de l'exemple de fonction
"Créer l'accès de l'API dans une application console". Dans ce code de programme, vous
intégrez les fonctions mises à disposition et vous adaptez les éléments de code
correspondants pour cette tâche.
Fonctions
La rubrique ci-dessous indique les fonctions pour des tâches définies que vous pouvez appeler
avec TIA Portal Openness en-dehors de TIA Portal.
Vue d'ensemble
TIA Portal Openness requiert les étapes de programmation suivantes pour l'accès via la TIA
Portal Openness API :
1. Faire connaître TIA Portal dans l'environnement de développement
2. Configurer l'accès du programme à TIA Portal
3. Activer l'accès du programme à TIA Portal
4. Publier et démarrer TIA Portal
5. Ouvrir un projet
6. Exécuter des commandes
7. Enregistrer et fermer un projet
8. Mettre fin à la connexion à TIA Portal
Remarque
Chaînes de caractères autorisées
Seuls certains caractères sont autorisés dans les chaînes de caractères sur TIA Portal. Toutes
les chaînes de caractères transmises à TIA Portal par le biais de l'application TIA Portal
Openness doivent se conformer à ces règles. Si vous transmettez un caractère non autorisé
dans un paramètre, le système déclenche une exception.
Vue d'ensemble
Le schéma suivant illustre le niveau le plus élevé du modèle d'objet TIA Portal Openness :
7LD3RUWDO6HWWLQJ
'HYLFHVQ
'HYLFH*URXS
'HYLFHVQ 'HYLFH 'HYLFH,WHPVQ 'HYLFH,WHP
7LD3RUWDO6HWWLQJV)ROGHU $EVWUDFW!!
0DVWHU&RS\6\VWHP)ROGHU 0DVWHU&RS\8VHU)ROGHU
*OREDO/LEUDU\
/LEUDU\7\SH)ROGHU 7\SHVQ /LEUDU\7\SH 9HUVLRQVQ /LEUDU\7\SH9HUVLRQ
7\SH)ROGHU $EVWUDFW!! )ROGHUVQ
/LEUDU\7\SH6\VWHP)ROGHU /LEUDU\7\SH8VHU)ROGHU
0DVWHU&RS\6\VWHP)ROGHU 0DVWHU&RS\8VHU)ROGHU
3URMHFW/LEUDU\
/LEUDU\7\SH)ROGHU 7\SHVQ /LEUDU\7\SH 9HUVLRQVQ /LEUDU\7\SH9HUVLRQ
7\SH)ROGHU $EVWUDFW!! )ROGHUVQ
/LEUDU\7\SH6\VWHP)ROGHU /LEUDU\7\SH8VHU)ROGHU
6FUHHQ*OREDO(OHPHQWV 6FUHHQ*OREDO(OHPHQWV
6FUHHQ2YHUYLHZ 6FUHHQ2YHUYLHZ
&ODVVHVG
DODUPHVQ $ODUP&ODVV
5XQWLPH6HWWLQJV
6FUHHQHW 6FUHHQVHW6FUHHQ,WHPV
6FUHHQ,WHPQ
2%
3OF%ORFN*URXS %ORFNVQ 3OF%ORFN
$EVWUDFW!! *URXSVQ $EVWUDFW!!
,QVWDQFH'%
$UUD\'%
3OF6RIWZDUH
3OF7DJ
7DJ7DEOH*URXS 3OF7DJ7DEOH6\VWHP*URXS 3OF7DJ7DEOH8VHU*URXS
7DJVQ
3OF7DJ7DEOH*URXS *URXSVQ 3OF8VHU&RQVWDQW
$EVWUDFW!! 7DJ7DEOHVQ 3OF7DJ7DEOH
8VHU&RQVWDQWVQ
3OF&RQVWDQW
$EVWUDFW!!
6\VWHP&RQVWDQWVQ
3OF6\VWHP&RQVWDQW
7HFKQRORJLFDO,QVWDQFH'%
7HFKQRORJLFDO2EMHFW*URXS 7HFKQRORJLFDO,QVWDQFH'%*URXS 7HFKQRORJLFDO2EMHFWV 7HFKQRORJLFDO,QVWDQFH'%&RPSRVLWLRQ %ORFNVQ
'DWD%ORFN
3OF)RUFH7DEOH(QWU\ 3OF:DWFK7DEOH(QWU\
3OF8QLW3URYLGHU
6HUYLFH!! Openness : Automatisation de la création de projet
58 Manuel système, 11/2019, Online help printout
Remarque
* La table de forçage permanent doit se trouver dans PlcWatch et ForceTableSystemGroup
1
5
5 5
Project DeviceItem
2 PlcSoftware
HmiTarget
3
HmiUnified
4 Software
Introduction
Le schéma suivant représente le modèle de domaine des API afin de donner une vue
d'ensemble de la structuration actuelle dans TIA Portal Openness.
2%
3OF%ORFN*URXS %ORFNVQ 3OF%ORFN
$EVWUDFW!! *URXSVQ $EVWUDFW!!
,QVWDQFH'%
$UUD\'%
3OF6RIWZDUH
3OF7DJ
7DJ7DEOH*URXS 3OF7DJ7DEOH6\VWHP*URXS 3OF7DJ7DEOH8VHU*URXS
7DJVQ
3OF7DJ7DEOH*URXS *URXSVQ 3OF8VHU&RQVWDQW
$EVWUDFW!! 7DJ7DEOHVQ 3OF7DJ7DEOH
8VHU&RQVWDQWVQ
3OF&RQVWDQW
$EVWUDFW!!
6\VWHP&RQVWDQWVQ
3OF6\VWHP&RQVWDQW
7HFKQRORJLFDO,QVWDQFH'%
7HFKQRORJLFDO2EMHFW*URXS 7HFKQRORJLFDO,QVWDQFH'%*URXS 7HFKQRORJLFDO2EMHFWV 7HFKQRORJLFDO,QVWDQFH'%&RPSRVLWLRQ %ORFNVQ
'DWD%ORFN
3OF)RUFH7DEOH(QWU\ 3OF:DWFK7DEOH(QWU\
3OF8QLW3URYLGHU
6HUYLFH!! Openness : Automatisation de la création de projet
62 Manuel système, 11/2019, Online help printout
Remarque
* La table de forçage permanent doit se trouver dans PlcWatch et ForceTableSystemGroup
Diagrammes de classes
Toutes les classes qui ne sont pas directement instanciées sont définies de manière abstraite
dans le modèle d'objet TIA Portal Openness.
Données
3OF%ORFN
*HQHUDODWWULEXWHV
$XWR1XPEHU%RROHDQ
&RGH0RGLILHG'DWH'DWH7LPH
&RPSLOH'DWH'DWH7LPH
&UHDWLRQ'DWH'DWH7LPH
+HDGHU$XWKRU6WULQJ
+HDGHU)DPLO\6WULQJ
+HDGHU1DPH6WULQJ
+HDGHU9HUVLRQ6WULQJ
,QWHUIDFH0RGLILHG'DWH'DWH7LPH
,V&RQVLVWHQW%RROHDQ
,V.QRZ+RZ3URWHFWHG%RROHDQ
0HPRU\/D\RXW0HPRU\/D\RXW
0RGLILHG'DWH'DWH7LPH
1DPH6WULQJ
1XPEHU,QW
3DUDPHWHU0RGLILHG'DWH7LPH
3URJUDPPLQJ/DQJXDJH3URJUDPPLQJ/DQJXDJH
6WUXFWXUH0RGLILHG'DWH7LPH
6HUYLFHV
,&RPSLODEOH
([SRUW
6KRZ,Q(GLWRU
'HOHWH
'DWD%ORFN
6SHFLILFDWWULEXWHV
,V2QO\6WRUHG,Q/RDG0HPRU\%RROHDQ
,V:ULWH3URWHFWHG,Q$6%RROHDQ
6SHFLILFDWWULEXWHV
'RZQORDG:LWKRXW5HLQLW%RROHDQ
,QVWDQFH2I1XPEHU,QW
,QVWDQFH2I7\SH%ORFN7\SH
,V5HWDLQ0HP5HV(QDEOHG%RROHDQ
0HPRU\5HVHUYH8,QWSOXV
5HWDLQ0HPRU\5HVHUYH8,QWSOXV
8'$(QDEOH7DJ5HDGEDFN%RROHDQ
8'$%ORFN3URSHUWLHV6WULQJ
Code et type
3OF%ORFN
1RWH$
WKHIROOR
,&RPS
([SRU
6KRZ,
'HOHWH
2%
*HQHUDODWWULEXWHV
6HFRQGDU\7\SH6WULQJ
6SHFLILFDWWULEXWHV
&RQVWDQW1DPH6WULQJ
3URFHVV,PDJH3DUW1XPEHU8,QW
(YHQW&ODVV6WULQJ
3ULRULW\1XPEHU,QW )%
(YHQWV7R%H4XHXHG,QW
5HSRUW(YHQWV%RRO 6SHFLILFDWWULEXWHV
(QDEOH7LPH(UURU%RRO $FNQRZOHGJH(UURUV5HTXLUHG%RROHDQ
(YHQW7KUHVKROG)RU7LPH(UURU,QW &UHDWH0LQLPL]HG'%%RROHDQFODVVLF
&\FOLF7LPH,QW 'RZQORDG:LWKRXW5HLQLW%RROHDQ
3KDVH2IIVHW,QW *UDSK9HUVLRQ6WULQJSOXV
$SSOLFDWLRQ&\FOH6LQJOH ,V0XOWL,QVWDQFH&DSDEOH%RROHDQ
$XWRPDWLF0LQLPXP%RRO
,V5HWDLQ0HP5HV(QDEOHG%RROHDQ
)&
'HOD\7LPH'RXEOH
'LVWULEXWLRQ,21DPH,QW /DQJXDJH,Q1HWZRUNV6WULQJ 6SHFLILFDWWULEXWHV
'LVWULEXWLRQ,21XPEHU,QW /RFN2SHUDWLQJ0RGH%RROHDQ
3DUDPHWHU3DVVLQJ%RROHD
([HFXWLRQ2%([HFXWLRQ 0HPRU\5HVHUYH8,QWSOXV
8'$(QDEOH7DJ5HDGEDFN
6WDUW'DWH'DWH7LPH 3DUDPHWHU3DVVLQJ%RROHDQSOXV
8'$%ORFN3URSHUWLHV6WULQ
7LPH2I'D\'DWH7LPH 3HUPDQHQW,/3URFHVVLQJ,Q0$10RGH%RROHDQ
/LEUDU\&RQIRUPDQFH6WDWXV
7LPH0RGH2%7LPH0RGH 5HWDLQ0HPRU\5HVHUYH8,QWSOXV
'DWD([FKDQJH0RGH2%'DWD([FKDQJH0RGH 6HW(12$XWRPDWLFDOO\%RROHDQSOXV
&\FOLF7LPH'LVWULEXWHG,26LQJOH 6NLS6WHSV%RROHDQ
)DFWRU6LQJOH 8'$(QDEOH7DJ5HDGEDFN%RROHDQ
6\QFKURQRXV$SSOLFDWLRQ&\FOH7LPH6LQJOH 8'$%ORFN3URSHUWLHV6WULQJ
&\FOLF$SSOLFDWLRQ&\FOH7LPH6LQJOH :LWK$ODUP+DQGOLQJ%RROHDQ
/LEUDU\&RQIRUPDQFH6WDWXV6WULQJ
7UDQVIRUPDWLRQ'%1XPEHU8,QW
Représentation de groupes pour blocs et types dans la TIA Portal Openness API
Les deux groupes "PlcBlocks" du niveau supérieur ("Blocs de programme" dans l'interface
utilisateur de TIA Portal) et "PlcTypes" ("Types de données API" dans l'interface utilisateur de
TIA Portal) contiennent des blocs et des définitions de type. Ces groupes mettent la fonction
d'importation et la fonction de compilation à la disposition des blocs. Étant donné que la plupart
des méthodes qui s'appliquent aux fonctionnalités des groupes ne sont accessibles que via des
bibliothèques, il existe une représentation "intégrée" ou "condensée" des bibliothèques et des
méthodes correspondantes dans les classes "Host".
Blocs et types
3OF%ORFN*URXS
3OF6RIWZDUH
&RPSRVLWLRQV
%ORFNV3OF%ORFN&RPSRVLWLRQ 7\SHV3OF7
*URXSV3OF%ORFN8VHU*URXS&RPSRVLWLRQ *URXSV3O
6HUYLFHV
,&RPSLODEOH ,&RPSLODEOH
1DPH6WULQJJHW 1DPH6WUL
0HWKRGVRQ3OF%ORFN&RPSRVLWLRQ
,PSRUW ,PSRUW
0HWKRGVRQ3OF%ORFN8VHU*URXS&RPSRVLWLRQ 0HWK
&UHDWH &UHDWH
3OF6\VWHP%ORFN*URXS
&RPSRVLWLRQV
%ORFNV3OF%ORFN&RPSRVLWLRQ
*URXSV3OF6\VWHP%ORFN*URXS&RPSRVLWLRQ
1DPH6WULQJJHW
0HWKRGVRQ3OF%ORFN&RPSRVLWLRQ
,PSRUW
3OF%ORFN
Sources externes
3OF([WHUQDO6RXUFH*URXS
&RPSRVLWLRQV
*URXSV3OF([WHUQDO6RXUFH8VHU*URXS&RPSRVLWLRQ
([WHUQDO6RXUFHV3OF([WHUQDO6RXUFH&RPSRVLWLRQ
3OF6RIWZDUH
1DPH6WULQJJHW
0HWKRGVRQ3OF([WHUQDO6RXUFH&RPSRVLWLRQ
&UHDWH)URP)LOH
0HWKRGVRQ3OF([WHUQDO6RXUFH8VHU*URXS&RPSRVLWLRQ
&UHDWH
3OF([WHUQDO6RXUFH6\VWHP*URXS 3OF([WHUQDO6RXUFH8VHU*URXS 3OF([
1DPH6WULQJ
'HOHWH
*HQHUDWH%ORFN
Relation entre les éléments visibles du portail TIA et les éléments structurés du modèle d'objet
Pour les objets éléments d'appareil, la relation conteneur-élément est similaire à la relation des
modules.
Exemple : un appareil contient un ou plusieurs emplacements. Un emplacement contient des
modules. Un module contient des sous-modules.
Il s'agit de la relation similaire à la représentation dans la vue de réseau et la vue d'appareil de
TIA Portal. L'attribut "PositionNumber" d'un élément d'élément d'appareil est unique dans la
zone du conteneur.
La relation enfant-parent entre les objets élément d'appareil est une relation logique pure dans
le modèle d'objet. Un enfant ne peut exister sans ses parents.
● Si un sous-module est structuré comme une partie d'un module (enfant), le sous-module ne
peut pas être retiré sans le module.
● Si vous ajoutez au module un sous-module, puis vous le retirez du sous-module, cet enfant
a les mêmes parents que le module.
Le diagramme ci-dessous indique la hiérarchie entre des appareils et des éléments d'appareils
API et IHM.
Hiérarchie pour le travail avec des .Items Hiérarchie pour le travail avec des .DeviceItems
'HYLFH 'HYLFH
6RIWZDUH&RQWDLQHU 6RIWZDUH&RQWDLQHU
3OF6RIWZDUH 3OF6RIWZDUH
Hiérarchie pour le travail avec des .Items Hiérarchie pour le travail avec des .DeviceItems
'HYLFH 'HYLFH
6RIWZDUH&RQWDLQHU 6RIWZDUH&RQWDLQHU
+PL7DUJHW +PL7DUJHW
Conditions
● TIA Portal Openness et TIA Portal sont installés
Utilisation
À partir de TIA Portal Openness V14, chaque version installée dispose d'une clé de Registre
qui contient des informations sur la version. Cela permet de créer automatiquement le fichier
de configuration d'application pour chaque version de TIA Portal Openness installée.
La clé de Registre se trouve dans le chemin suivant :
HKEY_LOCAL_MACHINE\Software\Siemens\Automation\Openness\Vxx.x
\PublicAPI
Remarque
Le numéro de version présent dans ce chemin est toujours identique au numéro de la version
de TIA Portal actuelle installée. En cas de plusieurs installations parallèles, plusieurs jeux
d'entrées correspondant à TIA Portal Openness sont présents dans le registre.
Il existe une clé unique par version de TIA Portal Openness. Les noms des versions sont
identiques à ceux dans l'Assembly décrit, par ex. les entrées de registre pour TIA Portal
Openness :
[HKEY_LOCAL_MACHINE\SOFTWARE\Siemens\Automation\Openness\Vxx.x\PublicAPI
\Vxx.x.x.x]"PublicKeyToken"="d29ec89bac048f84"
"Siemens.Engineering"="C:\Program Files\Siemens\Automation\Portal Vxx\PublicAPI\Vxx
\Siemens.Engineering.dll"
"Siemens.Engineering.Hmi"="C:\Program Files\Siemens\Automation\Portal Vxx\PublicAPI\Vxx
\Siemens.Engineering.Hmi.dll"
"EngineeringVersion"="Vxx"
"AssemblyVersion"="Vxx.x.x.x"
Remarque
Si vous souhaitez créer un fichier de configuration d'application, vous pouvez connaître le
chemin d'accès à Siemens.Engineering.dll, Siemens.Engineering.Hmi.dll et au jeton de la clé
publique grâce à la clé de Registre.
Remarque
Un fichier de configuration d'exemple est requis pour l'exemple d'application.
using System;
using Siemens.Engineering;
using Siemens.Engineering.HW;
using Siemens.Engineering.HW.Features;
using Siemens.Engineering.SW;
using Siemens.Engineering.SW.Blocks;
using Siemens.Engineering.SW.ExternalSources;
using Siemens.Engineering.SW.Tags;
using Siemens.Engineering.SW.Types;
using Siemens.Engineering.Hmi;
using HmiTarget = Siemens.Engineering.Hmi.HmiTarget;
using Siemens.Engineering.Hmi.Tag;
using Siemens.Engineering.Hmi.Screen;
using Siemens.Engineering.Hmi.Cycle;
using Siemens.Engineering.Hmi.Communication;
using Siemens.Engineering.Hmi.Globalization;
using Siemens.Engineering.Hmi.TextGraphicList;
using Siemens.Engineering.Hmi.RuntimeScripting;
using System.Collections.Generic;
using Siemens.Engineering.Compiler;
using Siemens.Engineering.Library;
using System.IO;
namespace HelloTIA
{
internal class Program
{
private static void Main(string[] args)
{
RunTiaPortal();
}
Console.WriteLine("Opening Project...");
// please adapt the path and the extension apx to the installed version of
TIA Portal
FileInfo projectPath = new FileInfo("C:\Demo\AnyCompanyProject.apx"); //edit
the path according to your project
Project project = null;
try
{
project = projects.OpenWithUpgrade(projectPath);
}
catch (Exception)
{
Console.WriteLine(String.Format("Could not open project {0}",
projectPath.FullName));
Console.WriteLine("Demo complete hit enter to exit");
Console.ReadLine();
return;
}
IterateThroughDevices(project);
project.Close();
Console.WriteLine();
}
}
}
Remarque
Affectez la valeur "False" au paramètre "CopyLocal" dans les attributs de référence.
using Siemens.Engineering;
4. Ouvrir un projet
Pour ouvrir un projet, vous pouvez par exemple utiliser le code suivant :
Console.WriteLine();
Console.WriteLine(String.Format("Iterate through {0} device(s)",
project.Devices.Count));
foreach (Device device in project.Devices)
{
Console.WriteLine(String.Format("Device: \"{0}\".", device.Name));
}
Console.WriteLine();
}
project.Save();
project.Close();
Pour exécuter cette section de code, les éléments suivants sont requis :
● Un projet WinCC avec un appareil IHM contenant un groupe avec au moins une vue.
● Une fonction qui est instanciée par le pupitre opérateur.
Remarque
Si vous indiquez des chemins de répertoire, utilisez le chemin absolu, par ex. "C:/path/file.txt".
Les chemins de répertoire relatifs ne sont autorisés que pour les fichiers XML et l'importation/
l'exportation, par ex. "file.txt" ou "C:/path01/.../path02/file.txt".
//In the sample program "Hello TIA" replace the function call
//"IterateThroughDevices(project)" by the following functions calls:
HmiTarget hmiTarget = GetTheFirstHmiTarget(project);
DeleteScreenFromFolder(hmiTarget);
Utilisation
Le support IntelliSense pour TIA Portal Openness vous offre de l'aide sur les attributs ou
méthodes disponibles par le biais d'info-bulles. Il peut vous renseigner sur le nombre, les noms
et les types de paramètres requis. Dans l'exemple suivant, le paramètre en gras dans la
première ligne indique le paramètre requis suivant lors de l'entrée de la fonction.
Vous pouvez appeler manuellement des informations sur les paramètres de différentes
manières : Cliquez sur "Edit IntelliSense/Parameter Info", à l'aide de la combinaison de touches
<CTRL + MAJ + ESPACE> ou cliquez sur le bouton "Parameter Info" dans la barre d'outils de
l'éditeur.
Introduction
Vous démarrez TIA Portal avec TIA Portal Openness ou établissez la liaison avec un TIA Portal
en cours d'exécution. Si vous démarrez TIA Portal avec une application TIA Portal Openness,
indiquez si TIA Portal doit être démarré avec ou sans interface utilisateur graphique. Si vous
travaillez avec TIA Portal sans interface utilisateur, TIA Portal est uniquement lancé comme un
processus du système d'exploitation. Si nécessaire, une application TIA Portal Openness vous
permet de créer plusieurs instances de TIA Portal.
Remarque
Si vous utilisez l'application TIA Portal Openness pour accéder à l'interface de TIA Portal, vous
ne pouvez pas utiliser d'éditeur IHM. Vous pouvez ouvrir l'éditeur "Appareils & réseaux" ou
l'éditeur de programmation manuellement ou via TIA Portal Openness API.
Vous disposez des options suivantes pour démarrer TIA Portal avec une application TIA Portal
Openness.
● Utilisez un fichier de configuration d'application (recommandé pour la plupart des
applications).
● Utilisez la méthode "AssemblyResolve" (recommandé pour la copie, etc.).
● Copiez le fichier Siemens.Engineering.dll dans le répertoire de l'application TIA Portal
Openness.
Remarque
Nous vous recommandons de charger Siemens.Engineering.dll à l'aide du fichier de
configuration d'application. Cette méthode permet de tenir compte des noms forts et les
modifications dommageables au Engineering.dll entraînent une erreur de chargement. Ce qui
n'est pas détectable en cas d'utilisation de la méthode AssemblyResolve.
<?xml version="1.0"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Siemens.Engineering" culture="neutral"
publicKeyToken="d29ec89bac048f84"/>
<!-- Edit the following path according to your installed version of TIA Portal
-->
<codeBase version="Vxx.x.x.x" href="FILE://C:\Program Files\Siemens
\Automation\Portal Vxx\PublicAPI\Vxx\Siemens.Engineering.dll"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Siemens.Engineering.Hmi" culture="neutral"
publicKeyToken="d29ec89bac048f84"/>
<!-- Edit the following path according to your installed version of TIA Portal
-->
<codeBase version="Vxx.x.x.x" href="FILE://C:\Program Files\Siemens
\Automation\Portal Vxx\PublicAPI\Vxx\Siemens.Engineering.Hmi.dll"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Pour ouvrir une nouvelle instance de TIA Portal via le fichier de configuration d'application,
utilisez le code de programme suivant :
namespace UserProgram
{
internal class MyProgram
{
public static void Main(string[] args)
{
// To start TIA Portal with user interface:
// using (TiaPortal tiaPortal = new TiaPortal(TiaPortalMode.WithUserInterface))
//
// To start TIA Portal without user interface:
// using (TiaPortal tiaPortal = new
TiaPortal(TiaPortalMode.WithoutUserInterface))
using (TiaPortal tiaPortal = new TiaPortal(TiaPortalMode.WithUserInterface))
{
//begin of code for further implementation
//...
//end of code
}
}
}
}
Pour ouvrir une nouvelle instance de TIA Portal, utilisez le code de programme suivant.
using System;
using System.IO;
using System.Reflection;
using Siemens.Engineering;
namespace UserProgram
{
static class MyProgram
{
public static void Main(string[] args)
{
AppDomain.CurrentDomain.AssemblyResolve += MyResolver;
RunTiaPortal();
}
private static void RunTiaPortal()
{
// To start TIA Portal with user interface:
// using (TiaPortal tiaPortal = new TiaPortal(TiaPortalMode.WithUserInterface))
//
// To start TIA Portal without user interface:
// using (TiaPortal tiaPortal = new
TiaPortal(TiaPortalMode.WithoutUserInterface))
using (TiaPortal tiaPortal = new TiaPortal(TiaPortalMode.WithUserInterface))
{
//begin of code for further implementation
//...
//end of code
}
}
private static Assembly MyResolver(object sender, ResolveEventArgs args)
{
int index = args.Name.IndexOf(',');
if (index == -1)
{
return null;
}
string name = args.Name.Substring(0, index) + ".dll";
// Edit the following path according to your installed version of TIA Portal
string path = Path.Combine(@"C:\Program Files\Siemens\Automation\Portal Vxx
\PublicAPI\Vxx\", name);
string fullPath = Path.GetFullPath(path);
if (File.Exists(fullPath))
{
return Assembly.LoadFrom(fullPath);
}
return null;
}
}
}
Si vous connaissez l'ID de processus de l'instance du TIA Portal, utilisez cet ID de processus
pour accéder à l'objet. Le démarrage de TIA Portal nécessite un certain temps avant que vous
ne puissiez le connecter à TIA Portal Openness.
Lors de l'établissement de la liaison à une instance active de TIA Portal, une invite de
commande du pare-feu TIA Portal Openness s'affiche. Vous pouvez choisir parmi ces options
pour la liaison :
● Autoriser la liaison de manière unique
● Ne pas autoriser la liaison
● Toujours autoriser les liaisons de cette application
Pour plus d’informations, voir Pare-feu TIA Portal Openness (Page 84).
Remarque
Si l'invite de commande du registre est rejetée trois fois, le système déclenche une
exception du type EngineeringSecurityException.
Une fois la liaison au processus établie, vous pouvez appeler des informations sur les
instances de TIA Portal à l'aide de l'un des attributs suivants :
Attribut Information
InstalledSoftware as Fournit en retour des informations sur les produits installés.
IList<TiaPortalProduct>
Mode as TiaPortalMode Fournit en retour le mode dans lequel TIA Portal a été démarré (WithoutUserInterface/
WithUserInterface).
AttachedSessions as Fournit en retour une liste d'applications qui sont connectées à TIA Portal.
IList<TiaPortalSession>
ProjectPath as FileInfo Fournit en retour le nom de fichier du projet ouvert dans TIA Portal, y compris le dossier,
par exemple.
"D:\WinCCProjects\ColorMixing\ColorMixing.ap*"
Si aucun projet n'est ouvert, une chaîne de caractères vide est fournie en retour.
ID as int Fournit en retour l'ID de processus de l'instance TIA Portal.
Path as FileInfo Fournit en retour le chemin d'accès au fichier exécutable de TIA Portal.
Evénement Réponse
Disposed Cet événement vous permet de réagir avec une application TIA Portal Openness à la
fermeture de TIA Portal.
Notification Cet événement vous permet de réagir avec une application TIA Portal Openness aux
notifications de TIA Portal. Les notifications requièrent juste une confirmation, telle que
"OK".
Confirmation Cet événement vous permet de réagir avec une application TIA Portal Openness aux
confirmations de TIA Portal. Les confirmations requièrent toujours une décision, telle que
"Voulez-vous enregistrer le projet ?".
Code de programme
Pour enregistrer un gestionnaire d'événements dans une application TIA Portal Openness,
modifiez le code de programme suivant :
{
....
}
Attribut Description
Caption Fournit en retour le nom de la confirmation.
DetailText Fournit en retour le texte détaillé de la confirmation.
Icon Fournit en retour l'icône de la confirmation.
IsHandled Fournit en retour la confirmation ou indique si le système attend la confirmation.
Text Fournit en retour le texte de la confirmation.
Attribut Description
Caption Fournit en retour le nom de la confirmation.
Choices Donne les possibilités pour acquitter la confirmation.
DetailText Fournit en retour le texte détaillé de la confirmation.
Icon Fournit en retour l'icône de la confirmation.
IsHandled Fournit en retour la confirmation ou indique si le système attend la confirmation.
Result Fournit ou indique le résultat de l'acquittement.
Text Fournit en retour le texte de la confirmation.
Voir aussi
Confirmer les boîtes de dialogue comportant des alarmes système par commande du
programme (Page 87)
7.9.5 Confirmer les boîtes de dialogue comportant des alarmes système par
commande du programme
Condition requise
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Les gestionnaires d'événements sont enregistrés.
Voir Etablissement d'une connexion au portail TIA (Page 79)
Utilisation
Si vous commandez TIA Portal par le biais de l'interface utilisateur, des boîtes de dialogue
comportant des événements système s'affichent pour certaines séquences du programme. À
l'aide de ces événements système, vous décidez comment continuer.
Si vous accédez à TIA Portal avec une application TIA Portal Openness, ces événements
système doivent être acquittés via les événements ".NET" correspondants.
Les confirmations autorisées figurent dans la liste Choices :
● Abort
● Cancel
● Ignore
● No
● NoToAll
● None
● OK
● Retry
● Yes
● YesToAll
La valeur de ConfirmationEventArgs.Result doit être l'une des entrées
susmentionnées. Faute de quoi, une exception est lancée.
Code de programme
Pour réagir à un événement de confirmation, modifiez le code de programme suivant :
...
tiaPortal.Confirmation += TiaPortalConfirmation;
...
private void TiaPortalConfirmation(object sender, ConfirmationEventArgs e)
{
...
}
Pour informer le concepteur des actions exécutées avec une application TIA Portal Openness,
modifiez le code de programme suivant :
//Handles notifications
using (TiaPortal tiaPortal = new TiaPortal())
{
tiaPortal.Notification += Notification;
try
{
//perform actions that will result in a notification event
}
finally
{
tiaPortal.Notification -= Notification;
}
}
Introduction
Si vous avez démarré l'instance du TIA Portal sans interface utilisateur et que votre application
est le seul client TIA Portal Openness relié à TIA Portal, vous pouvez fermer cette instance du
TIA Portal via l'application TIA Portal Openness. Sinon, déconnectez l'application TIA Portal
Openness de l'instance du TIA Portal.
Remarque
Si un concepteur ferme l'instance du TIA Portal en dépit d'un accès en cours d'une application
TIA Portal Openness, une exception de la classe "NonRecoverableException" est déclenchée
lors du prochain accès dans l'application TIA Portal Openness. Vous pouvez vous abonner à
un événement Disposed afin de recevoir un appel lors de la fermeture de TIA Portal.
Code du programme
Pour couper la connexion au portail TIA ou y mettre fin, utilisez le code de programme suivant :
Voir aussi
Gestionnaire d'événements (Page 85)
Utilisation
Vous pouvez appeler certaines informations de diagnostic d'instances de TIA Portal en cours
d'exécution avec une méthode statique. L'interface de diagnostic est réalisée dans l'objet
TiaPortalProcess que vous pouvez appeler pour chaque instance TIA Portal en cours
d'exécution.
L'interface de diagnostic n'est pas bloquée. Vous pouvez donc accéder à l'objet
TiaPortalProcess ainsi qu'à ses membres et ce, que TIA Portal soit occupé ou non. L'interface
de diagnostic comprend les membres suivants :
Classe TiaPortalProcess
Classe TiaPortalSession
Enum TiaPortalAccessLevel
Enum TiaPortalTrustAuthority
Classe TiaPortalProduct
L'exemple de section de code suivant montre comment utiliser l'interface de diagnostic pour
interroger des informations et comment ensuite utiliser ces informations dans votre application.
Information de sécurité
Du fait que l'utilisation de l'interface de diagnostic ne nécessite aucune liaison à TIA Portal, il
est possible d'écrire un service Windows qui se sert de l'événement latéral pour vérifier toute
application qui essaie de s'attacher à TIA Portal. Ainsi, il est possible par ex. de définir que
seules les applications commençant par le nom de votre entreprise sont autorisées à
s'attacher. Une autre option pourrait consister à autoriser systématiquement l'accès mais à
écrire les informations sur les processus latéraux dans un journal. Le code de programme
suivant donne un exemple de gestionnaire d'événements pour vérifier des liaisons entrantes :
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Pour configurer un processus exclusif d'accès à un processus de TIA Portal attaché, la classe
"TIA Portal" propose la méthode "ExclusiveAccess(String text)". L'utilisation d'un accès
exclusif est fortement recommandée même si ce dernier n'est pas obligatoire.
Utilisez "ExclusiveAccess" dans une instruction "using" pour vous assurer que l'accès est
correctement terminé lorsque des exceptions se produisent ou l'application est arrêtée.
Remarque
Toute tentative visant à créer un deuxième accès exclusif dans l'étendue d'un accès exclusif
ouvert, entraîne le déclenchement d'une exception qui peut être restaurée.
...
[assembly: AssemblyTitle("MyApplication")]
// This will be used for the exclusive access dialog when present....
TiaPortal tiaPortal = ...;
using (ExclusiveAccess exclusiveAccess = tiaPortal.ExclusiveAccess("My Activity"))
{
...
}
Après la saisie d'une instance "ExclusiveAccess" pour un processus de TIA Portal donné, une
boîte de dialogue s'ouvre. Cette boîte de dialogue affiche le message prévu lors de
l'instanciation. En plus, les informations suivantes sur l'application Client sont également
affichées :
● le titre d'Assembly des données manifestes, s'il est disponible, ou le nom du processus
● l'ID du processus
● la SID (ID de session Openness de l'instance TIA Portal de l'application client)
Remarque
Plusieurs sessions peuvent être actives pour une application Client TIA Portal Openness
donnée parce qu'il existe plusieurs instances de TIA Portal, même si celles-ci sont attribuées
respectivement au même processus TIA Portal.
L'application Client peut également actualiser le contenu affiché dans la boîte de dialogue
d'accès exclusif en remplaçant les valeurs de l'attribut "Texte" par de nouvelles valeurs. Pour
obtenir ce comportement, modifiez le code de programme suivant :
exclusiveAccess = ...;
...
exclusiveAccess.Text = "My Activity Phase 1";
...
exclusiveAccess.Text = "My Activity Phase 2";
...
exclusiveAccess.Text = String.Empty; // or null;
...
Vous pouvez exiger l'annulation de l'accès exclusif à l'aide du bouton "Cancel"/"Annuler". Pour
obtenir ce comportement, modifiez le code de programme suivant :
exclusiveAccess = ...;
...
if (exclusiveAccess.IsCancellationRequested)
{
// stop your activity
...
}
else
{
// continue your activity
...
}
...
IEngineeringInstance
L'interface qui permet la navigation vers le haut dans le modèle d'objet.
Propriétés :
● IEngineeringObject Parent – objet de niveau supérieur à une instance.
IEngineeringCompositionOrObject
L'interface est implémentée par des objets d'ingénierie et des compositions.
IEngineeringObject
L'interface est implémentée par la majorité des objets disponibles pour l'utilisateur Openness.
L'interface IEngineeringObject est dérivée de IEngineeringCompositionOrObject et
IEngineeringInstance.
Méthodes :
● IList<EngineeringCreationInfo> GetCreationInfos(string compositionName) – appelle la
liste des informations de composition disponibles pour l'objet.
● IEngineeringObject Create(string compositionName, Type type,
IEnumerable<KeyValuePair<string, object>> parameters) – crée un IEngineeringObject du
type indiqué initialisé dans les paramètres avec des valeurs comme le compositionName
indiqué.
● object GetAttribute(string name) – appelle un attribut avec le nom indiqué.
● IList<EngineeringAttributeInfo> GetAttributeInfos() – fournit en retour une bibliothèque
d'objets EngineeringAttributeInfo qui décrivent les différents attributs de cet objet.
● IList<object> GetAttributes(IEnumerable<string> names) – appelle une liste d'attributs pour
les noms indiqués.
● IEngineeringCompositionOrObject GetComposition(string name) – appelle un
IEngineeringCompositionOrObject avec le nom indiqué.
● IList<EngineeringInvocationInfo> GetInvocationInfos() – fournit en retour une bibliothèque
d'objets EngineeringAttributeInfo qui décrivent les différentes actions pour cet objet.
● object Invoke(string name, IEnumerable<KeyValuePair<Type, object>> parameters) –
appelle la méthode représentée par l'instance actuelle en utilisant les paramètres indiqués.
● void SetAttribute(string name, object value) – définit un attribut avec le nom et la valeur
indiqués.
● void SetAttributes(IEnumerable<KeyValuePair<string, object>> attributes) – définit les
attributs avec les noms et les valeurs indiqués comme indiqué dans les attributs.
● EngineeringObjectHandle GetHandle() – appelle l'indicateur univoque de l'objet.
IEngineeringRoot
Cette interface est implémentée par des objets TiaPortal et indique que l'utilisateur se trouve
à l'objet de niveau le plus élevé dans la hiérarchie. IEngineeringRoot est dérivé de
IEngineeringObject, IEngineeringCompositionOrObject et IEngineeringInstance.
Méthodes :
● IEngineeringObject GetObject(EngineeringObjectHandle objectHandle) – appelle l'objet
depuis un indicateur.
IEngineeringComposition
L'interface est implémentée par la majorité des objets disponibles pour l'utilisateur Openness.
L'interface IEngineeringObject est dérivée de IEngineeringCompositionOrObject et
IEngineeringInstance. En plus des propriétés et méthodes décrites sous Travailler avec des
compositions (Page 99), les méthodes suivantes sont prises en charge.
Méthodes :
● IEngineeringObject Create(Type type, IEnumerable<KeyValuePair<string, object>>
parameters) – crée un IEngineeringObject du type indiqué initialisé avec des valeurs,
comme indiqué dans les paramètres.
● IList<EngineeringCreationInfo> GetCreationInfos() – appelle une bibliothèque d'objets
EngineeringCreateInfo qui décrivent les différentes CreateInfos pour cet objet.
● IList<EngineeringInvocationInfo> GetInvocationInfos() – fournit en retour une bibliothèque
d'objets EngineeringAttributeInfo qui décrivent les différentes actions pour cet objet.
● object Invoke(string name, IEnumerable<KeyValuePair<Type, object>> parameters) –
appelle la méthode représentée par l'instance actuelle en utilisant les paramètres indiqués.
IEngineeringObjectAssociation
Cette interface est implémentée par la bibliothèque d'objets d'ingénierie correspondants. Cette
interface est dérivée de IEngineeringAssociation et IEngineeringInstance. Voir Travailler avec
des affectations (Page 99)
IEngineeringServiceProvider
L'interface est implémentée par des objets d'ingénierie qui peuvent mettre à disposition des
services.
Méthodes :
● T GetService<T>() where T : class, IEngineeringService – appelle une instance du type T.
● IList<EngineeringServiceInfo> GetServiceInfos() – fournit en retour une bibliothèque
d'objets EngineeringServiceInfo qui décrivent les différents service pour cet objet.
IEngineeringService
L'interface représente un service d'ingénierie mis à disposition par
IEngineeringServiceProvider.
EngineeringObjectHandle
La structure qui fournit un indicateur d'objet univoque.
Voir aussi
Utilisation de compositions (Page 99)
Utilisation d'associations (Page 99)
Attributs
Les attributs suivants sont disponibles :
● int Count
● bool IsReadonly
● IEngineeringObject Parent
● retType this [ int index ] { get; }
Méthodes
TIA Portal Openness prend en charge les méthodes suivantes :
● int IndexOf ( type ) : fournit en retour l'index dans l'affectation pour une instance
transmise :
● bool Contains ( type ) : détermine si l'instance transmise est contenue dans
l'affectation.
● IEnumerator GetEnumerator <retType>() : est utilisé dans des boucles foreach et
permet d'accéder à un objet.
● void Add ( type )1 : ajoute l'instance transmise de l'affectation.
● void Remove ( type )1 : supprime l'instance transmise de l'affectation.
1
: n'est pas prise en charge par toutes les affectations.
Appel de compositions
Une composition est un cas particulier d'affectation Une composition exprime une relation
sémantique entre deux objets dont l'un est une partie de l'autre.
Attributs
Les attributs suivants sont disponibles :
● int Count
● bool IsReadonly
● IEngineeringObject Parent
● retType this [int index] {get;} : accède de manière indexée à un objet de la
composition.
Vous devez utiliser ce type d'accès de manière ciblée uniquement, car chaque accès
indexé dépasse les limites du processus.
Méthodes
TIA Portal Openness prend en charge les méthodes suivantes :
● retType Create (id, …) : crée une nouvelle instance et l'ajoute à la composition.
La signature de la méthode dépend du type de création de l'instance. Cette méthode n'est
pas prise en charge par toutes les compositions.
● type Find (id, …) : Recherche dans une composition l'instance ayant l'ID transmis.
La recherche n'est pas récursive. La signature de la méthode dépend du type de recherche
de l'instance. Cette méthode n'est pas prise en charge par toutes les compositions.
● IEnumerator GetEnumerator<retType> () : est utilisé dans des boucles foreach et
permet d'accéder à un objet.
● Delete (type)1 : supprime l'instance spécifiée par la référence d'objet actuelle.
● int IndexOf (type) : fournit en retour l'index dans la composition pour une instance
transmise.
● bool Contains (type) : détermine si l'instance transmise est contenue dans la
composition.
● void Import(string path, ImportOptions importOptions)1 : S'applique à
chaque composition comportant des types pouvant être importés.
Chaque signature d'importation contient un paramètre de configuration du type
"ImportOptions (Page 780)" ("None", "Overwrite") qui permet à l'utilisateur de commander
le comportement à l'importation.
1
: Pas prise en charge par toutes les compositions.
Utilisation
En tant qu'utilisateur d'une TIA Portal Openness API, vous pouvez vérifier la similitude des
objets à l'aide du code de programme :
● Vous vérifiez alors avec l'opérateur == si deux références d'objet sont identiques.
● La méthode System.Object.Equals() vous permet de vérifier si deux objets sont
réellement identiques en ce qui concerne le portail TIA.
Code du programme
Pour vérifier les types de référence d'objet, modifiez le code de programme suivant :
...
//Composition
DeviceComposition sameCompA = project.Devices;
DeviceComposition sameCompB = project.Devices;
if (sameCompA.Equals(sameCompB))
{
Console.WriteLine("sameCompA is equal to sameCompB");
}
if (!(sameCompA == sameCompB))
{
Console.WriteLine("sameCompA is not reference equal to sameCompB");
}
DeviceComposition sameCompAsA = sameCompA;
if (sameCompAsA.Equals(sameCompA))
{
Console.WriteLine("sameCompAsA is equal to sameCompA");
}
if (sameCompAsA == sameCompA)
{
Console.WriteLine("sameCompAsA is reference equal to sameCompA");
}
MultiLingualGraphicComposition notSameComp = project.Graphics;
if (!sameCompA.Equals(notSameComp))
{
Console.WriteLine("sameCompA is not equal to notSameComp");
}
Remarque
Les attributs dynamiques ne s'affichent pas dans IntelliSense car leur disponibilité dépend de
l'état de l'instance d'objet.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Opération
Une rémanence (projet, bibliothèque, etc.) ouverte au sein d'un processus TIA Portal
correspondant peut être modifiée par une application Client TIA Portal Openness. Vous
pouvez obtenir cette modification avec une opération unique ou une série d'opérations.
Pendant l'action, il est utile de regrouper ces opérations dans une seule pile Undo afin d'obtenir
un déroulement plus logique. En outre, regrouper des opérations dans une pile Undo unique
présente également des avantages en matière de performance. Pour aider à cela, la classe
"ExclusiveAccess" propose la méthode "Transaction(ITransactionSupport persistence, string
undoDescription)". L'appel depuis cette méthode entraîne l'instanciation d'un nouvel objet de
type "Transaction" qui peut être arrêté. Vous devez fournir la description du contenu de la
transaction (l'attribut Texte ne doit pas être nul ou vide). Tant que cette instance n'a pas été
terminée, toutes les opérations des applications Client sont regroupées dans une pile Undo
unique au sein du processus TIA Portal correspondant.
Pour saisir une instance de type "Transaction", modifiez le code de programme suivant :
Remarque
Utilisez une instruction "using" pour instancier une "Transaction". Cela vous permet d'assurer
que la transaction soit terminée correctement, même si des exceptions se produisent, et
d'annuler ainsi la transaction.
Si une exception se produit après cette requête, toutes les modifications apportées dans
l'étendue d'une transaction ouverte sont malgré tout annulées à la fin de la transaction.
Pour créer une pile Undo unique dans un processus TIA Portal attaché avec deux modifications
"Create", modifiez le code de programme suivant :
Restrictions
Les actions suivantes ne sont pas autorisées dans une transaction. L'appel de ces actions
entraîne une exception récupérables :
● Compile
● Go Online
● Go Offline
● ProjectText Import
● ProjectText Export
● Open Global Library
● Close Global Library
● Project Create
● Project Open
● Project OpenWithUpgrade
● Project Save
● Project SaveAs
● Project Close
Comportement Undo
Les actions exécutées par une application Client TIA Portal Openness peuvent entraîner des
piles Undo au sein du processus TIA Portal attaché. Chacune de ces entrées Undo est
regroupée sous une entrée locale. L'entrée locale est composée des informations suivantes
provenant de l'application Client :
● le titre d'Assembly des données manifestes, s'il est disponible, ou le nom du processus
● l'ID du processus
● la SID (ID de session Openness de l'instance TIA Portal de l'application client)
● un message indiquant que le processus Client est en cours d'exécution
2. Pour les opérations qui sont exécutées individuellement, il existe des entrées Undo
séparées pour la description de l'opération telle que définie dans la commande de
métadonnées correspondante.
– Entrée Undo pour une application Client en cours d'exécution :
Utilisation
Les instances des classes DirectoryInfo et FileInfo doivent contenir un chemin absolu.
Dans le cas contraire, les méthodes qui utilisent les objets DirectoryInfo ou FileInfo
provoquent une exception.
Code de programme
Pour créer un objet DirectoryInfo ou FileInfo, modifiez le code de programme suivant :
..
//Create a DirectoryInfo object
string directoryPath = @"D:\Test\Project 1";
DirectoryInfo directoryInfo = new DirectoryInfo(directoryPath);
Utilisation
Dans TIA Portal Openness, chaque IEngineeringServiceProvider de la TIA Portal Openness
API décrit ses capacités pour de potentiels appels.
Prise en charge de l'autodescription pour IEngineeringObject
Classe EngineeringCompositionInfo
Classe EngineeringAttributeInfo
Classe EngineeringInvocationInfo
Classe EngineeringServiceInfo
Enum AccessMode
Classe EngineeringInvocationParameterInfo
Classe EngineeringCreationInfo
Classe EngineeringCreationParameterInfo
Code de programme
AccessMode est une énumération de mémentos dont les valeurs peuvent être combinées
comme dans le code de programme suivant :
Pour rechercher tous les attributs d'un IEngineeringObject et apporter des modifications au
mode d'accès à ces derniers, modifiez le code de programme suivant :
...
IEngineeringObject engineeringObject = ...;
IList<EngineeringAttributeInfo> attributeInfos = engineeringObject.GetAttributeInfos();
foreach(EngineeringAttributeInfo attributeInfo in attributeInfos)
{
switch (attributeInfo.AccessMode)
{
case EngineeringAttributeAccessMode.Read:
...
break;
case EngineeringAttributeAccessMode.Write:
...
break;
case EngineeringAttributeAccessMode.Read|EngineeringAttributeAccessMode.Write:
...
break;
}
}
...
...
Project project = tiaPortal.Projects.Open(projectPath);
IEngineeringComposition deviceGroupComposition = project.DeviceGroups;
EngineeringCreationInfo deviceGroupCreationInfo = deviceGroupComposition.GetCreationInfos()
[0];
EngineeringCreationParameterInfo deviceGroupCreationParameterInfo =
deviceGroupCreationInfo.ParameterInfos[0];
string deviceGroupCreationParameterName = deviceGroupCreationParameterInfo.Name;
string groupName = "Example";
IDictionary<string, object> createParameters = new Dictionary<string, object>
{
{deviceGroupCreationParameterName, groupName }
};
IEngineeringObject group = deviceGroupComposition.Create(deviceGroupCreationInfo.Type,
createParameters);
...
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Le projet à ouvrir n'est ouvert dans aucune autre instance de TIA Portal.
Remarque
Annulation de la mise à niveau d'un projet
Si vous annulez la mise à niveau d'un projet à V14 SP1 après avoir relié ce projet à TIA Portal
Openness, des conflits se produisent.
Utilisation
Utilisez la méthode Projects.Open pour ouvrir un projet. Dans la
méthode Projects.Open, entrez un chemin pour le projet de votre choix.
La méthode Projects.Open ne peut accéder qu'aux projets qui ont été créés ou mis au
niveau à la version la plus récente de TIA Portal . Si vous accédez à un projet d'une version
précédente avec la méthode Projects.Open , vous obtiendrez une exception en retour.
Utilisez la méthode OpenWithUpgrade pour ouvrir les projets qui ont été créés avec une
version précédente de TIA Portal.
Remarque
Pas d'accès aux projets en lecture seule
TIA Portal Openness ne peut accéder qu'aux projets autorisant la lecture et l'écriture.
Code de programme
Pour ouvrir un projet, modifiez le code de programme suivant :
Code de programme
...
Siemens.Engineering.Project project = tiaPortal.Projects.Open(new
FileInfo(@"D:\Project_3\Project_2.apXX"), MyUmacDelegate);
if (project != null)
{
try
{
...
}
finally
{
project.Close();
}
}
...
private static void MyUmacDelegate(UmacCredentials umacCredentials)
{
SecureString password = ...; // Get password from a secure location
umacCredentials.Type = UmacUserType.Project;
umacCredentials.Name = "SomeUser";
umacCredentials.SetPassword(password);
}
...
}
Code de programme
Ouvrir des projets qui ont été créés avec une version précédente
Utilisez la méthode OpenWithUpgrade pour ouvrir un projet qui a été créé avec la version
précédente de TIA Portal. La méthode crée un nouveau projet actualisé et l'ouvre.
Si vous accédez à un projet créé avec une version plus ancienne, vous obtiendrez une
exception en retour.
Remarque
Si vous accédez à un projet créé avec la version la plus récente, le projet s'ouvre.
Code de programme
Modifiez le code de programme suivant pour ouvrir un projet avec la
méthode OpenWithUpgrade :
...
Siemens.Engineering.Project project = tiaPortal.Projects.OpenWithUpgrade(new
FileInfo(@"D:\Project_1\Project.apXX"), MyUmacDelegate);
...
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
Utilisation
La TIA Portal Openness API permet de créer des projets
● par appel de la méthode Create sur ProjectComposition
● par appel de la méthode Create sur IEngineeringComposition
ProjectComposition.Create
Modifiez le code de programme suivant :
Remarque
Paramètre targetDirectory
Le paramètre targetDirectory peut également représenter un chemin UNC (Universal Naming
Convention). Un projet peut donc également être créé sur un lecteur validé dans le réseau.
IEngineeringComposition.Create
Modifiez le code de programme suivant :
//allows the user to give optional create parameters like author, comment in addition to
mandatory create parameters (targetdirectory, projectname)
Paramètres pour la création d'un projet avec des attributs de projet optionnels
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Vous pouvez accéder à des paramètres généraux de TIA Portal à l'aide de TIA Portal
Openness :
● Langue actuelle de l'interface utilisateur
● Option "Rechercher dans le projet" pour créer l'index de recherche requis dans un projet
Le tableau ci-dessous donne les détails des paramètres accessibles dans la section "Général"
des paramètres de TIA Portal. L'instance TiaPortalSettingsFolder porte le nom
"Général".
7LD3RUWDO
6HWWLQJV)ROGHUV7LD3RUWDO6HWWLQJV)ROGHU&RPSRVLWLRQ
6HWWLQJV)ROGHUV
7LD3RUWDO6HWWLQJV)ROGHU&RPSRVLWLRQ
)ROGHUV
7LD3RUWDO6HWWLQJV)ROGHU
1DPH 6WULQJ
6HWWLQJV 7LD3RUWDO6HWWLQJ&RPSRVLWLRQ
)ROGHUV 7LD3RUWDO6HWWLQJV)ROGHU&RPSRVLWLRQ
6HWWLQJV
7LD3RUWDO6HWWLQJ&RPSRVLWLRQ
7LD3RUWDO6HWWLQJ
1DPH6WULQJ
9DOXH2EMHFW
if (((bool)searchSetting.Value))
{
searchSetting.Value = false;
}
}
TiaPortalSettingsFolder generalSettingsFolder =
tiaPortal.SettingsFolders.Find("General");
TiaPortalSetting UILanguageSetting =
generalSettingsFolder.Settings.Find("UserInterfaceLanguage");
if (((CultureInfo)UILanguageSetting.Value) != CultureInfo.GetCultureInfo("de-DE"))
{
UILanguageSetting .Value = CultureInfo.GetCultureInfo("de-DE");
}
Voir aussi
Ouvrir un projet (Page 109)
Condition
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Un projet est enregistré.
Voir Enregistrer le projet (Page 136)
Application
Avec TIA Portal Openness, vous pouvez archiver l'état du projet ouvert et enregistré avant
d'effectuer d'autres modifications et appeler plus tard le projet archivé.
Archiver un projet
Vous pouvez archiver un projet TIA Portal avec l'API TIA Openness disponible dans l'objet
Siemens.Engineering.Project .
'targetName' est le nom du fichier créé, indépendamment du fait qu'il soit ou non archivé. Ce
fichier peut comprendre ou non des extensions de fichier. Pour la valeur
ProjectArchivationMode comme Compressed et DiscardRestorableDataAndCompressed,, le
nom de fichier archivé est celui que vous avez indiqué. Si vous n'indiquez aucune extension
ou aucune extension autre que "zap15_1" et "zap14" etc., ce projet archivé ne peut pas être
appelé hors de l'API Openness de TIA Portal. SI vous ne sélectionnez ni Compressed, ni
DiscardRestorableDataAndCompressed, le résultat est la structure de fichiers standard d'un
projet de la version actuelle.
Remarque
Vous devez enregistrer le projet avant l'appel de l'API d'archivage. Si le projet contient des
modifications qui ne sont pas enregistrées, l'archivage fournit en retour une
EngineeringTargetInvocationException.
ProjectArchivationMode
L'énumération ProjectArchivationMode possède quatre valeurs.
ProjectArchivationMode Description
None ● Aucune action spéciale n'est exécutée avec les fichiers
originaux. Le mode ressemble à la procédure "Enregistrer
sous".
● Aucun fichier ZIP comprimé n'est créé dans ce mode.
● La différence par rapport à SaveAs réside dans ce cas
dans le fait que l'archive ne commute pas le lieu d'archi‐
vage persistant sur le nouveau dossier Archived contrai‐
rement à SaveAs.
DiscardRestorableData ● Lors de l'enregistrement de fichier, le projet est stocké
dans un fichier de données interne. La taille de ce fichier
augmente ensuite à chaque modification des données de
projet. En mode DiscardRestorableData, ce fichier de
données est réorganisé (seule la version la plus récente
des objets est alors enregistrée et l'historique est suppri‐
mé du fichier). Les données collectées entre temps, les
données du répertoire IM et du répertoire tmp ne sont pas
copiées dans le lieu de stockage de l'archive.
● Aucun fichier ZIP comprimé n'est créé dans ce mode.
Compressed ● La structure créée par le processus d'archivage du dos‐
sier de projet TMP est comprimée dans une archive com‐
patible ZIP. La structure de dossier TMP est supprimée
après la création du fichier ZIP.
DiscardRestorableDataAndCompressed ● Dans la structure créée par le processus d'archivage du
dossier de projet TMP, les données restaurables sont re‐
jetées et ensuite comprimées dans une archive compati‐
ble ZIP. La structure de dossier TMP est supprimée après
la création du fichier ZIP.
Modifiez le code de programme suivant pour accéder au projet archivé avec l'extension
'.archive' :
Remarque
Vous pouvez utiliser l'extension souhaitée. Le comportement de l'archive est identique, avec
ou sans extension.
Appeler un projet
Vous pouvez appeler un projet TIA Portal archivé via l'API Openness. L'appel n'est possible
qu'avec une archive comprimée. Pour les projets archivés avec
'ProjectArchivationMode.None' ou 'ProjectArchivationMode.DiscardRestorableData', la valeur
d'énumération ne peut pas être appelée par cette API. Cette API est disponible à l'objet
"Siemens.Engineering.ProjectComposition".
Pour l'appel d'un projet protégé UMAC, une API surchargée avec UmacDelegate est
disponible pour l'interrogation des données de connexion. Puis, la définition suivante est
utilisée :
Lors de l'appel, ProjectOpenMode est aussi pris en charge, pour lequel "Primary" ou
"Secondary" peut être indiqué. Puis, la définition API suivante est utilisée :
Remarque
UmacDelegate peut être transmis comme nul, si le projet n'est pas protégé.
Si le projet archivé provient d'une version ancienne de TIA Portal, vous devez appeler la
RetrieveWithUpgrade API, . Puis, la définition API suivante est utilisée :
Si le projet archivé provient d'une version ancienne de TIA Portal et qu'il est protégé UMAC,
une autre API surchargée est disponible avec UmacDelegate. Puis, la définition API suivante
est utilisée :
Si le projet archivé provient d'une version ancienne de TIA Portal et que le mode d'ouverture
du projet doit aussi être indiqué, la définition API suivante est utilisée :
Remarque
UmacDelegate peut être transmis comme nul, si le projet n'est pas protégé. SI le projet est
protégé, les données utilisateur d'un administrateur sont requises pour effectuer l'action
RetrieveWithUpgrade.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Enregistrer le projet (Page 136)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
À l'aide de TIA Portal Openness, certaines procédures peuvent être réalisées dans un projet
TIA Portal protégé en écriture. Vous pouvez accéder à un projet protégé en écriture, mais ne
pouvez pas utiliser l'ensemble des fonctionnalités dont dispose un utilisateur avec des droits
d'accès en lecture / écriture. Un utilisateur disposant uniquement de droits de lecture peut par
exemple ouvrir un projet avec protection UMAC via Openness comme décrit dans Ouverture
d'un projet (Page 109). Cette fonction n'est cependant pas valable pour des projets de
référence.
La liste des fonctions Openness dont vous disposez à l'accès à un projet protégé en écriture
est divisée en deux groupes : actions intégrées et actions actives non modifiées.
Fonctions intégrées
● GetAttribute(s) ou utilisation de la fonction d'appel pour un attribut quelconque d'un objet
quelconque
● GetComposition pour un objet accessible
● GetService pour un objet accessible
● Actions Find pour un objet accessible
● Navigation pour un objet accessible
● Détermination de la présence d'objets accessibles et accès à ces objets en associations et
affectations
● Méthodes System.Object pour un objet accessible
Actions actives sans modification
● Project.Close (...)
● PlcBlock.ShowInEditor ()
● CaxProvider.Export (Device,...)
● CaxProvider.Export (Project,...)
Voir aussi
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Dans TIA Portal, vous pouvez déterminer la langue du projet et la gérer dans l'éditeur "Langues
de projet".
TIA Portal Openness prend en charge l'accès suivant aux langues de projet :
● Itération par langues prises en charge
● Recherche dans le recueil de langues prises en charge à l'aide
de System.Globalization.CultureInfo
● Accès à certaines langues. Chaque objet langue contient un attribut unique en lecture
seule Culture du type System.Globalization.CultureInfo..
● Accès à un recueil de langues actives
● Recherche dans le recueil de langues actives à l'aide
de System.Globalization.CultureInfo
● Ajout d'une langue à un recueil de langues actives
● Suppression d'une langue d'un recueil de langues actives
● Choix d'une langue d'édition
● Choix d'une langue de référence
Ces fonctions sont mises à disposition par l'objet LanguageSettings. La figure ci-dessous
montre le modèle dans TIA Portal Openness :
3URMHFW
/DQJXDJH6HWWLQJV/DQJXDJH6HWWLQJV
/DQJXDJH6HWWLQJV
/DQJXDJH6HWWLQJV
(GLWLQJ/DQJXDJH/DQJXDJH
5HIHUHQFH/DQJXDJH/DQJXDJH
$FWLYH/DQJXDJHV/DQJXDJH$VVRFLDWLRQ $FWLYH/DQJXDJHV /DQJXDJHV
/DQJXDJHV/DQJXDJH&RPSRVLWLRQ
/DQJXDJH$VVRFLDWLRQ /DQJXDJH&RPSRVLWLRQ
/DQJXDJH
&XOWXUH,QIR&XOWXUHLQIR
Language supportedGermanLanguage =
supportedLanguages.Find(CultureInfo.GetCultureInfo("de-DE"));
activeLanguages.Add(supportedGermanLanguage);
languageSettings.EditingLanguage = supportedGermanLanguage;
languageSettings.ReferenceLanguage = supportedGermanLanguage;
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Vous avez ouvert un projet avec votre application TIA Portal Openness.
Voir Ouvrir un projet (Page 109)
Utilisation
Vous pouvez déterminer la structure de navigation de la hiérarchie d'objet à l'aide de
l'interface IEngineeringObject. Le résultat est retourné sous forme de liste :
● Objets inférieurs
● Compositions inférieures
● Tous les attributs
Signature
Utilisez la méthode GetAttributeInfos pour déterminer les attributs.
IList<EngineeringAttributeInfo>
IEngineeringObject.GetAttributeInfos();
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code du programme
Pour mettre à disposition un logiciel cible, modifiez le code de programme suivant :
SoftwareContainer softwareContainer =
((IEngineeringServiceProvider)deviceItem).GetService<SoftwareContainer>();
if (softwareContainer != null)
{
Software software = softwareContainer.Software;
}
SoftwareContainer softwareContainer =
((IEngineeringServiceProvider)deviceItem).GetService<SoftwareContainer>();
if (softwareContainer != null)
{
PlcSoftware software = softwareContainer.Software as PlcSoftware;
string name = software.Name;
}
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Des textes multilingues dans TIA Portal sont, par exemple, Project.Comment,
PlcTag.Comment, etc. Dans TIA Portal Openness, les textes multilingues sont représentés par
l'objet MultilingualText. Un objet MultilingualText se compose
de MultilingualTextItemComposition.
MultilingualTextItemComposition prend en charge la méthode Findsuivante :
● Find(<language:
Siemens.Engineering.Language>):MultilingualTextItem
Chaque MultilingualTextItem a les attributs suivants :
...
Language englishLanguage = project.LanguageSettings.Languages.Find(new CultureInfo("en-
US"));
MultilingualText comment = project.Comment;
MultilingualTextItemComposition mltItemComposition = comment.Items;
MultilingualTextItem englishComment = mltItemComposition.Find(englishLanguage);
englishComment.Text = "English comment";
...
...
var mltObject = device.GetAttribute("CommentML");
MultilingualText multilingualText = mltObject as MultilingualText;
if (multilingualText != null)
{
Language englishLanguage = project.LanguageSettings.Languages.Find(new
CultureInfo("en-US"));
MultilingualTextItem multilingualTextItem =
multilingualText.Items.Find(englishLanguage);
if (multilingualTextItem != null)
{
multilingualTextItem.Text = comment;
}
}
...
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
À l'aide de TIA Portal Openness, vous pouvez actualiser la propriété de projet "Prise en charge
de la simulation" afin de pouvoir créer des programmes API qui sont également utilisés dans
un automate SINUMERIK virtuel.
Openness prend en charge les attributs suivants qui permettent de lire/écrire la propriété "Prise
en charge de la simulation" d'un projet TIA Portal. L'API est disponible à l'objet
"Siemens.Engineering.Project".
Code de programme
Modifiez et utilisez le code de programme suivant pour lire/écrire la valeur d'attribut :
Voir aussi
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Cette fonction vous permet d'appeler des attributs liés au projet issus du TIA Portal Openness
API. Les informations fournies comprennent les attributs du projet, l'historique du projet et les
produits utilisés par le projet.
Attributs du projet
Les attributs du projet fournissent les informations suivantes :
Pour accéder aux attributs liés au projet, modifiez le code de programme suivant :
Historique du projet
L'historique du projet regroupe des objets du type HistoryEntry, qui contiennent les
informations suivantes :
Pour énumérer les HistoryEntries et accéder à leurs attributs, modifiez le code de programme
suivant :
Remarque
L'attribut Texte de HistoryEntry contient une chaîne de caractères dans la même langue
que l'interface utilisateur. Lorsqu'une application TIA Portal Openness est attachée à un TIA
Portal sans interface utilisateur, la chaîne de caractères est fournie en anglais par défaut.
Produits utilisés
L'objet UsedProduct contient les informations suivantes :
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code du programme
Pour supprimer une bibliothèque de graphiques, modifiez le code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Tous les appareils sont "hors ligne".
Utilisation
L'interface API prend en charge la compilation d'appareils et de blocs de programme. Le
résultat de la compilation est retourné en tant qu'objet. Selon le type d'objet, la compilation HW,
SW ou HW/SW est mise à disposition. Les types d'objet suivants sont pris en charge :
● Device - HW & SW
– Device avec CPU de de sécurité - SW avec activation de la sécurité désactivée
● DeviceItem - HW
● CodeBlock - SW
● DataBlock - SW
● HmiTarget - SW
● PlcSoftware - SW
● PlcType - SW
● PlcBlockSystemGroup - SW
● PlcBlockUserGroup - SW
● PlcTypeSystemGroup - SW
● PlcTypeUserGroup - SW
Remarque
Format de l'horodatage
Tous les horodatages sont en UTC. Si vous souhaitez afficher l'heure locale, vous pouvez
utiliser DateTime.ToLocalTime().
Signature
Pour la compilation, utilisez la méthode ICompilable.
ICompilable compileService =
iEngineeringServiceProvider.GetService<ICompilable>();
CompilerResult result = compileService.Compile();
Remarque
Tous les appareils doivent être "hors ligne" avant le début de la compilation.
Code de programme
Pour compiler les modifications logicielles d'un objet de type HmiTarget, modifiez le code de
programme suivant :
Pour compiler les modifications logicielles d'un objet de type PlcSoftware, modifiez le code
de programme suivant :
Pour compiler les modifications logicielles d'un objet de type CodeBlock, modifiez le code de
programme suivant :
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Enregistrer un projet
● Utilisez la méthode Save() pour enregistrer un projet.
● Utilisez la méthode SaveAs() pour enregistrer un projet sous un autre nom ou dans un
autre répertoire.
Code du programme
Pour ouvrir et enregistrer un projet, modifiez le code de programme suivant :
Modifiez le code de programme suivant pour enregistrer un projet sous un autre nom ou dans
un autre répertoire.
...
TiaPortal portal = new TiaPortal(TiaPortalMode.WithUserInterface);
FileInfo fileInfoExistingProject = new FileInfo(@"D:\SampleProjects
\SampleProject.apXX");
DirectoryInfo dirInfoSaveAsProject = new DirectoryInfo(@"D:\SampleProjects
\SampleProjectSaveAs");
Project sampleProject = portal.Projects.Open(fileInfoExistingProject );
sampleProject.SaveAs(dirInfoSaveAsProject);
...
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Vous avez ouvert un projet avec votre application TIA Portal Openness.
Voir Ouvrir un projet (Page 109)
Code du programme
Pour fermer un projet, modifiez le code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Ouvrir un projet (Page 109)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Les attributs d'une interconnexion de ports se trouvent dans l'élément d'appareil port. L'accès
en lecture et en écriture des attributs avec TIA Portal Openness est identique à celui dans
l'interface utilisateur.
Paramètres du port
Les attributs suivants sont disponibles pour paramétrer l'interface du port :
Valeur Description
MediumAttachmentType.None Type de couplage impossible à déterminer.
MediumAttachmentType.Copper Couplage cuivre.
MediumAttachmentType.FibreOp Couplage fibre optique.
tic
Valeur Description
CableName.None Aucun nom de câble indiqué
CableName.FO_Standard_Cable_9 Câble standard FO GP (9 µm)
CableName.Flexible_FO_Cable_9 Câble FO souple (9 µm)
CableName.FO_Standard_Cable_GP_50 Câble standard FO GP (50 µm)
CableName.FO_Trailing_Cable_GP Câble traînant FO / GP
CableName.FO_Ground_Cable Conducteur de terre FO
CableName.FO_Standard_Cable_62_5 Câble standard FO (62,5 µm)
CableName.Flexible_FO_Cable_62_5 Câble FO souple (62,5 µm)
CableName.POF_Standard_Cable_GP Câble standard POF GP
CableName.POF_Trailing_Cable Câble traînant POF
CableName.PCF_Standard_Cable_GP Câble standard POF GP
CableName.PCF_Trailing_Cable_GP Câble traînant PCF / GP
CableName.GI_POF_Standard_Cable Câble standard POF GI
CableName.GI_POF_Trailing_Cable Câble traînanr POF GI
CableName.GI_PCF_Standard_Cable Câble standard PCF GI
CableName.GI_PCF_Trailing_Cable Câble traînant PCF GI
Valeur Description
SignalDelaySelection.None
SignalDelaySelection.CableLength CableLength sert à déterminer le retard du signal.
SignalDelaySelection.SignalDelayTime CableDelayTime sert à déterminer le retard du si‐
gnal.
Valeur Description
CableLength.None La longueur de câble n'est pas indiquée
CableLength.Length20m Longueur de câble 20 m.
Valeur Description
CableLength.Length50m Longueur de câble 50 m.
CableLength.Length100m Longueur de câble 100 m.
CableLength.Length1000m Longueur de câble 1000 m.
CableLength.Length3000m Longueur de câble 3000 m.
Options de port
Les attributs suivants sont disponibles pour les options de port :
Valeur Description
TransmissionRateAndDuplex.None
TransmissionRateAndDuplex.Automatic Automatique
TransmissionRateAndDuplex.AUI10Mbps AUI 10 Mbps
TransmissionRateAndDuplex.TP10MbpsHa TP 10 Mbps semi-duplex
lfDuplex
TransmissionRateAndDuplex.TP10MbpsFu TP 10 Mbps duplex intégral
llDuplex
TransmissionRateAndDuplex.AsyncFiber Fibre optique asynchrone 10 Mbps semi-duplex
10MbpsHalfDuplex
TransmissionRateAndDuplex.AsyncFiber Fibre optique asynchrone 10 Mbps duplex intégral
10MbpsFullDuplex
TransmissionRateAndDuplex.TP100MbpsH TP 100 Mbps semi-duplex
alfDuplex
TransmissionRateAndDuplex.TP100MbpsF TP 100 Mbps duplex intégral
ullDuplex
TransmissionRateAndDuplex.FO100MbpsF FO 100 Mbps duplex intégral
ullDuplex
TransmissionRateAndDuplex.X1000MbpsF X1000 Mbps duplex intégral
ullDuplex
TransmissionRateAndDuplex.FO1000Mbps FO 1000 Mbps duplex intégral LD
FullDuplexLD
Valeur Description
TransmissionRateAndDuplex.FO1000Mbps FO 1000 Mbps duplex intégral
FullDuplex
TransmissionRateAndDuplex.TP1000Mbps TP 1000 Mbps duplex intégral
FullDuplex
TransmissionRateAndDuplex.FO10000Mbp FO 10000 Mbps duplex intégral
sFullDuplex
TransmissionRateAndDuplex.FO100MbpsF FO 100 Mbps duplex intégral LD
ullDuplexLD
TransmissionRateAndDuplex.POFPCF100M POF/PCF 100 Mbps duplex intégral
bpsFullDuplex
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Conditions requises
● L'application TIA Portal Openness est reliée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
Utilisation
Il existe trois types de bibliothèques globales.
● Bibliothèque système globale (Siemens.Engineering.Library.SystemGlobalLibrary) : Ces
bibliothèques globales font partie de l'installation de TIA Portal et utilisent l'extension de
fichier *.asx. Toutes les bibliothèques système globales sont protégées en écriture.
● Bibliothèque d'entreprise globale (Siemens.Engineering.Library.CorporateGlobalLibrary) :
il s'agit de bibliothèques globales qui ont été sélectionnées par l'administrateur et qui sont
chargées préalablement au démarrage de TIA Portal. Toutes les bibliothèques d'entreprise
globales sont protégées en écriture.
● Bibliothèque utilisateur globale (Siemens.Engineering.Library.UserGlobalLibrary) : il s'agit
de bibliothèques globales qui ont été créées par l'utilisateur de TIA Portal. Les bibliothèques
d'entreprise globales peuvent être protégées en écriture ou accessibles avec des droits en
lecture et en écriture.
Si une bibliothèque utilisateur globale est déjà ouverte dans un mode donné, elle ne peut
pas être ouverte dans un autre mode.
Les bibliothèques utilisateur globales des versions précédentes ne peuvent être ouvertes
qu'en mode protégé en écriture.
En plus, les bibliothèques globales ouvertes avec TIA Portal Openness sont ajoutées au
recueil des bibliothèques globales de l'interface utilisateur TIA Portal et affichées dans
l'interface dans TIA Portal tant que celle-ci est présente.
Attributs de GlobalLibrary
Attributs de GlobalLibraryInfo
Voir aussi
Accéder aux dossiers dans une bibliothèque (Page 154)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Une bibliothèque est ouverte.
Voir Ouvrir des bibliothèques (Page 146)
Application
Vous pouvez accéder aux langues de la bibliothèque globale et les gérer à l'aide du navigateur
pour les paramètres de la langue.
TIA Portal Openness prend en charge l'accès suivant aux langues de la bibliothèque globale :
● Recherche itérative dans les langues prises en charge
● Recherche dans la collection de langues prises en charge à l'aide
de System.Globalization.CultureInfo
● Accès à certaines langues. Chaque objet Langue contient un attribut unique en lecture
seule Culture du type System.Globalization.CultureInfo.
Remarque
Si vous ajoutez des langues à la bibliothèque globale ou modifiez les langues qu'elle contient,
les langues des versions publiées de la bibliothèque globale ne sont pas modifiées. Cela est
également valable pour la mise à jour des langues de la bibliothèque globale via l'interface
utilisateur (éditeur de langue) ou le navigateur pour les paramètres de langue
(LanguageSettings).
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Vous avez ouvert un projet avec votre application TIA Portal Openness. Cette condition
s'applique uniquement à l'accès aux bibliothèques de projet.
Voir Ouvrir un projet (Page 109)
Utilisation
Vous pouvez ouvrir une bibliothèque globale via System.IO.FileInfo par le biais d'un chemin
d'accès au fichier de bibliothèque sur un support d'enregistrement local ou un dispositif de
stockage réseau. Seules les bibliothèques utilisateur globales peuvent être ouvertes par le
biais d'un chemin d'accès. Vous ne pouvez pas utiliser le chemin d'accès d'une bibliothèque
système globale ou d'une bibliothèque d'entreprise globale pour ouvrir une bibliothèque.
A partir de V14 SP1, GlobalLibraryInfo permet d'ouvrir des bibliothèques globales. OpenMode
est indiquée dans GlobalLibraryInfo.
Vous pouvez mettre à niveau une bibliothèque utilisateur globale issue d'une version
antérieure de TIA Portal et l'ouvrir avec la version actuelle de TIA Portal. Une mise à niveau ne
permet pas d'ouvrir une bibliothèque globale issue de V13 ou d'une version antérieure. Ces
bibliothèques doivent d'abord être mises à jour à V13 SP1.
En plus, les bibliothèques globales ouvertes avec TIA Portal Openness sont ajoutées au
recueil des bibliothèques globales de TIA Portal et affichées dans l'interface utilisateur de TIA
Portal.
OpenMode
Valeur Description
ReadOnly Accès en écriture à la bibliothèque.
ReadWrite Accès en lecture et écriture à la bibliothèque.
Condition requise
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
Utilisation
Vous pouvez énumérer toutes les bibliothèques globales ouvertes dans TIA Portal, qu'elles
aient été ouvertes via l'API ou l'interface utilisateur.
Les bibliothèques globales issues de versions antérieures de TIA Portal ne sont pas
énumérées lorsqu'elles sont ouvertes avec accès en écriture.
Code du programme
Pour énumérer les bibliothèques globales, modifiez le code de programme suivant :
Voir aussi
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Une bibliothèque est ouverte.
Voir Ouvrir des bibliothèques (Page 146)
Application
Vous pouvez fermer ou enregistrer des bibliothèques utilisateur globales. Toutes les
modifications apportées à la bibliothèque globale ne sont pas enregistrées automatiquement.
Toutes les modifications non enregistrées sont rejetées sans invite utilisateur lorsqu'une
bibliothèque globale est fermée.
Vous ne pouvez fermer ou enregistrer des bibliothèques système globales ni des bibliothèques
d'entreprise globales.
Pour enregistrer et fermer une bibliothèque globale :
● Utilisez la méthode Save ( ) pour l'enregistrement d'une bibliothèque utilisateur globale.
● Utilisez la méthode SaveAs ( ) si vous souhaitez enregistrer une bibliothèque utilisateur
globale dans un autre répertoire.
● Utilisez la méthode Close ( ) pour fermer une bibliothèque utilisateur globale.
Les jetons Feature pour SaveAs () sont :
● Public API : Nécessaire pour toutes les Features publiques
● DenyIfTransaction : Nécessaire, car SaveAs ne peut pas être autorisé dans une
transaction, car il n'est pas restaurable.
Code de programme
Modifiez le code de programme suivant pour enregistrer une bibliothèque utilisateur globale :
Modifiez le code de programme suivant pour enregistrer une bibliothèque utilisateur globale à
un autre endroit :
Remarque
La robustesse de la bibliothèque est modifiée après l'opération SaveAs. C'est pourquoi la
bibliothèque nouvellement enregistrée est disponible dans la carte de bibliothèque après
l'exécution de SaveAs. Cependant, la bibliothèque d'origine avec laquelle l'opération SaveAs
a été effectuée n'est plus disponible. La bibliothèque nouvellement enregistrée a le même
mode que la bibliothèque d'origine, pour laquelle SaveAs a été effectué. Cela signifie que la
bibliothèque nouvellement enregistrée peut aussi être ouverte dans le chemin cible en mode
ReadOnly, lorsque la bibliothèque présente a été ouverte en mode ReadOnly. Il en va de même
pour le mode ReadWrite.
Modifiez le code de programme suivant pour fermer une bibliothèque utilisateur globale :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Une bibliothèque est ouverte.
Voir Ouvrir des bibliothèques (Page 146)
● Une bibliothèque est enregistrée.
Voir Enregistrer et fermer les bibliothèques (Page 148)
Application
Une bibliothèque ouverte et enregistrée peut être archivée avant que d'autres modifications y
soient apportées. De cette manière, vous évitez des modifications involontaires et vous pouvez
récupérer la bibliothèque archivée ultérieurement. Vous pouvez également partager le fichier
archivé sans problème dans le réseau.
Archiver la bibliothèque
Vous pouvez archiver une bibliothèque utilisateur globale par le biais de l'interface TIA Portal
Openness API. L'API est disponible à l'objet "Siemens.Engineering.UserGlobalLibrary".
'targetName' est alors le nom du fichier créé pour les bibliothèques archivées ou non archivées.
Ce fichier peut comprendre ou non des extensions de fichier. Si vous n'indiquez aucune
extension de fichier ou une extension de fichier autre que "zalx" ou "zal14" etc., le fichier
archivé ne peut pas être appelé en dehors de l'Openness API à partir de TIA Portal.
Si la valeur indiquée pour LibraryArchivationMode est Compressed et
DiscardRestorableDataAndCompressed, le nom du fichier archivé est identique au nom que
vous avez indiqué. Si LibraryArchivationMode a la valeur None et DiscardRestorableData,
Remarque
Vous devez enregistrer la bibliothèque avant l'appel de l'API Archive. Si la bibliothèque contient
des modifications non enregistrées, l'archive émet une
EngineeringTargetInvocationException.
LibraryArchivation‐ Description
Mode
Sans ● Aucune action spéciale n'est exécutée avec les fichiers originaux. Le mode ressemble à la pro‐
cédure "Enregistrer sous".
● Aucun fichier ZIP comprimé n'est créé dans ce mode.
● La différence par rapport à SaveAs réside dans ce cas dans le fait que l'archive ne commute pas
le lieu d'archivage persistent sur le nouveau dossier Archived contrairement à SaveAs.
DiscardRestorable‐ ● Pour l'enregistrement de fichier, la bibliothèque est stockée dans un fichier de données interne. La
Data taille de ce fichier augmente ensuite à chaque modification de la bibliothèque. En mode Discar‐
dRestorableData, ce fichier de données est réorganisé (seule la version la plus récente des objets
est alors enregistrée et l'historique est supprimé du fichier). Les données collectées entre-temps,
les données du répertoire IM et du répertoire tmp (voir la structure des répertoires de bibliothèque)
ne sont pas copiées dans le lieu de stockage de l'archive.
● Aucun fichier ZIP comprimé n'est créé dans ce mode.
Compressed La structure créée par le processus d'archivage du dossier de bibliothèque TMP est comprimée dans
une archive compatible ZIP. La structure de dossier TMP est supprimée après la création du fichier
ZIP.
DiscardRestorable‐ La structure créée par le processus d'archivage du dossier de bibliothèque TMP rejette les données
DataAndCompres‐ restaurables et est ensuite comprimée dans une archive compatible ZIP. La structure de dossier TMP
sed est supprimée après la création du fichier ZIP.
Appeler la bibliothèque
Vous pouvez appeler une bibliothèque TIA Portal archivée par le biais de l'interface TIA Portal
Openness API. L'appel n'est possible qu'avec une archive comprimée. L'API est disponible à
l'objet "Siemens.Engineering.GlobalLibraryComposition".
Remarque
Il n'est pas possible d'appeler des bibliothèques archivées avec les valeurs d'énumération
'LibraryArchivationMode.None' ou 'LibraryArchivationMode.DiscardRestorableData'.
public Siemens.Engineering.Library.UserGlobalLibrary
RetrieveWithUpgrade(System.IO.FileInfo sourcePath, System.IO.DirectoryInfo
targetDirectory, Siemens.Engineering.OpenMode openMode)
Mode d'ouverture
L'énumération OpenMode présente deux valeurs :
OpenMode Description
ReadMode ● Accès en lecture à la bibliothèque. Les données peuvent être lues à partir de la bibliothèque.
ReadWrite ● Accès en écriture à la bibliothèque. Les données peuvent être écrites dans la bibliothèque.
//Please adapt the path and the extension zalx to the installed version of TIA Portal
var archivePath = @"E:\Archive\Sample1.zalx";
var retrievedLibraryDirectory = @"E:\RetrievedLibraries";
var tiaPortal = new TiaPortal(TiaPortalMode.WithoutUserInterface);
tiaPortal.GlobalLibraries.Retrieve(new FileInfo(archivePath), new
DirectoryInfo(retrievedLibraryDirectory), OpenMode.ReadWrite));
Voir aussi
Ouvrir des bibliothèques (Page 146)
Enregistrer et fermer les bibliothèques (Page 148)
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
Utilisation
La TIA Portal Openness API permet de créer des bibliothèques globales par appel de la
méthode Create sur GlobalLibraryComposition. Une bibliothèque utilisateur globale est
affichée.
GlobalLibraryComposition.Create
Modifiez le code de programme suivant :
Voir aussi
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Vous avez ouvert un projet avec votre application TIA Portal Openness.
Voir Ouvrir un projet (Page 109)
● Vous avez accès à la bibliothèque requise.
Voir Accès aux bibliothèques globales (Page 142).
Utilisation
L'interface TIA Portal Openness API vous permet d'accéder aux dossiers système pour les
types et copies maîtres dans une bibliothèque. Vous pouvez alors accéder aux types, versions
de types, copies maîtres et dossiers personnalisés dans le dossier système.
La méthode Find, par ex.
libTypeUserFolder.Folders.Find("SomeUserFolder");, vous permet d'accéder à
tout moment à un dossier personnalisé.
Pour accéder au dossier système pour les copies maîtres dans une bibliothèque, modifiez le
code de programme suivant :
...
LibraryTypeUserFolderComposition userFolderComposition = ...
LibraryTypeUserFolder userFolder = userFolderComposition.Find("Name of user folder");
...
Pour énumérer les sous-dossiers personnalisés dans un dossier système pour des copies
maîtres, modifiez le code de programme suivant :
Pour énumérer les sous-dossiers personnalisés dans un dossier personnalisé pour des types,
modifiez le code de programme suivant :
Pour énumérer les sous-dossiers personnalisés dans un dossier personnalisé pour des copies
maîtres, modifiez le code de programme suivant :
Pour créer un dossier personnalisé pour des copies maîtres, modifiez le code de programme
suivant :
var typeUserFolder =
project.ProjectLibrary.TypeFolder.Folders.Find("SampleTypeUserFolderName");
typeUserFolder.Name = "NewTypeUserFolderName";
Pour créer un dossier personnalisé pour des copies maîtres, modifiez le code de programme
suivant :
var masterCopyUserFolder =
project.ProjectLibrary.MasterCopyFolder.Folders.Find("SampleMasterCopyUserFolderName");
masterCopyUserFolder.Name = "NewMasterCopyUserFolderName";
var masterCopyUserFolder =
ProjectLibrary.MasterCopyFolder.Folders.Find("SampleMasterCopyUserFolderName");
masterCopyUserFolder.SetAttributes(new[] {new KeyValuePair<string,object>("Name",
"NewMasterCopyUserFolderName")});
Voir aussi
Accéder à des modèles de copie (Page 168)
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Vous avez ouvert un projet avec votre application TIA Portal Openness.
Voir Ouvrir un projet (Page 109)
● Vous avez accès à la bibliothèque requise.
Voir Accès aux bibliothèques globales (Page 142).
● Vous avez accès à un groupe pour les types.
Voir Accéder aux dossiers dans une bibliothèque (Page 154).
Utilisation
Vous pouvez accéder aux types d'une bibliothèque par le biais de l'interface TIA Portal
Openness API.
● Vous pouvez énumérer les types.
● Vous pouvez renommer les types.
● Vous pouvez accéder aux attributs suivants des différents types :
● Siemens.Engineering.Hmi.Screen.ScreenLibraryType
● Siemens.Engineering.Hmi.Screen.ScreenLibraryTypeVersion
● Siemens.Engineering.Hmi.Screen.StyleLibraryType
● Siemens.Engineering.Hmi.Screen.StyleLibraryTypeVersion
● Siemens.Engineering.Hmi.Screen.StyleSheetLibraryTypeVersion
● Siemens.Engineering.Hmi.Tag.HmiUdtLibraryType
● Siemens.Engineering.Hmi.Tag.HmiUdtLibraryTypeVersion
● Siemens.Engineering.SW.Blocks.CodeBlockLibraryType
● Siemens.Engineering.SW.Blocks.CodeBlockLibraryTypeVersion
● Siemens.Engineering.SW.Types.PlcTypeLibraryType
● Siemens.Engineering.SW.Types.PlcTypeLibraryTypeVersion
Le code suivant est un exemple d'utilisation de sous-classes pour types de bibliothèques.
Code du programme
Pour énumérer tous les types dans le dossier système d'une bibliothèque, modifiez le code de
programme suivant :
Pour énumérer tous les types dans le dossier personnalisé d'une bibliothèque, modifiez le code
de programme suivant :
Pour accéder aux attributs d'un type, modifiez le code de programme suivant :
Pour trouver un type précis par son nom ou son GUID, modifiez le code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Vous avez ouvert un projet avec votre application TIA Portal Openness.
Voir Ouvrir un projet (Page 109)
● Vous avez accès à la bibliothèque requise.
Voir Accès aux bibliothèques globales (Page 142).
● Vous avez accès à un groupe pour types.
Voir Accéder aux dossiers dans une bibliothèque (Page 154).
Utilisation
L'interface TIA Portal Openness API vous donne accès aux versions de type.
● Vous pouvez énumérer les versions d'un type.
● Vous pouvez déterminer le type auquel une version appartient.
● Vous pouvez énumérer les instances d'une version de type.
● Vous pouvez créer une nouvelle instance d'une version de type.
● Vous pouvez naviguer d'une instance vers la version d'objet reliée à celle-ci.
● Vous pouvez accéder aux attributs suivants des différentes versions de type :
//Using the CreateFrom method to create an instance of the version in the VBScripts
composition
VBScript newScript = vbscripts.CreateFrom(scriptVersion);
//Using the CreateFrom method to create an instance of the version in the screens
composition
Screen newScreen = screens.CreateFrom(screenVersion);
//Using the CreateFrom method to create an instance of the version in the blocks composition
PlcBlock newBlock = blocks.CreateFrom(blockVersion);
PlcTypeLibraryTypeVersion plcTypVersione=...;
PlcTypeComposition types=...;
//Using the CreateFrom method to create an instance of the version in the types composition
PlcType newType = types.CreateFrom(plcTypeVersion);
Une liste contenant des objets du type LibraryTypeVersion est fournie en retour pour les
deux attributs. Si aucune utilisation n'existe, une chaîne vide est fournie en retour.
Remarque
Une exception peut être déclenchée si vous appliquez ces attributs aux versions de type avec
l'état "InWork".
Code de programme
Pour déterminer le type auquel appartient une version de type, modifiez le code de programme
suivant :
Pour déterminer les copies maîtres contenant des instances d'une version de type, modifiez le
code de programme suivant :
Pour trouver une version de type précise par son numéro de version, modifiez le code de
programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
Vous pouvez appeler avec TIA Portal Openness la version depuis l'objet de bibliothèque, sans
instancier ou compiler l'objet.
La nouvelle action d'exportation suivante est mise à disposition dans l'objet d'ingénierie
LibraryTypeVersion pour l'exportation du contenu de version.
L'action crée le fichier XML exporté à la version indiquée avec exportFileInfo.
Attributs ReadPublicationLevel
LibraryTypeName System
LibraryTypeGuid System
Remarque
Cela s'avère nécessaire car sans cette information, il ne serait pas possible de savoir
clairement à quel type correspond la version exportée (d'après la version dans le fichier XML
exporté).
Contenu exporté
Le contenu suivant est affiché dans le fichier exporté :
● Version exportée de la bibliothèque
Attributs SimaticMLAAccess
Author ReadWrite
Guid ReadOnly
Modified Data ReadOnly
VersionNumber ReadWrite
LibraryTypeName ReadOnly
Library TypeGuid ReadOnly
Navigateurs exportés :
● Comment
Remarque
Les attributs avec SimaticMLAccess protégé en écriture sont exportés uniquement si vous
sélectionnez l'option d'exportation "ExportOptions.WithReadOnly".
Code de programme
Modifiez le code de programme suivant pour exporter la version du contenu exporté :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Vous avez ouvert un projet avec votre application TIA Portal Openness.
Voir Ouvrir un projet (Page 109)
● Vous avez accès à la bibliothèque requise.
Voir Accès aux bibliothèques globales (Page 142).
● Vous avez accès à un groupe pour types.
Voir Accéder aux dossiers dans une bibliothèque (Page 154).
Utilisation
L'interface TIA Portal Openness API vous donne accès aux instances de versions de type.
Vous pouvez déterminer toutes les instances d'une version de type par la méthode
FindInstances(IInstanceSearchScope searchScope).
Le paramètre searchScope vous permet d'indiquer le champ de recherche au sein du projet.
Les classes suivantes implémentent l'interface IInstanceSearchScope et peuvent être
utilisées pour la recherche d'instances :
● PlcSoftware
● HmiTarget
Cette méthode fournit en retour une liste comprenant des objets du type
LibraryTypeInstanceInfo. Si aucune instance n'existe, une chaîne vide est fournie en
retour.
Remarque
Les instances des blocs d'affichage et des types de données utilisateur HMI sont toujours
associées à la version de type correspondante.
Les instances de tous les autres objets tels que les blocs de programme ou les vues peuvent
être associées à une version de type.
if(searchScope==null)
{
//No search possible
}
FC fc = ...;
//Using LibraryTypeInstanceInfo service
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Vous avez accès à la bibliothèque requise.
Voir Accès aux bibliothèques globales (Page 142)
● Vous avez accès à un groupe pour les copies maîtres.
Voir Accéder aux dossiers dans une bibliothèque (Page 154)
Utilisation
L'interface TIA Portal Openness API prend en charge l'accès aux copies maîtres dans une
bibliothèque globale et la bibliothèque de projet :
● Créer des copies maîtres
● Enumérer des copies maîtres dans des dossiers système et des dossiers personnalisés
● Renommer des copies maîtres
● Interroger les informations des copies maîtres
● Interroger les informations des objets dans une copie maître
Code du programme
Pour énumérer toutes les copies maître dans le dossier système d'une bibliothèque, modifiez
le code de programme suivant :
Pour accéder à une copie maître individuelle par la méthode "Find", modifiez le code de
programme suivant :
...
MasterCopySystemFolder systemFolder = projectLibrary.MasterCopyFolder;
MasterCopyComposition mastercopies = systemFolder.MasterCopies;
MasterCopy masterCopy = mastercopies.Find("Copy of ...");
...
Pour énumérer les groupes et sous-groupes des copies maîtres, modifiez le code de
programme suivant :
...
MasterCopyUserFolderComposition userFolderComposition = ...
MasterCopyUserFolder userFolder = userFolderComposition.Find("Name of user folder");
...
//Using ContentDescriptions
MasterCopyContentDescriptionComposition masterCopyContentDescriptions =
multiObjectMasterCopy.ContentDescriptions;
MasterCopyContentDescription contentDescription= masterCopyContentDescriptions.First();
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Lorsqu'il s'agit d'une bibliothèque en lecture/écriture, vous pouvez créer une copie maître issue
d'une IMasterCopySource sur l'emplacement cible.
MasterCopy
MasterCopyComposition.Create(Siemens.Engineering.Library.MasterCopies.IMasterCopySource
sourceObject);
Code du programme
Utilisez le code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API n'est pas en ligne.
Utilisation
L'interface TIA Portal Openness API prend en charge l'utilisation de copies maîtres dans le
projet. Avec la méthode CreateFrom, vous pouvez créer un objet dans la composition de l'objet
issu d'une copie maître dans une bibliothèque du projet ou une bibliothèque globale.
Le type fourni correspond à celui de la composition respective.
La méthode CreateFrom ne prend en charge que les copies maîtres contenant des objets
isolés. Quand la composition dans laquelle l'action est appelée et la copie maître source sont
incompatibles (par ex. quand la copie maître source contient une table de variables API et que
la composition est celle d'un bloc API), une exception récupérable est lancée.
Les compositions suivantes sont prises en charge :
● Siemens.Engineering.HW.DeviceComposition
● Siemens.Engineering.HW.DeviceItemComposition
● Siemens.Engineering.SW.Blocks.PlcBlockComposition
● Siemens.Engineering.SW.Tags.PlcTagTableComposition
● Siemens.Engineering.SW.Tags.PlcTagComposition
● Siemens.Engineering.SW.Types.PlcTypeComposition
● Siemens.Engineering.SW.TechnologicalObjects.TechnologicalInstanceDBComposition
● Siemens.Engineering.SW.Tags.PlcUserConstantComposition
● Siemens.Engineering.Hmi.Tag.TagTableComposition
● Siemens.Engineering.Hmi.Tag.TagComposition
● Siemens.Engineering.Hmi.Screen.ScreenComposition
● Siemens.Engineering.Hmi.Screen.ScreenTemplateComposition
● Siemens.Engineering.Hmi.RuntimeScripting.VBScriptComposition
● Siemens.Engineering.HW.SubnetComposition
● Siemens.Engineering.HW.DeviceUserGroupComposition
● Siemens.Engineering.SW.Blocks.PlcBlockUserGroupComposition
● Siemens.Engineering.SW.ExternalSources.PlcExternalSourceUserGroupComposition
● Siemens.Engineering.SW.Tags.PlcTagTableUserGroupComposition
● Siemens.Engineering.SW.Types.PlcTypeUserGroupComposition
Voir aussi
Accéder à des modèles de copie (Page 168)
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
L'interface TIA Portal Openness API prend en charge la copie de copies maître au sein d'une
même bibliothèque et d'une bibliothèque vers une autre à l'aide de l'action CreateFrom.
L'action crée un nouvel objet sur la base de la copie maître source et le place dans la
composition là où l'action a été appelée. L'action essaie de créer la nouvelle copie maître sous
un nom identique à celui de la copie maître source. Lorsque ce nom n'est pas disponible, le
système attribue un nouveau nom à la nouvelle copie maître. Ensuite, il affiche la copie maître.
Lorsque la composition dans laquelle l'action "CreateFrom" est appelée se trouve dans une
bibliothèque globale protégée en écriture, une exception récupérable est déclenchée.
Code de programme
Modifiez le code de programme suivant :
MasterCopy copiedMasterCopy =
projectLibrary.MasterCopyFolder.MasterCopies.CreateFrom(sampleMasterCopy)
Voir aussi
Accéder à des modèles de copie (Page 168)
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Vous avez accès à la bibliothèque requise.
Voir Accès aux bibliothèques globales (Page 142)
● Vous avez accès à un dossier pour les types.
Voir Accéder aux dossiers dans une bibliothèque (Page 154).
Utilisation
L'interface TIA Portal OpennessAPI prend en charge la détermination des versions de types
faisant partie des instances dans le projet ouvert. L'interface TIA Portal OpennessAPI fournit
l'un des deux états suivants pour chaque instance :
● L'instance se rapporte à une version de type obsolète.
● L'instance se rapporte à la version de type actuelle.
Les règles applicables pour la détermination de version sont les suivantes :
● La détermination de version est basée sur une bibliothèque et le projet que vous souhaitez
ouvrir via l'interface TIA Portal OpennessAPI.
● Aucune instance n'est actualisée dans le cadre de la détermination de version.
Signature
Vous pouvez déterminer les instances d'une version de type par la méthode UpdateCheck :
UpdateCheck(Project project, UpdateCheckMode updateCheckMode)
Paramètres Fonction
Project Définit le projet dans lequel les versions de types des instances sont déter‐
minées.
UpdateCheckMode Indique les versions qui sont déterminées :
● ReportOutOfDateOnly : fournit en retour seulement l'état de type
"obsolète".
● ReportOutOfDateAndUpToDate :
fournit en retour l'état des types "obsolète" et "actuel" :
Résultat
Lors de la détermination de version, les appareils du projet sont interrogés de haut en bas. La
présence d'une instance d'une version de type issue de la bibliothèque indiquée dans les
données de configuration de l'appareil est contrôlée pour chaque appareil. La
méthode UpdateCheck fournit le résultat de la vérification de version selon un ordre
hiérarchique.
Le tableau ci-après montre le résultat d'une vérification de version avec le paramètre
UpdateCheck.ReportOutOfDateAndUpToDate:
Code du programme
Il n'existe aucune différence entre les bibliothèques de projet et les bibliothèques globales
concernant la manipulation du contrôle de la mise jour.
Pour déterminer les versions de type d'une bibliothèque globale ou d'une bibliothèque de projet
pour les instances dans le projet, modifiez le code de programme suivant :
//Alternatively, check for out of date instances and report both out of date and up to
date instances in the returned feedback
UpdateCheckResult alternateResult = library.UpdateCheck(project,
UpdateCheckMode.ReportOutOfDateAndUpToDate);
//Show result
RecursivelyWriteMessages(result.Messages);
Pour afficher le résultat de la détermination de version et parcourir les messages un par un,
modifiez le code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Vous avez ouvert un projet avec votre application TIA Portal Openness.
Voir Ouvrir un projet (Page 109)
● Vous avez accès à la bibliothèque requise.
Voir Accès aux bibliothèques globales (Page 142).
● Vous avez accès à un dossier pour types.
Voir Accéder aux dossiers dans une bibliothèque (Page 154).
Utilisation
L'interface TIA Portal Openness API vous permet de mettre à jour des instances d'un type
sélectionné dans un dossier de types d'un projet.
Lors de l'actualisation, les instances utilisées dans le projet sont actualisées sur la base de la
dernière version de type validée. Si vous actualisez les instances d'une bibliothèque globale,
une synchronisation est d'abord exécutée.
Signature
Utilisez la méthode UpdateProject pour actualiser des instances.
Pour les classes implémentant l'interface LibraryTypes, utilisez l'appel suivant :
void UpdateProject(IUpdateProjectScope updateProjectScope)
Pour les classes implémentant l'interface ILibrary, utilisez l'appel suivant :
void UpdateProject(IEnumerable<ILibraryTypeOrFolderSelection>
selectedTypesOrFolders, IEnumerable <IUpdateProjectScope>
updateProjectScope)
Chaque appel est entré dans le fichier-journal du répertoire de projet.
Paramètre Fonction
IEnumerable<ILibraryTypeOrFolderSele Indique les dossiers ou types devant être synchro‐
ction> selectedTypesOrFolders nisés ou dont les instances doivent être actuali‐
sées dans le projet.
IUpdateProjectScope Indique dans le projet les objets dans lesquels les
updateProjectScope utilisations des instances sont actualisées. Les ob‐
IEnumerable <IUpdateProjectScope> jets suivants sont pris en charge :
updateProjectScope ● PlcSoftware
● HmiTarget
Code de programme
Pour actualiser les instances de types sélectionnés dans un dossier de types, modifiez le code
de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Vous avez ouvert un projet avec votre application TIA Portal Openness.
Voir Ouvrir un projet (Page 109)
● Vous avez accès à la bibliothèque requise.
Voir Accès aux bibliothèques globales (Page 142).
● Vous avez accès à un dossier pour types.
Voir Accéder aux dossiers dans une bibliothèque (Page 154).
Utilisation
L'interface TIA Portal Openness API prend en charge les actualisations suivantes dans la
bibliothèque de projet :
● Synchronisation des types sélectionnés entre les bibliothèques.
La structure des dossiers n'est pas adaptée lors de la synchronisation. Les types à actualiser
sont déterminés et actualisés à l'aide de leur GUID :
● Si un type d'une bibliothèque comporte une version de type manquant dans la bibliothèque
devant être actualisée, la version de type est copiée.
● L'opération est annulée et une Exception est émise, si un type d'une bibliothèque comporte
une version de type avec différents GUID.
Signature
Pour synchroniser les versions de type, utilisez la méthode UpdateLibrary.
Pour les classes implémentant l'interface LibraryTypes, utilisez l'appel suivant :
void UpdateLibrary(ILibrary targetLibrary)
Pour les classes implémentant l'interface ILibrary, utilisez l'appel suivant :
void UpdateLibrary(IEnumerable<LibraryTypeOrFolderSelection>
selectedTypesOrFolders, ILibrary targetLibrary)
Paramètre Fonction
IEnumerable<ILibraryTypeOrFolderSele Indique les dossiers ou types devant être synchro‐
ction> selectedTypesOrFolders nisés ou dont les instances doivent être actuali‐
sées dans le projet.
ILibrary targetLibrary Indique la bibliothèque dont le contenu doit être
synchronisé avec une bibliothèque.
Si la bibliothèque source et la bibliothèque cible
sont identiques, une exception est lancée.
Code de programme
Pour synchroniser un type d'une bibliothèque de projet avec une bibliothèque globale, modifiez
le code de programme suivant :
sourceType.UpdateLibrary(projectLibrary);
Pour synchroniser des types sélectionnés dans un dossier de types entre une bibliothèque
globale et la bibliothèque de projet, modifiez le code de programme suivant :
globalLibrary.UpdateLibrary(new[]{globalLibrary.TypeFolder}, projectLibrary);
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Vous avez ouvert un projet avec votre application TIA Portal Openness.
Voir Ouvrir un projet (Page 109)
● Vous avez accès à la bibliothèque requise.
Voir Accès aux bibliothèques globales (Page 142).
● Vous avez accès à un dossier pour les types.
Voir Accéder aux dossiers dans une bibliothèque (Page 154).
Utilisation
L'interface TIA Portal Openness API vous permet de supprimer les contenus suivants dans la
bibliothèque du projet :
● Types
● Version de type
● Dossiers personnalisés pour types
● Copies maître
● Dossiers personnalisés pour copies maître
Remarque
Suppression de types et de dossiers avec des types personnalisés
Si vous souhaitez supprimer un type ou un dossier avec des types personnalisés, les "Règles
de suppression de versions" doivent être respectées. Vous pouvez supprimer un dossier de
type vide à tout moment.
Remarque
Règles de suppression de versions
Seules les versions au statut "Committed" peuvent être supprimées. Pour la suppression de
versions, les règles à respecter sont les suivantes :
● Si vous venez de créer une version au statut "InWork" depuis une version au statut
"Committed", vous ne pouvez supprimer la version au statut "Committed" que lorsque la
nouvelle version est annulée ou obtient le statut "Committed".
● Si un type ne possède qu'une seule version, le type est également supprimé.
● Si la version A dépend de la version B d'un autre type, supprimez d'abord la version A, puis
la version B.
● Si des instances de la version A existent, vous ne pouvez supprimer la version A que si vous
supprimez également les instances. De plus, si une instance se trouve dans une copie
maître, celle-ci est également supprimée.
Code du programme
Pour supprimer des types ou des dossiers avec des types personnalisés, modifiez le code de
programme suivant :
Pour supprimer un type ou dossier avec des types personnalisés en particulier, modifiez le
code de programme suivant :
Pour supprimer une copie maître ou un dossier avec des copies maîtres personnalisées,
modifiez le code de programme suivant :
Voir aussi
Accéder à des modèles de copie (Page 168)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Vous pouvez ouvrir l'éditeur "Appareils & réseaux" avec l'interface API grâce à l'une des deux
méthodes suivantes :
● ShowHwEditor(View.Topology ou View.Network ou View.Device) : Ouvre
l'éditeur "Appareils & Réseaux" depuis le projet.
● ShowInEditor(View.Topology ou View.Network ou View.Device) : Affiche
l'appareil indiqué dans l'éditeur "Appareils & Réseaux".
Le paramètre View vous permet de définir la vue qui est affichée lors de l'ouverture de
l'éditeur :
● View.Topology
● View.Network
● View.Device
Code du programme
Pour ouvrir l'éditeur "Appareils & Réseaux", modifiez le code de programme suivant :
Pour ouvrir l'éditeur "Appareils & Réseaux" pour un appareil, modifiez le code de programme
suivant :
Voir aussi
Importation de données de configuration (Page 780)
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Vous pouvez définir si un logiciel de base peut être utilisé comme PLC Target (PlcSoftware) ou
HMI Target dans la TIA Portal Openness API.
// Returns PlcSoftware
private PlcSoftware GetPlcSoftware(Device device)
{
DeviceItemComposition deviceItemComposition = device.DeviceItems;
foreach (DeviceItem deviceItem in deviceItemComposition)
{
SoftwareContainer softwareContainer = deviceItem.GetService<SoftwareContainer>();
if (softwareContainer != null)
{
Software softwareBase = softwareContainer.Software;
PlcSoftware plcSoftware = softwareBase as PlcSoftware;
return plcSoftware;
}
}
return null;
}
Voir aussi
Énumérer des appareils (Page 236)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API est hors ligne pour l'accès en écriture.
Utilisation
L'interface TIA Portal Openness API vous permet d'appeler ou de déterminer des attributs de
l'objet adresse.
En outre, vous pouvez affecter la mémoire image actuelle à un OB.
Restrictions
● Attribut StartAddress
– Déterminer StartAddress peut modifier implicitement la StartAddress du type d'E/
S opposé dans le module nom. La modification de l'adresse d'entrée modifie l'adresse
de sortie.
– L'accès en écriture n'est pas pris en charge pour tous les appareils.
– Les adresses comprimées ne sont pas prises en charge dans TIA Portal Openness.
– Les variables affectées ne sont pas recâblées par une modification de l'adresse avec
TIA Portal Openness.
● Attribut InterruptObNumber
– Accessible uniquement dans les paramétrages avec contrôleurs S7-300 ou S7-400.
L'accès en écriture est pris en charge pour les contrôleurs S7-400.
// read attribute
bool attributeValue = (bool)address.GetAttribute("IsochronousMode");
// write attribute
address.SetAttribute("IsochronousMode", true);
Pour accéder à l'attribut ProcessImage d'un objet adresse, modifiez le code de programme
suivant :
// read attribute
int attributeValue = (int)address.GetAttribute("ProcessImage");
// write attribute
address.SetAttribute("ProcessImage", 7);
// read attribute
long attributeValue = (long)address.GetAttribute("InterrruptObNumber");
// write attribute
address.SetAttribute("InterrruptObNumber", 42L);
//default value = 40
Pour accéder à l'attribut StartAddress d'un objet adresse, modifiez le code de programme
suivant :
// read attribute
int attributeValue = (int)address.GetAttribute("StartAddress");
// write attribute
address.StartAddress = IntValueStartAddress;
OB obX =…
Address address= ...;
address.SetAttribute("ProcessImage", 5);
try
{
address.AssignProcessImageToOrganizationBlock(obX);
} catch(RecoverableException e) {
Console.WriteLine(e.Message);
}
try
{
address.AssignProcessImageToOrganizationBlock(null);
} catch(RecoverableException e) {
Console.WriteLine(e.Message);
}
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Les modules d'entrées-sorties tels que les modules d'entrées analogiques comportent
normalement plusieurs voies par module. Habituellement, ces voies offrent plusieurs fonctions
simultanées, par exemple un module d'entrées analogiques à quatre voies peut mesurer
quatre valeurs de tension en même temps.
Pour appeler toutes les voies d'un module, on utilise l'attribut de voie d'un élément d'appareil.
Types de voie
Valeur Description
ChannelType.None Type de voie non valable.
ChannelType.Analog Type de voie analogique.
ChannelType.Digital Type de voie TOR.
ChannelType.Technology Type de voie technologique.
Types ES de voie
Valeur Description
ChannelIOType.None Type ES de voie non valable.
ChannelIOType.Input Une voie d'entrée.
ChannelIOType.Output Une voie de sortie.
ChannelIOType.Complex Types ES complexes, par ex. pour voies technologiques.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Il y a deux manières différentes de créer des sous-réseaux :
● Création d'un sous-réseau qui est relié à une interface : le type de l'interface pour laquelle
le sous-réseau est créé détermine alors le type du sous-réseau.
● Création d'un sous-réseau qui n'est pas relié à une interface.
Code de programme : créer un sous-réseau qui n'est pas relié à une interface
Pour créer un sous-réseau, modifiez le code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Pour plusieurs caractéristiques relatives aux sous-réseaux, par ex. pour leur affecter des
interfaces, vous devez appeler des sous-réseaux dans le projet. Normalement, les sous-
réseaux sont réunis directement au niveau du projet.
Types de réseau
Valeur Description
NetType.Unknown Le type du réseau est inconnu.
NetType.Ethernet Le type du réseau est Ethernet.
NetType.Profibus Le type du réseau est Profibus.
NetType.Mpi Le type du réseau est MPI.
NetType.ProfibusIntegrated Le type du réseau est Profibus intégré.
NetType.Asi Le type du réseau est ASi.
NetType.PcInternal Le type du réseau est PC interne.
NetType.Ptp Le type du réseau est PtP.
NetType.Link Le type du réseau est Link.
NetType.Wan Le type du réseau est Wide Area Network.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Quand un élément d'appareil peut former un sous-réseau, il dispose de la fonction
supplémentaire "Propriétaire de sous-réseau". Pour accéder à cette fonction supplémentaire,
il faut utiliser un certain service de l'élément d'appareil.
SubnetOwner subnetOwner =
((IEngineeringServiceProvider)deviceItem).GetService<SubnetOwner>();
if (subnetOwner != null)
{
// work with the role
}
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
L'attribut TypeIdentifier est utilisé pour identifier un sous-réseau. TypeIdentifier est
une chaîne de caractères composée de plusieurs
parties : <TypeIdentifierType>:<SystemIdentifier>
Les valeurs possibles pour TypeIdentifierType sont :
● System
SystemIdentifier
Code de programme
Pour appeler l'identifiant de type des objets pour GSD que l'utilisateur peut créer séparément
et gérer, modifiez le code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Un sous-réseau possède certains attributs obligatoires pouvant être lus et/ou écrits. Les
attributs ne sont disponibles que s'ils sont visibles dans l'interface utilisateur. En règle
générale, l'opération d'écriture n'est autorisée que sur un attribut que l'utilisateur peut
également modifier dans l'UI. Cela peut varier en fonction du type de sous-réseau. L'utilisateur
ne peut définir DpCycleTime que si IsochronousMode est vrai et
DpCycleMinTimeAutoCalculation est faux.
Code de programme
Pour appeler ou définir les attributs d'un sous-réseau, modifiez le code de programme suivant :
subnet.Name = "NewName";
subnet.SetAttribute("Name", "NewName");
Débit en bauds
Valeur Description
BaudRate.None Le débit en bauds est inconnu.
BaudRate.Baud9600 9,6 kBaud
BaudRate.Baud19200 19,2 kBaud
BaudRate.Baud45450 45,45 kBaud
BaudRate.Baud93700 93,75 kBaud
BaudRate.Baud187500 187,5 kBaud
BaudRate.Baud500000 500 bauds
BaudRate.Baud1500000 1,5 MBaud
BaudRate.Baud3000000 3 MBaud
BaudRate.Baud6000000 6 MBaud
BaudRate.Baud12000000 12 MBaud
Profils de bus
Valeur Description
BusProfile.None Le profil du bus est inconnu.
BusProfile.DP Le type du réseau est DP.
BusProfile.Standard Le type du réseau est Standard.
BusProfile.Universal Le type du réseau est Universal.
BusProfile.UserDefined Le type du réseau est personnalisé.
Valeur Description
CommunicationLoad.None Aucune charge de communication valide.
CommunicationLoad.Low Typique pour la DP, pas de communication de données im‐
portante en dehors de la DP.
Valeur Description
CommunicationLoad.Medium Typique pour l'exploitation mixte de la DP et d'autres services
de communication (p. ex. communication S7), si les exigences
de la DP en matière de temps sont élevées et que le volume de
communication acyclique est moyen.
CommunicationLoad.High Pour l'exploitation mixte de la DP et d'autres services de com‐
munication (p. ex. communication S7), si les exigences de la
DP en matière de temps sont faibles et que le volume de com‐
munication acyclique est élevé.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code de programme
Pour supprimer un sous-réseau global d'un projet, modifiez le code de programme suivant :
// delete subnet
Subnet subnetToDelete = ...;
subnetToDelete.Delete();
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Énumeration de tous les abonnés d'un sous-réseau
Code de programme
Pour énumérer les réseaux maître DP du sous-réseau, modifiez le code de programme
suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
L'énumération de IoSystem fournit tous les réseaux IO qui se trouvent dans le sous-réseau. Le
système maître et le réseau IO sont représentés tous deux par la classe IoSystem.
Code de programme
Pour énumérer les réseaux maître DP du sous-réseau, modifiez le code de programme
suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
L'interface de rôle agrège les abonnés : Pour accéder aux attributs qui sont liés à l'affectation
d'adresse et de sous-réseau d'une interface.
Le nom d'un abonné s'affiche dans les attributs d'une interface dans TIA Portal. L'identifiant
d'abonné est un identifiant unique pour chaque abonné répertorié sur une interface. Cette
valeur ne peut s'afficher qu'avec TIA Portal Openness.
Code de programme
Pour accéder à tous les abonnés d'une interface, modifiez le code de programme suivant :
La plupart des interfaces n'ont qu'un seul abonné, c'est pourquoi le premier abonné est utilisé
normalement.
Les abonnés mettent à disposition leur nom, type et ID d'abonné en tant qu'attributs :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Un élément d'appareil possède certains attributs obligatoires pouvant être lus et/ou écrits. Les
attributs ne sont disponibles que s'ils sont visibles dans l'interface utilisateur. En règle
générale, l'opération d'écriture n'est autorisée que sur un attribut que l'utilisateur peut
également modifier dans l'UI. Cela peut varier en fonction du type d'élément d'appareil.
L'utilisateur ne peut définir RouterAddress que si RouterUsed est vrai. Si l'utilisateur modifie le
SubnetMask sur le contrôleur IO, le masque de sous-réseau est également modifié à la même
valeur sur tous les périphériques IO.
Sélection de protocole
Valeur Description
IpProtocolSelection.None Valeur d'erreur
IpProtocolSelection.Project Suite IP configurée dans le projet.
IpProtocolSelection.Dhcp Suite IP gérée à l'aide du protocole DHCP. ID du client DHCP
nécessaire.
IpProtocolSelection.UserProgram Suite IP définie à l'aide d'un FB (bloc fonctionnel).
IpProtocolSelection.OtherPath Suite IP définie par d'autres méthodes, par exemple PST Tool.
IpProtocolSelection.ViaIoController Suite IP définie à l'aide du contrôleur IO au Runtime.
Type de réseau
Valeur Description
NetType.Asi Il s'agit d'un réseau de type ASI.
NetType.Ethernet Il s'agit d'un réseau de type Ethernet.
NetType.Link Il s'agit d'un réseau de type Link.
NetType.Mpi Il s'agit d'un réseau de type MPI.
NetType.PcInternal Il s'agit d'un réseau de type PC Internal.
NetType.Profibus Il s'agit d'un réseau de type PROFIBUS.
NetType.ProfibusIntegrated Il s'agit d'un réseau du type PROFIBUS integrated.
NetType.Ptp Il s'agit d'un réseau de type PTP.
NetType.Wan Il s'agit d'un réseau de type Wide Area Network (WAN).
NetType.Unknown Le type de réseau est inconnu.
Condition
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code du programme
Pour affecter un abonné (appareil, interface) à un réseau, modifiez le code de programme
suivant :
Condition
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code du programme
Pour déconnecter un abonné (appareil, interface) d'un réseau, modifiez le code de programme
suivant :
Condition
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Pour créer un réseau IO, appelez une action IoController.CreateIoSystem("name") sur un objet
du type IoController. Lorsque name a zéro comme valeur ou String.Empty, c'est le nom par
défaut qui est utilisé. Le contrôleur IO est détecté lors de l'accès à l'objet de l'attribut
IoControllers sur NetworkInterface. Le navigateur de l'IoController retourne un objet
IoController.
Conditions préalables à la création d'un réseau IO :
● L'interface du contrôleur IO est reliée à un sous-réseau.
● Le contrôleur IO ne possède aucun réseau IO.
Code du programme
Pour créer un réseau IO, modifiez le code de programme suivant :
using System.Linq;
...
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Le système maître et le réseau IO sont représentés tous deux par la classe IoSystem.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Utilisez l'action ConnectToIoSystem(IoSystem ioSystem) de IoConnector pour relier un
IoConnector Profinet ou DP à un réseau IO existant.
Utilisez l'action GetIoController pour naviguer jusqu'au IoController décentralisé. Pour plus
d'informations sur la navigation vers l'IoConnector local et le réseau IO, voir Appeler le système
maître ou le réseau IO d'une interface (Page 211).
Conditions
● IoConnector n'est pas encore relié à un réseau IO.
● L'interface IoConnector est reliée au même sous-réseau que l'interface de l'IoController
souhaité.
Code de programme
Modifiez le code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Le service NetworkInterface fournit au navigateur des IoControllers et chaque IoController
fournit à son tour un IoSystem au navigateur. Le système maître et le réseau IO sont
représentés tous deux par la classe IoSystem. L'esclave et le périphérique IO sont dénommés
tous deux "périphérique IO".
● Le navigateur du IoControllers retourne des objets d'IoController quand l'interface de
réseau peut avoir un réseau IO. Pour l'instant, seul un contrôleur IO est retourné.
● Le navigateur du IoConnectors retourne des objets d'IoConnector quand l'interface de
réseau peut être reliée à un réseau IO en tant que périphérique IO. Pour l'instant, seul un
connecteur IO est retourné.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code de programme
Actuellement, seules des configurations avec un IoController sont possibles. Un IoController
ne dispose pas d'attributs modélisés ni d'actions.
Code de programme
Pour appeler le contrôleur IO, modifiez le code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Un IoConnector fournit les attributs ou les actions modélisés.
Les attributs et les actions suivants sont disponibles sur l'IoConnector :
Actions
Gauche
Code de programme
Pour appeler le connecteur IO, modifiez le code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Utilisez l'action DisconnectFromIoSystem() de IoConnector pour déconnecter un IoConnector
d'un réseau IO existant ou d'un réseau maître DP existant.
Pour plus d'informations sur la navigation vers l'IoConnector local et le réseau IO, voir Appeler
le système maître ou le réseau IO d'une interface (Page 211).
Code de programme
Modifiez le code de programme suivant :
ioConnector.DisconnectFromIoSystem();
Condition
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Un réseau maître DP possède certains attributs pouvant être lus et/ou écrits. Les attributs ne
sont disponibles que s'ils sont visibles dans l'IU. En règle générale, l'opération d'écriture n'est
autorisée que sur un attribut que l'utilisateur peut également modifier dans l'UI. Cela peut varier
en fonction du maître DP et des esclaves DP qui sont attribués à ce réseau maître DP.
dpMastersystem.Name ="myDpMastersystem"
dpMastersystem.Number=42;
Condition
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Un réseau IO possède certains attributs pouvant être lus et/ou écrits. Les attributs ne sont
disponibles que s'ils sont visibles dans l'IU. En règle générale, l'opération d'écriture n'est
autorisée que sur un attribut que l'utilisateur peut également modifier dans l'UI. Cela peut varier
en fonction du contrôleur IO et des périphériques IO qui sont attribués à ce réseau IO.
Condition
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
ioSystem.Delete();
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code de programme
Pour supprimer un réseau Profinet IO, modifiez le code de programme suivant :
Condition
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Pour créer un réseau maître DP, appelez une action CreateIoSystem(string nameOfIoSystem)
sur un objet du type IoController. Le contrôleur IO est détecté lors de l'accès à l'objet de l'attribut
IoControllers sur la NetworkInterface.
Conditions préalables à la création d'un réseau maître DP :
● L'interface du contrôleur IO est reliée à un sous-réseau.
● Le contrôleur IO ne possède aucun réseau IO.
Code du programme
Pour créer un réseau maître DP, modifiez le code de programme suivant :
using System.Linq;
...
NetworkInterface interface = ...;
IoSystem dpMasterSystem = null;
7.14.25 Appeler les informations de lien des ports de l'élément d'appareil du port
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
NetworkPort offre la liaison ConnectedPorts, qui est une énumération de ports, permettant
d'accéder à tous les ports partenaires connectés à un port.
Vous ne pouvez connecter ensemble que des ports pouvant également être connectés dans
TIA UI. Par exemple, vous ne pouvez pas connecter ensemble deux ports d'une même
interface Ethernet. Une exception récupérable est déclenchée dans les situations suivantes :
● une connexion avec le même port partenaire existe déjà,
● vous essayez de connecter deux ports qui ne peuvent pas être connectés ensemble,
● vous essayez de créer une deuxième connexion vers un port qui ne prend pas en charge
d'autres partenaires.
Valeur Description
MediumAttachmentType.None Type de couplage impossible à déterminer.
MediumAttachmentType.Copper Couplage cuivre.
MediumAttachmentType.FiberOptic Couplage fibre optique.
Valeur Description
CableName.None Aucun nom de câble indiqué
CableName.FO_Standard_Cable_9 Câble standard FO GP (9 µm)
CableName.Flexible_FO_Cable_9 Câble FO souple (9 µm)
CableName.FO_Standard_Cable_GP_50 Câble standard FO GP (50 µm)
CableName.FO_Trailing_Cable_GP Câble traînant FO / GP
CableName.FO_Ground_Cable Câble de mise à la terre FO
CableName.FO_Standard_Cable_62_5 Câble standard FO (62,5 µm)
CableName.Flexible_FO_Cable_62_5 Câble FO souple (62,5 µm)
CableName.POF_Standard_Cable_GP Câble standard POF GP
CableName.POF_Trailing_Cable Câble traînant POF
CableName.PCF_Standard_Cable_GP Câble traînant PCF / GP
CableName.GI_POF_Standard_Cable Câble standard POF GI
CableName.GI_POF_Trailing_Cable Câble traînant POF GI
CableName.GI_PCF_Standard_Cable Câble standard PCF GI
CableName.GI_PCF_Trailing_Cable Câble traînant PCF GI
CableName.GI_POF_Standard_Cable Câble standard POF GI
CableName.GI_POF_Trailing_Cable Câble traînant POF GI
CableName.GI_PCF_Standard_Cable Câble standard PCF GI
CableName.GI_PCF_Trailing_Cable Câble traînant PCF GI
Valeur Description
SignalDelaySelection.None
SignalDelaySelection.CableLength CableLength sert à déterminer le retard de signal.
SignalDelaySelection.SignalDelayTime CableDelayTime sert à déterminer le retard de si‐
gnal.
Valeur Description
CableLength.None La longueur de câble n'est pas indiquée.
CableLength.Length20m Longueur de câble 20 m.
CableLength.Length50m Longueur de câble 50 m.
CableLength.Length100m Longueur de câble 100 m.
CableLength.Length1000m Longueur de câble 1 000 m.
CableLength.Length3000m Longueur de câble 3 000 m.
Valeur Description
TransmissionRateAndDuplex.None
TransmissionRateAndDuplex.Automatic Automatique
TransmissionRateAndDuplex.AUI10Mbps AUI 10 Mbps
TransmissionRateAndDuplex.TP10MbpsHalfDu‐ TP 10 Mbps semi-duplex
plex
TransmissionRateAndDuplex.TP10MbpsFullDu‐ TP 10 Mbps duplex intégral
plex
TransmissionRateAndDuplex.AsyncFi‐ Fibre optique asynchrone 10 Mbps semi-duplex
ber10MbpsHalfDuplex
TransmissionRateAndDuplex.AsyncFi‐ Fibre optique asynchrone 10 Mbps duplex intégral
ber10MbpsFullDuplex
TransmissionRateAndDuplex.TP100MbpsHalfDu‐ TP 100 Mbps semi-duplex
plex
TransmissionRateAndDuplex.TP100MbpsFullDu‐ TP 100 Mbps duplex intégral
plex
TransmissionRateAndDuplex.FO100MbpsFullDu‐ FO 100 Mbps duplex intégral
plex
TransmissionRateAndDuplex.X1000MbpsFullDu‐ X1000 Mbps duplex intégral
plex
TransmissionRateAndDuplex.FO1000MbpsFull‐ FO 1 000 Mbps duplex intégral LD
DuplexLD
TransmissionRateAndDuplex.FO1000MbpsFull‐ FO 1 000 Mbps duplex intégral
Duplex
TransmissionRateAndDuplex.TP1000MbpsFull‐ TP 1 000 Mbps duplex intégral
Duplex
Valeur Description
TransmissionRateAndDuplex.FO10000MbpsFull‐ FO 10 000 Mbps duplex intégral
Duplex
TransmissionRateAndDuplex.FO100MbpsFullDu‐ FO 100 Mbps duplex intégral LD
plexLD
TransmissionRateAndDu‐ POF/PCF 100 Mbps duplex intégral
plex.POFPCF100MbpsFullDuplexLD
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Un élément d'appareil qui est en même temps un port offre des fonctions supplémentaires par
rapport à un élément d'appareil simple.
● Il est possible d'accéder aux ports partenaires qui lui sont associés.
● Il est possible d'accéder à l'interface du port.
Pour accéder à ces fonctions supplémentaires, il faut utiliser la fonction NetworkPort, un
service particulier de l'élément d'appareil.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
L'énumération d'un IoSystem fournit tous les systèmes maître DP qui se trouvent dans le sous-
réseau. Le système maître et le réseau IO sont représentés tous deux par la classe IoSystem.
Code de programme
Pour énumérer les réseaux maître DP du sous-réseau, modifiez le code de programme
suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Le système maître et le réseau IO sont représentés tous deux par la classe IoSystem.
Est utilisé pour :
● Énumération des connecteurs IO affectés du système maître DP
● Énumération des connecteurs IO affectés du réseau Profinet IO
Code de programme
Pour énumérer les connecteurs IO affectés du réseau maître DP, modifiez le code de
programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Utilisez l'action ConnectToIoSystem(IoSystem ioSystem) de IoConnector pour relier un
IoConnector à un réseau maître DP existant.
Utilisez l'action GetIoController pour naviguer jusqu'au IoController décentralisé. Pour plus
d'informations sur la navigation vers l'IoConnector local et le réseau IO, voir Appeler le système
maître ou le réseau IO d'une interface (Page 211).
Conditions
● IoConnector n'est pas encore relié à un réseau IO.
● L'interface IoConnector est reliée au même sous-réseau que l'interface de l'IoController
souhaité.
Code de programme
Modifiez le code de programme suivant :
7.14.31 Accès au profil AS-i et aux attributs de paramètre des esclaves virtuels
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
TIA Portal Openness prend en charge les paramètres supplémentaires suivants du profil AS-i
pour les esclaves virtuels de l'esclave AS-i CTT5 en utilisant les noms StructuredData :
Nom Description
AsiProfileVirtualSlave1 Contient les paramètres de profil AS-i pour l'escla‐
ve virtuel 1
AsiProfileVirtualSlave2 Contient les paramètres de profil AS-i pour l'escla‐
ve virtuel 2
AsiProfileVirtualSlave3 Contient les paramètres de profil AS-i pour l'escla‐
ve virtuel 3
Les paramètres AS-i pour les esclaves virtuels sont listés ci-après :
Nom Description
AsiParameterVirtualSlave1 Contient les paramètres AS-i pour l'esclave virtuel
1
AsiParameterVirtualSlave2 Contient les paramètres AS-i pour l'esclave virtuel
2
AsiParameterVirtualSlave3 Contient les paramètres AS-i pour l'esclave virtuel
3
Code de programme
Modifiez le code de programme suivant pour appeler et définir les attributs des esclaves AS-i :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Chaque appareil ou élément d'appareil possède certains attributs obligatoires pouvant être lus
et/ou écrits. Ces attributs sont toujours les mêmes que dans l'interface utilisateur de TIA Portal.
Les attributs suivants sont pris en charge dans Openness :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
L'attribut TypeIdentifier est utilisé pour identifier un objet matériel qui peut être créé avec
la TIA Portal Openness API. TypeIdentifier est une chaîne de caractères composée de
plusieurs parties : <TypeIdentifierType>:<Identifier>
Les valeurs possibles pour TypeIdentifierType sont :
● OrderNumber
● GSD
● System
OrderNumber
OrderNumber est le TypeIdentifier général pour tous les modules présents dans le
catalogue du matériel.
Remarque
Pour un petit nombre de modules dans le catalogue du matériel, le numéro d'article contient
des caractères de remplacement qui représentent un certain groupe de matériel réel, comme
par ex. les différentes longueurs des châssis de S7-300. Dans ce cas, vous pouvez utiliser non
seulement l'OrderNumber, mais aussi l'OrderNumber avec caractères de remplacement
pour créer une instance de l'objet matériel. Mais les caractères de remplacement ne doivent
pas figurer à n'importe quelle position.
GSD
C'est l'identifiant utilisé pour les modules qui sont ajoutés à TIA Portal au moyen de GSD ou de
GSDML.
System
C'est l'identifiant pour les objets ne pouvant être déterminés au moyen de OrderNumber ou
de GSD.
Code de programme
Pour appeler l'identifiant de type des objets pour GSD que l'utilisateur peut créer séparément
et gérer, modifiez le code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une connexion à TIA Portal
● Un projet est ouvert.
Voir Ouvrir un projet
Introduction
Vous pouvez paramétrer avec TIA Portal Openness l'ID d'application dans l'appareil et dans les
éléments d'appareils d'un projet TIA Portal, afin d'enregistrer ces ID d'application dans la
session TIA Portal actuelle pour une utilisation ultérieure.
Vous paramétrez l'ID d'application dans TIA Portal Openness en fournissant à l'API la paire
constituée de la "clé d'application" et de la "valeur d'application".
Code de programme
Modifiez le code de programme suivant pour paramétrer l'ID d'application de l'objet appareil et
élément d'appareil :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Introduction
Vous pouvez appeler avec TIA Portal Openness l'ID d'application dans l'appareil et dans les
éléments d'appareils d'un projet TIA Portal lorsqu'une ID d'application a déjà été paramétrée
pour l'appareil ou les éléments d'appareils.
Les ID d'application sont enregistrées par paires constituées de la "clé d'application" et de la
"valeur d'application" comme partie intégrante de TIA Portal. TIA Portal Openness vous permet
d'appeler la valeur de l'ID d'application par saisie de la "clé d'application".
Code de programme
Modifiez le code de programme suivant pour appeler la valeur de l'ID d'application d'un objet
qui a déjà été paramétré avec la clé d'application :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Principe
Vous pouvez supprimer avec TIA Portal Openness l'ID d'application (identifiant défini par
l'utilisateur) dans l'appareil et dans les éléments d'appareils d'un projet TIA Portal, afin
d'actualiser l'appareil et les éléments d'appareils possédant l'ID d'application correspondante.
Une CustomIdentityNotFoundException est retournée si l'ID d'application qui a été transmise
comme argument est inexistante.
Code de programme
Modifiez le code de programme suivant pour supprimer l'ID d'application de l'appareil et des
éléments d'appareils :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Il y a deux manières de créer un appareil, dans un projet ou dans un groupe d'appareils :
● Créer un appareil au moyen d'un identifiant de type d'élément d'appareil comme dans le
catalogue du matériel de TIA
Device CreateWithItem(DeviceItemTypeId, DeviceItemName,
DeviceName)
● Créer uniquement l'appareil
Device Create(DeviceTypeId, DeviceName)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Remarque
Tenir compte de AUTOHOTSPOT.
Utilisez l'une des possibilités suivantes pour énumérer les appareils d'un projet :
● Énumérer tous les appareils du premier niveau
● Énumérer tous les appareils en groupes ou sous-groupes
● Énumérer tous les appareils d'un projet ne contenant aucun groupe d'appareils
● Énumérer tous les appareils des groupes système d'appareils non groupés
Exemples d'appareils pouvant être énumérés :
● Central station
● PB-Slave / PN-IO device
● HMI Device
Code de programme : énumérer les appareils d'un projet ne contenant aucun groupe d'appareils
Modifiez le code de programme suivant :
//Enumerate all devices which are located directly under a project that contains no device
groups
Project project = ...
foreach (Device device in project.Devices)
{
... // Work with the devices
}
Code de programme : énumérer les appareils des groupes système d'appareils non groupés
Pour structurer les projets, des appareils décentralisés ont été ajoutés dans le groupe
UngroupedDevices. Pour accéder à ce groupe, naviguez d'abord jusqu'au groupe, puis jusqu'à
l'appareil.
Modifiez le code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Chaque appareil basé sur GSD ou sur GSDML dispose d'attributs. Certains servent à la
détermination du type exact de l'appareil.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code de programme
Pour supprimer un appareil, modifiez le code de programme suivant :
// delete device
deviceToDelete.Delete();
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Chaque appareil ou élément d'appareil possède certains attributs obligatoires pouvant être lus
et/ou écrits. Ces attributs sont toujours les mêmes que dans l'interface utilisateur de TIA Portal.
Les attributs suivants sont pris en charge dans TIA Portal Openness :
Valeur Description
Siemens.Engineering.HW.DeviceI‐ Pas de classification.
temClassifications.None
Siemens.Engineering.HW.DeviceI‐ L'élément d'appareil est une CPU.
temClassifications.CPU
Siemens.Engineering.HW.DeviceI‐ L'élément d'appareil est un module de tête.
temClassifications.HM
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
L'action PlugNew(string typeIdentifier, string name, int positionNumber)
de HardwareObject est utilisée pour
● créer un nouvel élément d'appareil et l'enficher dans un objet matériel existant,
● créer un nouveau sous-élément d'appareil, par exemple un sous-module et l'enficher dans
un élément d'appareil existant.
Quand l'action réussit, elle fournit l'objet "élément d'appareil" créé. Sinon, une exception
récupérable est lancée.
Avec l'action CanPlugNew(string typeIdentifier, string name, int
positionNumber), vous pouvez déterminer si la création et l'enfichage seront possibles.
Quand son exécution n'est pas possible, l'action fournit false.
L'action peut échouer pour les raisons imprévisibles suivantes, même si la méthode retourne
la valeur True.
● un numéro de position est déjà utilisé par un autre élément d'appareil,
● l'élément d'appareil actuel ne peut pas être enfiché à la position alors quelle est libre,
● le conteneur ne met pas le numéro de position à disposition,
● le nom de l'élément d'appareil est déjà utilisé par un autre élément d'appareil existant dans
le même conteneur,
● l'élément d'appareil ne peut pas être enfiché dans le conteneur,
● l'appareil est en ligne.
Code de programme
Pour enficher un élément d'appareil dans un objet matériel existant, modifiez le code de
programme suivant :
IMPORTANT
Cette méthode fonctionne uniquement pour les modules visibles dans la vue de réseau.
Cette méthode fonctionne uniquement pour les modules et non pour les sous-modules.
Un identifiant de type partiel ne peut comprendre que des parties complètes, chaque partie de
l'identifiant de type étant séparée par le caractère "/". Les caractères génériques ou les parties
incomplètes ne sont pas pris en charge. Vous devez également tenir compte des limitations
suivantes concernant le nombre minimum de parties indiquées :
● N° de référence : au moins une partie. Exemple : OrderNumber:6ES7 317-2EK14-0AB0
● GSD : au moins deux parties. Exemple : GSD:SI05816A.GSD/M
● Système : au moins une partie. Exemple : System:Rack.ET200SP
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Avec l'action PlugMove(DeviceItem deviceItem, int positionNumber) de HardwareObject , vous
pouvez déplacer un élément d'appareil existant pour l'enficher dans un objet matériel existant.
La méthode PlugMove ajoute les éléments d'appareil à l'endroit où le module n'a pas pu
enficher l'interface utilisateur. Dans ce cas, l'action PlugMove est terminée avec des erreurs de
compilation.
L'action CanPlugMove(DeviceItem deviceItem, int positionNumber) sert à déterminer la
possibilité de déplacement. Si le déplacement n'est pas possible, CanPlugMove fournit la
valeur False en retour. L'action peut échouer pour les raisons imprévisibles suivantes, même
si la méthode retourne la valeur True.
● un numéro de position est déjà utilisé par un autre élément d'appareil,
● l'élément d'appareil actuel ne peut pas être enfiché dans l'emplacement alors qu'il est libre,
● le conteneur ne met pas le numéro de position à disposition,
● le nom de l'élément d'appareil est déjà utilisé par un autre élément d'appareil existant dans
le même conteneur,
● l'élément d'appareil ne peut pas être enfiché dans le conteneur,
● l'élément d'appareil ne peut pas être enfiché par l'utilisateur,
● l'élément d'appareil ne peut pas être supprimé par l'utilisateur,
● l'appareil est en ligne.
Code de programme
Modifiez le code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Utilisez l'action PlugCopy(DeviceItem deviceItem, int positionNumber) de HardwareObject
pour copier un appareil au sein d'un projet et l'enficher dans du matériel existant. Dans de rares
cas, la méthode PlugCopy peut fonctionner même si un module ne peut pas être enfiché dans
UI. Dans ce cas, des erreurs de compilation surviennent après l'opération de copie. Quand
PlugCopy réussit, la copie de l'objet élément d'appareil est fournie en retour. Sinon, une
exception récupérable est lancée.
Causes possibles de l'échec d'une action :
● un numéro de position est déjà utilisé par un autre élément d'appareil,
● l'élément d'appareil actuel ne peut pas être enfiché dans l'emplacement alors qu'il est libre,
● le conteneur ne met pas le numéro de position à disposition,
● le nom de l'élément d'appareil est déjà utilisé par un autre élément d'appareil existant dans
le même conteneur,
● l'élément d'appareil ne peut pas être enfiché dans le conteneur,
● l'élément d'appareil ne peut pas être enfiché dans UI,
● ...
Avec l'actionCanPlugCopy(DeviceItem deviceItem, int positionNumber), vous pouvez
déterminer si l'opération de copie sera possible. Quand l'opération de copie ne peut pas être
exécutée, CanPlugCopy fournit la valeur False en retour. Toutefois, l'action peut échouer pour
des raisons imprévisibles même si la méthode retourne la valeur True.
Code de programme
Modifiez le code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code de programme
Pour supprimer un élément d'appareil, modifiez le code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Pour appeler un élément d'appareil, utilisez le HardwareObject. Les éléments d'un objet
matériel sont les parties enfichées dans l'objet matériel que l'utilisateur peut voir dans TIA
Portal :
● châssis dans un appareil
● module dans un châssis
● sous-module dans un module
● sous-module dans un sous-module
Remarque
Pour plus d'informations à ce sujet, voir la rubrique AUTOHOTSPOT.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
int dsNumber = 0; // For Profibus GSDs, dataset number zero must be used!
int byteOffset = 0;
int lengthInBytes = 5;
// The parameters byteOffset and the length of the byte array prmData define the range
within the
// dataset which is written to.
// For Profibus GSDs, dataset number zero must be used!
int dsNumber = 0;
int byteOffset = 0;
byte[] prmData = {0x05, 0x21, 0x01, 0x01, 0x01};
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Si un élément d'appareil est une interface, il offre des fonctions supplémentaires par rapport à
un élément d'appareil simple. Cette interface permet à l'utilisateur d'accéder aux abonnés et au
mode de fonctionnement de l'interface. Grâce à cette fonctionnalité, l'élément d'appareil peut
être utilisé comme IoDevice (esclave) ou comme IoController (maître) via la fonction
NetworkInterface (un service spécifique de l'élément d'appareil).
L'énumération InterfaceOperatingModes permet d'accéder aux propriétés de l'interface.
Valeur Description
InterfaceOperatingModes.None Valeur par défaut
InterfaceOperatingModes.IoDevice Mode de fonctionnement de l'interface "IoDevice"
(esclave).
InterfaceOperatingModes.IoController Mode de fonctionnement de l'interface "IoControl‐
ler" (maître).
InterfaceOperatingModes.IoDevice Mode d'interface : les deux modes ci-dessus.
or
InterfaceOperatingModes.IoController
NetworkInterface itf =
((IEngineeringServiceProvider)deviceItem).GetService<NetworkInterface>();
if (itf != null)
{
... // work with the interface
}
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API est hors ligne pour l'accès en écriture.
Utilisation
L'interface TIA Portal Openness API vous permet d'appeler ou de déterminer des attributs pour
IRT et le mode isochrone sur l'interface d'appareil IO.
Valeur Description
IsochronousTiToCalculationMode.None
IsochronousTiToCalculationMode.FromOB Les valeurs Ti/To de l'OB (configurées sur le réseau IO) sont
utilisées.
IsochronousTiToCalculationMode.FromSubnet Cette valeur n'est pas utilisée par les interfaces PROFINET.
IsochronousTiToCalculationMode.AutomaticMini Les valeurs Ti/To sont calculées automatiquement pour le
mum périphérique IO.
IsochronousTiToCalculationMode.Manual L'utilisateur peut saisir des valeurs Ti/To manuellement pour
ce périphérique IO.
Pour accéder aux valeurs Ti/To d'un OB, modifiez le code de programme suivant :
Pour accéder au réglage isochrone d'une interface d'appareil IO, modifiez le code de
programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API est hors ligne pour l'accès en écriture.
Utilisation
L'interface TIA Portal Openness API vous permet d'appeler ou de déterminer des attributs de
l'IoController. Les attributs suivants sont disponibles sous PROFINET IoController (sous une
interface PROFINET). Si l'utilisateur peut modifier un attribut dans l'interface utilisateur, il peut
également modifier l'attribut correspondant via TIA Portal Openness .
La propriété Synchronication role est disponible dans l'interface PROFINET de la TIA Portal UI.
L'Enum SyncRole a les valeurs suivantes :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API est hors ligne pour l'accès en écriture.
Utilisation
L'interface TIA Portal Openness API vous permet d'appeler ou de déterminer des attributs de
l'IoConnector. Les attributs suivants sont disponibles sous PROFINET IoController (sous une
interface PROFINET). Si l'utilisateur peut modifier un attribut dans l'interface utilisateur, il peut
également modifier l'attribut correspondant via TIA Portal Oopenness .
Il existe quatre types d'attribut tels que des attributs pour le temps d'actualisation, des attributs
pour le temps de surveillance, des attributs pour la synchronisation et des attributs pour le
numéro d'appareil.
connector.SetAttribute("PnUpdateTimeAutoCalculation", true);
Voir aussi
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Un élément d'appareil qui est en même temps contrôleur d'adresse offre des fonctions
supplémentaires. Pour accéder aux adresses enregistrées du contrôleur d'adresse, il faut
utiliser le rôle AddressController.
AddressController addressController =
((IEngineeringServiceProvider)deviceItem).GetService<AddressController>();
if (addressController != null)
{
... // work with the address controller
}
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Les objets adresse sont appelés à l'aide du lien de composition Addresses d'un élément
d'appareil. L'attribut Addresses retourne un recueil de AddressComposition qui peut être
énuméré.
Attributs
L'adresse prend en charge les attributs suivants :
Valeur Description
AddressIoType.Diagnosis Le type IO d'adresse est diagnostic.
AddressIoType.Input Le type IO d'adresse est entrée.
AddressIoType.Output Le type IO d'adresse est sortie.
AddressIoType.Substitute Le type IO d'adresse est remplacement.
AddressIoType.None Le type IO d'adresse n'est pas indiqué.
Valeur Description
AddressContext.None Le contexte d'adresse n'est pas valable.
AddressContext.Device Contexte d'adresse d'appareil.
AddressContext.Head Contexte d'adresse de tête.
address.StartAddress = intValueStartAddress;
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Les objets "Identifiant de matériel" sont appelés par les objets suivants :
● Device
● DeviceItem
● IoSystem
L'identifiant de matériel est représenté par la classe HwIdentifier et appelé avec
l'attributHwIdentifiers..
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Quand un élément d'appareil est en même temps contrôleur d'identifiant de matériel, il est
possible d'accéder aux identifiants de matériel enregistrés. Pour accéder à ces
HwIdentifierController, il faut utiliser un certain service de l'élément d'appareil.
HwIdentifierController hwIdentifierController =
((IEngineeringServiceProvider)deviceItem).GetService<HwIdentifierController>();
if (hwIdentifierController != null)
{
... // work with the hardware identifier controller
}
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Une voie est représentée par la classe Channel. Les voies sont appelées par un élément
d'appareil au moyen de l'attribut Channels de la classe DeviceItem. L'attribut Channels
retourne une implémentation de ChannelComposition qui peut être énumérée. Quand
l'élément d'appareil n'a pas de voie, l'attribut Channels retourne un recueil vide.
Attributs obligatoires
Une voie prend en charge les attributs obligatoires suivants :
Code de programme : appeler les valeurs des attributs pour l'accès dynamique
Pour appeler les valeurs d'attributs dynamiques, modifiez le code de programme suivant :
Condition
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Ouvrir un projet
Voir Ouvrir un projet (Page 109)
Application
Vous pouvez créer un fichier PSC et charger un appareil dans le fichier par le biais de l'interface
TIA Portal Openness API. Pour créer un fichier PSC et charger une configuration de l'appareil
dans le fichier, vous pouvez utiliser la méthode Export d'un service CardReaderPscProvider.
Le service est présent dans l'espace de nom Siemens.Engineering.HW.Utilities.
Code de programme
Modifiez le code de programme suivant pour créer et exporter un fichier PSC :
// preconditions
Device ipcDevice = myProject.Devices.Find("IPC427D");
FileInfo exportFile = new FileInfo(@"C:\Users\Ertan\Documents\Automation\PC system
configuration74.psc");
// get the card reader provider from hardware utilities
HardwareUtilityComposition utilities = myProject.HwUtilities;
HardwareUtility utility = utilities.Find("CardReaderPscProvider");
CardReaderPscProvider crp = (CardReaderPscProvider)utility;
// do the export
crp.Export(ipcDevice, exportFile);
La création et l'ouverture d'un fichier PSC avec des commandes distinctes ne sont pas prises
en charge. Si vous indiquez un fichier PSC déjà présent comme paramètre, le fichier n'est pas
écrasé et une exception est retournée. Si le fichier PSC n'est pas encore présent, il est créé et
l'opération de chargement est effectuée.
Vous devez vous assurer que le projet peut être compilé sans problème. Faute de quoi, une
exception est retournée.
Remarque
Pour des raisons de sécurité, l'opération d'exportation pour les appareils activés F n'est pas
prise en charge dans V15.1 (à l'exportation, une exception est retournée).
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
À l'aide de TIA Portal Openness vous pouvez appeler, ajouter et supprimer des relations pour
les châssis d'extension. Vous pouvez ainsi aussi utiliser la prise en charge de TIA Portal
Openness pour la réalisation de relations pour des châssis d'extension lors de l'importation/
exportation CAx.
Code de programme
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
7.17.1 Vues
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code du programme
Pour créer un dossier de vues personnalisé, modifiez le code de programme suivant :
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Remarque
Vous ne pouvez pas supprimer une fenêtre permanente. Une fenêtre permanente est une vue
système toujours existante.
Code du programme
Pour supprimer une vue d'un certain dossier, modifiez le code de programme suivant :
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Un appareil IHM existe dans le projet.
Code du programme
Pour supprimer un modèle de vue d'un certain dossier, modifiez le code de programme suivant :
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Remarque
Vous ne pouvez pas supprimer une fenêtre permanente. Une fenêtre permanente est une vue
système toujours existante.
Code du programme
Pour supprimer toutes les vues d'un certain dossier, modifiez le code de programme suivant :
7.17.2 Cycles
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Un appareil IHM existe dans le projet.
Utilisation
Vous ne pouvez pas supprimer les cycles prédéfinis.
À l'aide de la composition dans le modèle objet (composition count) du cycle concerné, vous
pouvez déterminer si des cycles ont effectivement été supprimés. Il n'est plus possible
d'accéder à ces cycles.
Code du programme
Pour supprimer un cycle d'un appareil IHM, modifiez le code de programme suivant :
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Un appareil IHM existe dans le projet.
Code du programme
Pour supprimer une liste de textes sélectionnée et toutes les entrées de liste correspondantes
d'un appareil IHM, modifiez le code de programme suivant :
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Un appareil IHM existe dans le projet.
Code du programme
Pour supprimer une liste de graphiques sélectionnée et toutes les entrées de liste
correspondantes d'un appareil IHM, modifiez le code de programme suivant :
7.17.5 Connexions
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Un appareil IHM existe dans le projet.
Code du programme
Pour supprimer une liaison de communication sélectionnée d'un appareil IHM, modifiez le code
de programme suivant :
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code du programme
Pour créer un dossier personnalisé pour variables HMI, modifiez le code de programme
suivant :
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code du programme
Pour énumérer toutes les variables d'une table de variables IHM, modifiez le code de
programme suivant :
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code du programme
Pour supprimer une variable déterminée d'une table des variables IHM, modifiez le code de
programme suivant :
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Un appareil IHM existe dans le projet.
Utilisation
Vous ne pouvez pas supprimer la table des variables standard.
Code du programme
Modifiez le code de programme suivant :
7.17.7 Scripts VB
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code du programme
Pour créer un sous-dossier personnalisé pour scripts dans un dossier système ou un autre
dossier personnalisé, modifiez le code de programme suivant :
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Un appareil IHM existe dans le projet.
Code du programme
Pour supprimer un script VB d'un certain dossier, modifiez le code de programme suivant :
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code de programme
Pour supprimer un dossier personnalisé d'un pupitre opérateur, modifiez le code de
programme suivant :
Introduction
Les tableaux suivants indiquent les objets disponibles et si ces objets sont pris en charge par
TIA Portal Openness.
Objets
Vous pouvez gérer les données de projet suivantes pour les appareils Unified WinCC :
Introduction
Il est nécessaire qu'un objet logiciel HMI puisse également accéder à d'autres éléments tels
que des variables, des liaisons, des alarmes et des vues.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Ouverture d'un projet (Page 109)
Code de programme
Modifiez le code de programme suivant de manière à ce qu'un accès à un objet logiciel HMI soit
possible :
Remarque
L'extension .apx dans le code de programme ci-dessus se réfère à la version de TIA Portal
installée.
Introduction
TIA Portal Openness permet d'interroger via les propriétés les informations d'erreur pour les
objets WinCC suivants :
● Alarme analogique
● Alarme de bit
● Classe d'alarmes
● Archive de données
● Archive d'alarmes
● Variable
● Connexion
● Variable d'archive
● Paramètres Runtime des appareils
● Vues et objets graphiques
● Vue de l'installation
● Objet d'installation
● Noeud vue de l'installation
● Interface Objet d'installation
● Membre Interface Objet d'installation
● Variable d'archive Objet d'installation
Remarque
La fonction ne peut pas être appliquée aux variables système et tables de variables, car celles-
ci n'ont pas de propriétés pouvant se trouver à l'état d'erreur.
Condition
● L'application TIA Portal Openness est reliée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79).
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109).
● Accès à un objet logiciel HMI-Unified
Voir Objet logiciel HMI-Unified (Page 281)
Code de programme
Modifiez le code de programme suivant afin d'interroger des erreurs concernant des variables,
des alarmes, des paramètres d'exécution et des vues :
Voir aussi
Objet logiciel HMI-Unified (Page 281)
7.18.4 Alarmes
Introduction
Lors de l'utilisation de TIA Portal Openness, les alarmes analogiques vous permettent
d'exécuter les actions suivantes :
● Créer des alarmes analogiques
● Énumérer des alarmes analogiques
● Supprimer les alarmes analogiques
● Accéder aux propriétés d'alarmes analogiques
Propriétés
Les propriétés suivantes sont prises en charge par les alarmes analogiques :
Conditions
● L'application TIA Portal Openness est reliée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79).
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109).
● Accès à un objet logiciel HMI
Voir Objet logiciel HMI-Unified (Page 281)
Code de programme
Vous pouvez modifier et utiliser l'exemple de code de programme lors de l'utilisation des
alarmes.
Introduction
Pendant l'utilisation de TIA Portal Openness, les alarmes de bit vous permettent d'exécuter les
actions suivantes :
● Créer des alarmes de bit
● Supprimer les alarmes de bit
● Énumérer des alarmes de bit
● Accéder aux propriétés d'alarmes de bit
Propriétés
Les propriétés suivantes sont prises en charge par les alarmes analogiques :
Condition
● L'application TIA Portal Openness est reliée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79).
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109).
● Accès à un objet logiciel HMI
Voir Objet logiciel HMI-Unified (Page 281)
Code de programme
Vous pouvez modifier et utiliser l'exemple de code de programme lors de l'utilisation des
alarmes.
int id = discreteAlarm.Id;
discreteAlarm.Id = 10;
discreteAlarm.area = "Aread1";
string area = discreteAlarm.Area;
discreteAlarm.Name = "NewAlarm";
string name = discreteAlarm.Name;
Introduction
Lors de l'utilisation de TIA Portal Openness, les classes d'alarmes vous permettent d'exécuter
les actions suivantes :
● Créer des classes d'alarmes
● Supprimer les classes d'alarmes
● Énumérer des classes d'alarmes
● Accéder aux propriétés de classes d'alarmes
Propriétés
Les propriétés suivantes sont prises en charge par les classes d'alarmes :
Condition
● L'application TIA Portal Openness est reliée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79).
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Accès à un objet logiciel HMI
Voir Objet logiciel HMI-Unified (Page 281)
Code de programme
Vous pouvez modifier et utiliser l'exemple de code de programme suivant lors de l'utilisation
des classes d'alarmes.
//User wants to enumerate all discrete alarms of device with following code
{
HmiSoftware hmiSoftware = ...:
AlarmClassComposition alarmClasses = hmiSoftware.AlarmClasses;
foreach (AlarmClass alarmClass in alarmClasses)
}
{
...
}
alarmClass.Acknowledgement = StateMachine.AlarmWithDualModeAcknowledgement;
alarmClass.IncomingOutgoingAcknowledgeStatus.BackColor = Color.Red;
alarmClass.IncomingOutgoingAcknowledgeStatus.TextColor = Color.Black;
alarmClass.IncomingOutgoingAcknowledgeStatus.Flashing = true;
7.18.5 Logs
Introduction
Lors de l'utilisation de TIA Portal Openness, les archives de données vous permettent
d'exécuter les actions suivantes :
● Créer une archive de données
● Supprimer une archive de données
● Énumérer une archive de données
● Accéder aux propriétés d'archives de données
Propriétés
Les propriétés suivantes sont prises en charge par une archive de données :
Condition
● L'application TIA Portal Openness est reliée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79).
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109).
● Accès à un objet logiciel HMI
Voir Objet logiciel HMI-Unified (Page 281)
Code de programme
Vous pouvez modifier et utiliser l'exemple de code de programme suivant lors de l'utilisation
des archives de données.
Créer une archive de données
Modifiez le code de programme suivant pour créer une archive de données :
Introduction
Lors de l'utilisation de TIA Portal Openness, les archives d'alarmes vous permettent d'exécuter
les actions suivantes :
● Créer une archive d'alarmes
● Supprimer une archive d'alarmes
● Énumérer une archive d'alarmes
● Accéder aux propriétés d'archives d'alarmes
Propriétés
Les propriétés suivantes sont prises en charge par une archive d'alarmes :
Condition
● L'application TIA Portal Openness est reliée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79).
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109).
● Accès à un objet logiciel HMI
Voir Objet logiciel HMI-Unified (Page 281)
Code de programme
Vous pouvez modifier et utiliser l'exemple de code de programme suivant lors de l'utilisation
des archives d'alarmes.
Créer des archives d'alarmes
Modifiez le code de programme suivant pour créer une archive d'alarmes :
Voir aussi
Objet logiciel HMI-Unified (Page 281)
Introduction
Lors de l'utilisation de TIA Portal Openness, les variables d'archive vous permettent d'exécuter
les actions suivantes :
● Créer une variable d'archive
● Supprimer une variable d'archive
● Énumérer une variable d'archive
● Accéder aux propriétés de variables d'archive
Propriétés
Les propriétés suivantes sont prises en charge par une variable d'archive :
Condition
● L'application TIA Portal Openness est reliée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79).
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109).
● Accès à un objet logiciel HMI
Voir Objet logiciel HMI-Unified (Page 281)
Code de programme
Vous pouvez modifier et utiliser l'exemple de code de programme suivant lors de l'utilisation de
variables d'archive.
Créer des variables d'archive
Vous pouvez modifier et utiliser le code de programme suivant pour créer des variables
d'archive.
Voir aussi
Objet logiciel HMI-Unified (Page 281)
Introduction
Lors de l'utilisation de TIA Portal Openness, les tables des variables vous permettent
d'exécuter les actions suivantes :
● Création des tables des variables
● Supprimer les tables des variables
● Énumérer des tables des variables
● Accéder aux propriétés de tables des variables
Propriétés
Les propriétés suivantes sont prises en charge par une table des variables :
Condition
● L'application TIA Portal Openness est reliée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79).
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109).
Code de programme
Vous pouvez modifier et utiliser l'exemple de code de programme suivant lors de l'utilisation
des tables des variables.
Création des tables des variables
Modifiez le code de programme suivant pour créer une table des variables :
Modifiez le code de programme suivant pour supprimer une table des variables :
Introduction
Lors de l'utilisation de TIA Portal Openness, les variables IHM vous permettent d'exécuter les
actions suivantes :
● Créer des variables IHM
● Supprimer des variables IHM
● Énumérer des variables IHM
● Accéder à des variable IHM
● Accéder aux propriétés de variables IHM
● Utilisation du type de données UDT pour des variables
● Propriétés de variables membres d'UDT
Propriétés
Les propriétés suivantes sont prises en charge par une variable IHM :
Les propriétés suivantes sont disponibles dans la plage des valeurs inférieures/supérieures :
Condition
● L'application TIA Portal Openness est reliée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79).
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109).
● Accès à un objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
Code de programme
Vous pouvez modifier et utiliser l'exemple de code de programme suivant lors de l'utilisation de
variables IHM.
Créer des variables IHM
//2. Create tag by accessing HmiTags property at HmiSoftware level, by using Create method
with single parameter.
HmiTag hmiTag2 = hmiTags1.Create("Tag2");
//Tags will be created in default tag table.
//3. Creation of tag by accessing HmiTags property at Tag Table, by using Create method with
two parameters.
//Tag creation will fail and it will result in recoverable exception,
HmiTagComposition hmiTags2 = hmiSoftware.HmiTagTables.Find("Default tag table").HmiTags;
HmiTag hmiTag3 = hmiTags2.Create("Tag_3", "TableTableName");
//4. Create tag by accessing HmiTags property at Tag Table, by using Create method with
single parameter.
HmiTag hmiTag4 = hmiTags2.Create("Tag_4");
}
Modifiez le code de programme suivant pour accéder à une variable IHM via le nom de tableau :
{
HmiSoftware hmiSoftware = GetHmiSoftware();
// User can search tag present in given tag table with following code.
HmiTag hmiTag4 = hmiSoftware.HmiTagTables.Find("Default tag
table").HmiTags.Find("Tag1");
}
Modifiez le code de programme suivant pour affecter le type de données UDT à des variables
IHM avec liaison :
Remarque
Vous pouvez utiliser des chemins complets pour affecter des UDT à l'IHM
Modifiez le code de programme suivant pour affecter le type de données PLC UDT à des
variables IHM avec liaison :
Modifiez le code de programme suivant pour accéder à des propriétés de membre du type de
données pour variable IHM
Modifiez le code de programme suivant pour définir les propriétés de variables membres de
type de données défini par l'utilisateur :
Modifiez le code de programme suivant pour accéder aux propriétés de variables membres de
type de données défini par l'utilisateur :
Voir aussi
Objet logiciel HMI-Unified (Page 281)
Introduction
Lors de l'utilisation de TIA Portal Openness, les variables système vous permettent d'exécuter
les actions suivantes :
● Accéder à une variable système
● Accéder aux propriétés de variables système
Propriétés
Les propriétés suivantes sont prises en charge par une variable système :
Condition
● L'application TIA Portal Openness est reliée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79).
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109).
● Accès à un objet logiciel HMI
Voir Objet logiciel HMI-Unified (Page 281)
Code de programme
Accéder à une variable système
Modifiez le code de programme suivant pour accéder à une variable système particulière via
son nom :
Voir aussi
Objet logiciel HMI-Unified (Page 281)
7.18.7 Connexions
Introduction
Lors de l'utilisation de TIA Portal Openness, les connexions vous permettent d'exécuter les
actions suivantes :
● Établir des connexions
● Supprimer des connexions
● Énumérer des connexions
● Accéder aux propriétés de connexions
Propriétés
Les propriétés suivantes sont prises en charge par les liaisons IHM :
Condition
● L'application TIA Portal Openness est reliée à TIA Portal.
Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Ouvrir un projet (Page 109)
Code de programme
Vous pouvez modifier et utiliser l'exemple de code de programme suivant lors de l'utilisation de
connexions.
Établir des connexions
Modifiez le code de programme suivant pour créer une connexion :
Introduction
Lors de l'utilisation de TIA Portal Openness, les paramètres d'exécution vous permettent
d'exécuter les actions suivantes :
● Lire/écrire des paramètres d'exécution
Propriétés
Les propriétés suivantes sont prises en charge par les paramètres Runtime :
Conditions
● L'application TIA Portal Openness est reliée à TIA Portal.
Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Ouvrir un projet (Page 109)
● Accès à l'objet logiciel IHM
Objet logiciel HMI-Unified (Page 281)
Code de programme
Introduction
Lors de l'utilisation de TIA Portal Openness, les vues vous permettent d'exécuter les actions
suivantes :
● Créer des vues
● Supprimer des vues
● Énumérer des vues
● Accéder aux propriétés de vues
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Accès à un objet logiciel HMI
Voir Objet logiciel HMI-Unified (Page 281)
Code de programme
Vous pouvez modifier et utiliser l'exemple de code de programme suivant lors de l'utilisation de
vues.
Recoverable Exception est déclenchée quand la méthode Create est appelée avec un nom de
vue pour lequel une vue existe déjà dans TIA Portal.
Modifiez le code de programme suivant pour rechercher des vues dans des listes de vues à
l'aide du nom :
Modifiez le code de programme suivant pour trouver des vues dans des listes de vues à l'aide
de l'indice :
Modifiez le code de programme suivant pour déterminer avec la méthode Contains si un objet
graphique précis se trouve dans une liste d'objets graphiques :
Modifiez et utilisez le code de programme suivant pour appeler avec GetAttributes ( ) toutes les
propriétés d'une vue :
Modifiez le code de programme suivant pour définir et appeler avec SetAttributes( ) toutes les
propriétés d'une vue :
Modifiez et utilisez le code de programme suivant pour appeler la valeur d'une propriété avec
les IEngineeringObject's GetAttribute :
Modifiez le code de programme suivant pour détecter si toutes les propriétés ont des valeurs
valides :
Remarque
Lors de la définition de propriétés, si la valeur ne peut pas être définie par l'opération d'écriture,
une Recoverable exception est déclenchée.
Introduction
Lors de l'utilisation de TIA Portal Openness, les objets graphiques de base vous permettent
d'exécuter les actions suivantes :
● Créer des objets graphiques (de base)
● Supprimer des objets graphiques (de base)
● Énumérer des vues (de base)
Les objets graphiques de base ci-dessous sont pris en charge par TIA Portal Openness.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 79)
Code de programme
Vous pouvez modifier et utiliser l'exemple de code de programme suivant lors de l'utilisation
d'objets graphiques de base.
Remarque
L'exemple ci-dessus s'applique à tous les objets graphiques qui ont été définis en haut dans le
tableau de types. La HmiLine doit être définie avec un type/des types qui est/sont défini(s) dans
le tableau "Types et espace(s) de noms".
Recoverable Exception est déclenchée si la méthode Create est appelée avec le nom d'un
objet graphique qui existe déjà dans TIA Portal.
Remarque
L'exemple ci-dessus s'applique à tous les objets graphiques qui ont été définis en haut dans le
tableau de types. La HmiLine doit être définie avec un type/des types qui est/sont défini(s) dans
le tableau "Types et espace(s) de noms".
Modifiez le code de programme suivant pour trouver des objets graphiques dans une liste
d'objets graphiques à l'aide du nom :
Modifiez le code de programme suivant pour trouver des objets graphiques dans une liste
d'objets graphiques à l'aide de l'indice :
Modifiez le code de programme suivant pour déterminer avec la méthode Contains si un objet
graphique précis se trouve dans une liste d'objets graphiques :
Remarque
L'exemple ci-dessus s'applique à tous les objets graphiques qui ont été définis dans le tableau
de types. La HmiLine doit être définie avec un type/des types qui est/sont défini(s) dans le
tableau "Types et espace(s) de noms".
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'une ligne dans
l'objet graphique.
Les propriétés suivantes d'une ligne sont prises en charge dans l'objet graphique :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques de base (Page 328)
Code de programme
Modifiez le code suivant pour accéder aux propriétés de base de lignes :
//Name
var name = hmiline.Name;
hmiline.Name = "Default Value";
//AlternateLineColor
var linecolor = hmiline.AlternateLineColor;
hmiline.AlternateLineColor = Color.FromArgb(0xCC, 0xF0, 0x80, 0x80);
//Height
var height = hmiline.Height;
hmiline.Height = 100;
//ToolTipText
var tooltip = hmiline.ToolTipText;
var tooltiptext = hmiline.ToolTipText.Items[0].Text;
hmiline.ToolTipText.Items[0].Text = "<body><p>TestforMultilinugualProperty</p></body>";
Modifiez le code suivant pour accéder à une autre propriété typique de la ligne :
//DashType
var dashtype = hmiline.DashType;
hmiline.DashType = HmiDashType.DashDotDot;
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Utilisation d'objets graphiques de base (Page 328)
Objet logiciel HMI-Unified (Page 281)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'une ligne
polygonale.
Les propriétés suivantes d'une ligne polygonale sont prises en charge dans l'objet graphique :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques de base (Page 328)
Code de programme
Modifiez le code de programme suivant pour accéder aux propriétés de base d'une ligne
polygonale :
//Name
var name = polyline.Name;
polyline.Name = "Default Value";
//AlternateLineColor
var linecolor = polyline.AlternateLineColor;
polyline.AlternateLineColor = Color.FromArgb(0xCC, 0xF0, 0x80, 0x80);
//Height
var height = polyline.Height;
polyline.Height = 100;
//ToolTipText
var tooltip = polyline.ToolTipText;
var tooltiptext = polyline.ToolTipText.Items[0].Text;
polyline.ToolTipText.Items[0].Text = "TestforMultilingualProperty";
Modifiez le code de programme suivant pour accéder à une autre propriété typique :
//Joint Type
var dashtype = polyline.JoinType;
polyline.JoinType = HmiLineJoinType.Miter;
//Points
var points = polyline.Points;
var point = points[0];
var x = point.X;
point.X = 10;
var y = point.Y;
point.Y = 10;
var newPoint = points.Create(15, 100);
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Utilisation d'objets graphiques de base (Page 328)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'une ellipse dans
l'objet graphique.
Les propriétés suivantes d'une ellipse sont prises en charge dans l'objet graphique :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques de base (Page 328)
Code de programme
Modifiez le code de programme suivant pour accéder aux propriétés de base d'une ellipse :
//Name
var name = ellipse.Name;
ellipse.Name = "Default Value";
//AlternateBorderColor
var bordercolor = ellipse.AlternateBorderColor;
ellipse.AlternateBorderColor = Color.FromArgb(0xCC, 0xF0, 0x80, 0x80);
//BorderWidth
var borderwidth = ellipse.BorderWidth;
ellipse.BorderWidth = 10;
//ToolTipText
var tooltip = ellipse.ToolTipText;
var tooltiptext = ellipse.ToolTipText.Items[0].Text;
ellipse.ToolTipText.Items[0].Text = "TestforMultilingualProperty";
Modifiez le code de programme suivant pour accéder à une autre propriété typique d'une
ellipse :
//BackFillPattern
var backfill = ellipse.BackFillPattern;
ellipse.BackFillPattern = HmiFillPattern.GradientBackwardDiagonal;
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Utilisation d'objets graphiques de base (Page 328)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'un segment
d'ellipse.
Les propriétés suivantes d'un segment d'ellipse sont prises en charge dans l'objet graphique :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques de base (Page 328)
Code de programme
Modifiez le code de programme suivant pour accéder aux propriétés de base d'un segment
d'ellipse :
//Name
var name = ellipsesegment.Name;
ellipsesegment.Name = "Default Value";
//AlternateBorderColor
var bordercolor = ellipsesegment.AlternateBorderColor;
ellipsesegment.AlternateBorderColor = Color.FromArgb(0xCC, 0xF0, 0x80, 0x80);
//BorderWidth
var borderwidth = ellipsesegment.Height;
ellipsesegment.BorderWidth = 10;
//ToolTipText
var tooltip = ellipsesegment.ToolTipText;
var tooltiptext = ellipsesegment.ToolTipText.Items[0].Text;
ellipsesegment.ToolTipText.Items[0].Text = "TestforMultilingualProperty";
Modifiez le code de programme suivant pour accéder à une autre propriété typique :
//BackFillPattern
var backfill = ellipsesegment.BackFillPattern;
ellipsesegment.BackFillPattern = HmiFillPattern.GradientBackwardDiagonal;
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'un segment de
cercle.
Les propriétés suivantes d'un segment de cercle sont prises en charge dans l'objet graphique :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques de base (Page 328)
Programme
Modifiez le code de programme suivant pour accéder à une propriété de base d'un segment de
cercle :
//Name
var name = circlesegment.Name;
circlesegment.Name = "Default Value";
//AlternateBorderColor
var bordercolor = circlesegment.AlternateBorderColor;
circlesegment.AlternateBorderColor = Color.FromArgb(0xCC, 0xF0, 0x80, 0x80);
//BorderWidth
var borderwidth = circlesegment.BorderWidth;
circlesegment.BorderWidth = 10;
//ToolTipText
var tooltip = circlesegment.ToolTipText;
var tooltiptext = circlesegment.ToolTipText.Items[0].Text;
circlesegment.ToolTipText.Items[0].Text = "TestforMultilingualProperty";
Modifiez le code de programme suivant pour accéder à une autre propriété typique :
//ToolTipText
var tooltip = circlesegment.ToolTipText;
var tooltiptext = circlesegment.ToolTipText.Items[0].Text;
circlesegment.ToolTipText.Items[0].Text = "TestforMultilingualProperty";
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Utilisation d'objets graphiques de base (Page 328)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'un arc d'ellipse.
Les propriétés suivantes d'un arc d'ellipse sont prises en charge dans l'objet graphique :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques de base (Page 328)
Code de programme
Modifiez le code de programme suivant pour accéder à une propriété de base d'arcs d'ellipses :
//Name
var name = ellipticalarc.Name;
ellipticalarc.Name = "Default Value";
//LineColor
var linecolor = ellipticalarc.LineColor;
ellipticalarc.LineColor = Color.FromArgb(0xCC, 0xF0, 0x80, 0x80);
//LineWidth
var linewidth = ellipticalarc.LineWidth;
ellipticalarc.LineWidth = 10;
//ToolTipText
var tooltip = ellipticalarc.ToolTipText;
var tooltiptext = ellipticalarc.ToolTipText.Items[0].Text;
ellipticalarc.ToolTipText.Items[0].Text = "TestforMultilingualProperty";
Modifiez le code de programme suivant pour accéder à une autre propriété typique :
//CapType
var captype = ellipticalarc.CapType;
ellipticalarc.CapType = HmiCapType.Round;
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Utilisation d'objets graphiques de base (Page 328)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'un arc de cercle.
Les propriétés suivantes d'un arc de cercle sont prises en charge dans l'objet graphique :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques de base (Page 328)
Code de programme
Modifiez le code de programme suivant pour accéder à une propriété de base d'un arc de
cercle :
//Name
var name = circulararc.Name;
circulararc.Name = "Default Value";
//LineColor
var linecolor = circulararc.LineColor;
circulararc.LineColor = Color.FromArgb(0xCC, 0xF0, 0x80, 0x80);
//LineWidth
var linewidth = circulararc.LineWidth;
circulararc.LineWidth = 10;
//ToolTipText
var tooltip = circulararc.ToolTipText;
var tooltiptext = circulararc.ToolTipText.Items[0].Text;
circulararc.ToolTipText.Items[0].Text = "TestforMultilingualProperty";
Modifiez le code de programme suivant pour accéder à une autre propriété typique :
//CapType
var captype = circulararc.CapType;
circulararc.CapType = HmiCapType.Round;
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Utilisation d'objets graphiques de base (Page 328)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'un cercle.
Les propriétés suivantes d'un cercle sont prises en charge dans l'objet graphique :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques de base (Page 328)
Code de programme
Modifiez le code de programme suivant pour accéder à une propriété de base d'un cercle :
//Name
var name = circle.Name;
circle.Name = "Default Value";
//BorderColor
var bordercolor = circle.BorderColor;
circle.BorderColor = Color.FromArgb(0xCC, 0xF0, 0x80, 0x80);
//BorderWidth
var borderwidth = circle.BorderWidth;
circle.BorderWidth = 10;
//ToolTipText
var tooltip = circle.ToolTipText;
var tooltiptext = circle.ToolTipText.Items[0].Text;
circle.ToolTipText.Items[0].Text = "TestforMultilingualProperty";
Modifiez le code de programme suivant pour accéder à une autre propriété typique :
//DashType
var dashtype = circle.DashType;
circle.DashType = HmiDashType.Solid;
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Utilisation d'objets graphiques de base (Page 328)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'un rectangle.
Les propriétés suivantes d'un rectangle sont prises en charge dans l'objet graphique :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques de base (Page 328)
Code de programme
Modifiez le code de programme suivant pour accéder à des propriétés de base :
//Name
var name = rectangle.Name;
rectangle.Name = "Default Value";
//BorderColor
var bordercolor = rectangle.BorderColor;
rectangle.BorderColor = Color.FromArgb(0xCC, 0xF0, 0x80, 0x80);
//BorderWidth
var borderwidth = rectangle.BorderWidth;
rectangle.BorderWidth = 10;
//ToolTipText
var tooltip = rectangle.ToolTipText;
var tooltiptext = rectangle.ToolTipText.Items[0].Text;
rectangle.ToolTipText.Items[0].Text = "TestforMultilingualProperty";
Modifiez le code de programme suivant pour accéder à une autre propriété typique :
//Corners
var corner = rectangle.Corners;
var bottomleftradius = corner.BottomLeftRadius;
corner.BottomLeftRadius = 50;
var bottomrightradius = corner.BottomRightRadius;
corner.BottomRightRadius = 30;
var topleftradius = corner.TopLeftRadius;
corner.TopLeftRadius = 50;
var toprightradius = corner.TopRightRadius;
corner.TopRightRadius = 30;
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Utilisation d'objets graphiques de base (Page 328)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'une vue de
graphique.
Les propriétés suivantes d'un rectangle sont prises en charge dans l'objet graphique :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques de base (Page 328)
Code de programme
Modifiez le code de programme suivant pour accéder à une propriété de base :
//Name
var name = graphicview.Name;
graphicview.Name = "Default Value";
//AlternateBackColor
var backcolor = graphicview.AlternateBackColor;
graphicview.AlternateBackColor = Color.FromArgb(0xCC, 0xF0, 0x80, 0x80);
//Height
var height = graphicview.height;
graphicview.Height = 10;
//ToolTipText
var tooltip = graphicview.ToolTipText;
var tooltiptext = graphicview.ToolTipText.Items[0].Text;
graphicview.ToolTipText.Items[0].Text = "TestforMultilingualProperty";
Modifiez le code de programme suivant pour accéder à une autre propriété typique :
//Padding
var padding = graphicview.Padding;
var bottom = padding.Bottom;
padding.Bottom = 50;
var left = padding.Left;
padding.Left = 60;
var right = padding.Right;
padding.Right = 70;
var top = padding.Top;
padding.Top = 50;
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Utilisation d'objets graphiques de base (Page 328)
Introduction
Pendant l'utilisation de TIA Portal Openness, les objets graphiques (élément) vous permettent
d'exécuter les actions suivantes :
● Créer un objet graphique (élément)
● Supprimer un objet graphique (élément)
● Énumérer un objet graphique (élément)
Les objets graphiques suivants sont pris en charge par TIA Portal Openness. Utilisez les
espaces de noms et types de données suivants pour accéder aux classes et types de données
en rapport avec des objets graphiques :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
Code de programme
Vous pouvez modifier et utiliser l'exemple de code de programme suivant lors de l'utilisation
d'objets graphiques élément.
Recoverable Exception est déclenchée si la méthode Create est appelée avec le nom d'un
objet graphique qui existe déjà dans TIA Portal.
Remarque
L'exemple ci-dessus s'applique à tous les objets graphiques définis dans le tableau de types ci-
dessus. Le HmiIOField doit être défini avec un type/des types qui est/sont défini(s) dans le
tableau "Types et espace(s) de noms".
Remarque
L'exemple ci-dessus s'applique à tous les objets graphiques définis dans le tableau de types ci-
dessus. Le HmiIOField doit être défini avec un type/des types qui est/sont défini(s) dans le
tableau "Types et espace(s) de noms".
Modifiez le code de programme suivant pour rechercher des objets graphiques dans une liste
d'objets graphiques à l'aide du nom :
Modifiez le code de programme suivant pour trouver des objets graphiques dans une liste
d'objets graphiques à l'aide de l'indice :
Modifiez le code de programme suivant pour déterminer avec la méthode Contains si un objet
graphique précis se trouve dans une liste d'objets graphiques :
Remarque
L'exemple ci-dessus s'applique à tous les objets graphiques définis dans le tableau de types ci-
dessus. Le HmiIOField doit être défini avec un type/des types qui est/sont défini(s) dans le
tableau "Types et espace(s) de noms".
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'un champ d'E/S.
Les propriétés suivantes de champs d'E/S sont prises en charge dans l'objet graphique :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code de programme
Modifiez le code de programme suivant pour accéder aux propriétés de base d'un champ d'E/
S:
//Name
var name = iofield.Name;
iofield.Name = "DefaultName";
//AlternateBackColor
var altbackcolor = iofield.AlternateBackColor;
iofield.AlternateBackColor = Color.Beige;
//Height
var height = iofield.Height;
iofield.Height = 100;
//ToolTipText
HmiIOField ioField = createdscreen.ScreenItems.Create<HmiIOField>("hmiIOField");
string culture = "en-US";
Language lang = Tiaproject.LanguageSettings.Languages.Find(new CultureInfo(culture));
MultilingualText mltprop = ioField.ToolTipText;
MultilingualTextItemComposition textItemComp = mltprop.Items;
MultilingualTextItem mlttextitem = textItemComp.Find(lang);
mlttextitem.Text = "CommentInEnglish";
//Padding
var padding = iofield.Padding;
var bottom = padding.Bottom;
padding.Bottom = 50;
padding.Left = 60;
padding.Right = 70;
padding.Top = 50;
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Utilisation d'objets graphiques élément (Page 351)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'un bouton dans
des objets graphiques.
Les propriétés suivantes d'un bouton sont prises en charge dans des objets graphiques :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques élément (Page 351)
Code de programme
Modifiez le code de programme suivant pour accéder aux propriétés de base d'un bouton :
//Name
var name = hmiButton.Name;
hmiButton.Name = "Default Value";
//AlternateBackColor
var altbackcolor = hmiButton.AlternateBackColor;
hmiButton.AlternateBackColor = Color.Beige;
//Height
var height = hmiButton.Height;
hmiButton.Height = 100;
//ToolTipText
string culture = "en-US";
Language lang = Tiaproject.LanguageSettings.Languages.Find(new CultureInfo(culture));
MultilingualText mltprop = hmiButton.ToolTipText;
MultilingualTextItemComposition textItemComp = mltprop.Items;
MultilingualTextItem mlttextitem = hmiButton.Find(lang);
mlttextitem.Text = "TestforMultilingualProperty";
Modifiez le code de programme suivant pour accéder à une autre propriété typique :
//Padding
var padding = hmiButton.Padding;
var bottom = padding.Bottom;
padding.Bottom = 50;
padding.Left = 60;
padding.Right = 70;
padding.Top = 50;
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'un commutateur
dans des objets graphiques.
Les propriétés suivantes de commutateurs sont prises en charge dans des objets graphiques :
Remarque
La propriété StyleItemClass étant protégée en écriture, l'appel est pris en charge pour elle
tandis que l'opération d'écriture déclenche une exception.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques élément (Page 351)
Code de programme
Modifiez le code de programme suivant pour accéder aux propriétés de base d'un
commutateur :
//Name
var name = toggleswitch.Name;
toggleswitch.Name = "Default Value";
//AlternateBackColor
var altbackcolor = toggleswitch.AlternateBackColor;
toggleswitch.AlternateBackColor = Color.Beige;
//Height
var height = toggleswitch.Height;
toggleswitch.Height = 100;
//ToolTipText
var tooltip = toggleswitch.ToolTipText;
var tooltiptext = toggleswitch.ToolTipText.Items[0].Text;
toggleswitch.ToolTipText.Items[0].Text = "TestforMultilingualProperty";
Modifiez le code de programme suivant pour accéder à une autre propriété typique d'un
commutateur :
//Font
var font = toggleswitch.Font;
var italic = font.Italic;
font.Italic = false;
var fontname = font.FontName;
font.FontName = HmiFontName.SimSun;
var size = font.Size;
font.Size = 10.2f;
var stike = font.StrikeOut;
font.StrikeOut = true;
var.underline = font.Underline;
font.Underline = false;
font.Bold = true;
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Utilisation d'objets graphiques élément (Page 351)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'une case à
cocher dans des objets graphiques.
Les propriétés suivantes de cases à cocher sont prises en charge dans des objets graphiques :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques élément (Page 351)
Code de programme
Modifiez le code de programme suivant pour accéder aux propriétés de base d'une case à
cocher :
//Name
var name = chkbox.Name;
chkbox.Name = "DefaultName";
//AlternateBackColor
var altbackcolor = chkbox.AlternateBackColor;
chkbox.AlternateBackColor = Color.Beige;
//Height
var height = chkbox.Height;
chkbox.Height = 100;
//ToolTipText
var tooltip = chkbox.ToolTipText;
var tooltiptext = chkbox.ToolTipText.Items[0].Text;
chkbox.ToolTipText.Items[0].Text = "TestforMultilingualProperty";
Modifiez le code de programme suivant pour accéder à une autre propriété typique d'une case
à cocher :
//Font
var font = chkbox.Font;
var italic = font.Italic;
font.Italic = false;
var fontname = font.FontName;
font.FontName = HmiFontName.SimSun;
var size = font.Size;
font.Size = 10.2f;
var stike = font.StrikeOut;
font.StrikeOut = true;
var.underline = font.Underline;
font.Underline = false;
font.Bold = true;
//Selection Items
var selectionItem = chkbox.SelectionItems;
var newselectionitem = selectionItem.Create("NewSelectionItem");
var graphic = newselection.Graphic;
newselectionitem.Graphic = "abcd";
newselectionitem.Isselected = false;
newselectionitem.Text.Item[0].Text = "Testformultilingual";
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Introduction
L'API TIA Openness V16 vous permet d'appeler et de paramétrer les propriétés de bargraphes
dans des objets graphiques.
Les propriétés suivantes de bargraphes sont prises en charge dans des objets graphiques :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques élément (Page 351)
Code de programme
Modifiez le code de programme suivant pour accéder aux propriétés de base d'un bargraphe :
//Name
var name = bar.Name;
bar.Name = "Default Value";
//RotationCenterPlacement
var rotation = bar.RotationCenterPlacement;
bar.RotationCenterPlacement = HmiRotationCenterPlacement.AbsoluteToContainer;
//Width
var width = bar.Width;
bar.Width = 100;
//ToolTipText
var tooltip = bar.ToolTipText;
var tooltiptext = bar.ToolTipText.Items[0].Text;
bar.ToolTipText.Items[0].Text = "TestforMultilingualProperty";
Modifiez le code de programme suivant pour accéder à une autre propriété typique d'un
bargraphe :
//Font
var title = bar.Title;
title.Text.items[0].Text = "teststing";
title.Visible = false;
title.Forecolor = Color.Black;
var font = title.Font;
var italic = font.Italic;
font.Italic = false;
var fontname = font.FontName;
font.FontName = HmiFontName.SimSun;
var size = font.Size;
font.Size = 10.2f;
var stike = font.StrikeOut;
font.StrikeOut = true;
var underline = font.Underline;
font.Underline = false;
font.Bold = true;
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Utilisation d'objets graphiques élément (Page 351)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'un instrument à
aiguille dans des objets graphiques.
Les propriétés suivantes d'un instrument à aiguille sont prises en charge dans l'objet
graphique :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques élément (Page 351)
Code de programme
Modifiez le code de programme suivant pour accéder aux propriétés de base d'un instrument
à aiguille :
//Name
var name = gauge.Name;
gauge.Name = "Default Value";
//RotationalCenterPlacement
var rotation = gauge.RotationCenterPlacement;
gauge.RotationCenterPlacement = HmiRotationCenterPlacement.AbsoluteToContainer;
//Width
var width = gauge.Width;
gauge.Width = 100;
//ToolTipText
var tooltip = gauge.ToolTipText;
var tooltiptext = gauge.ToolTipText.Items[0].Text;
gauge.ToolTipText.Items[0].Text = "TestforMultilingualProperty";
Modifiez le code de programme suivant pour accéder à une autre propriété typique d'un
instrument à aiguille :
//Font
var title = gauge.Title;
title.Text.items[0].Text = "teststing";
title.Visible = false;
title.Forecolor = Color.Black;
var font = title.Font;
var italic = font.Italic;
font.Italic = false;
var fontname = font.FontName;
font.FontName = HmiFontName.SimSun;
var size = font.Size;
font.Size = 10.2f;
var stike = font.StrikeOut;
font.StrikeOut = true;
var underline = font.Underline;
font.Underline = false;
font.Bold = true;
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Utilisation d'objets graphiques élément (Page 351)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'un curseur dans
des objets graphiques.
Les propriétés suivantes de curseurs sont prises en charge dans des objets graphiques :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques élément (Page 351)
Code de programme
Modifiez le code de programme suivant pour accéder aux propriétés de base d'un curseur :
//Name
var name = slider.Name;
slider.Name = "Default Value";
//RotationalCenterPlacement
var rotation = slider.RotationCenterPlacement;
slider.RotationCenterPlacement = HmiRotationCenterPlacement.AbsoluteToContainer;
//Width
var width = slider.Width;
slider.Width = 100;
//ToolTipText
var tooltip = slider.ToolTipText;
var tooltiptext = slider.ToolTipText.Items[0].Text;
slider.ToolTipText.Items[0].Text = "TestforMultilingualProperty";
Modifiez le code de programme suivant pour accéder à d'autres propriétés typiques d'un
curseur :
//Font
var title = slider.Title;
title.Text.items[0].Text = "teststing";
title.Visible = false;
title.Forecolor = Color.Black;
var font = title.Font;
var italic = font.Italic;
font.Italic = false;
var fontname = font.FontName;
font.FontName = HmiFontName.SimSun;
var size = font.Size;
font.Size = 10.2f;
var stike = font.StrikeOut;
font.StrikeOut = true;
var underline = font.Underline;
font.Underline = false;
font.Bold = true;
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Utilisation d'objets graphiques élément (Page 351)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'un bouton
d'option dans des objets graphiques.
Les propriétés suivantes de boutons d'option sont prises en charge dans des objets
graphiques :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques élément (Page 351)
Code de programme
Modifiez le code de programme suivant pour accéder aux propriétés de base d'un bouton
d'option :
//Name
var name = radio.Name;
radio.Name = "Default Value";
//AlternateBackColor
var altbackcolor = radio.AlternateBackColor;
radio.AlternateBackColor = Color.Beige;
//Height
var height = radio.Height;
radio.Height = 100;
//ToolTipText
var tooltip = radio.ToolTipText;
var tooltiptext = radio.ToolTipText.Items[0].Text;
radio.ToolTipText.Items[0].Text = "TestforMultilingualProperty";
Modifiez le code de programme suivant pour accéder à d'autres propriétés typiques d'un
bouton d'option :
//Font
var font = radio.Font;
var italic = font.Italic;
font.Italic = false;
var fontname = font.FontName;
font.FontName = HmiFontName.SimSun;
var size = font.Size;
font.Size = 10.2f;
var stike = font.StrikeOut;
font.StrikeOut = true;
var underline = font.Underline;
font.Underline = false;
font.Bold = true;
//Selection Items
var selectionItem = radio.SelectionItems;
var newselectionitem = selectionItem.Create("NewSelectionItem");
var graphic = newselectionitem.Graphic;
newselectionitem.Graphic = "abcd";
newselectionitem.IsSelected = false;
newselectionitem.Text.Items[0].Text = "Testformultilingual";
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'une zone de liste
dans des objets graphiques.
Les propriétés suivantes de zones de liste sont prises en charge dans des objets graphiques :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques élément (Page 351)
Code de programme
Modifiez le code de programme suivant pour accéder aux propriétés de base d'une zone de
liste :
//Name
var name = listbox.Name;
listbox.Name = "Default Value";
//AlternateBackColor
var altbackcolor = listbox.AlternateBackColor;
listbox.AlternateBackColor = Color.Beige;
//Height
var height = listbox.Height;
listbox.Height = 100;
//ToolTipText
var tooltip = listbox.ToolTipText;
var tooltiptext = listbox.ToolTipText.Items[0].Text;
listbox.ToolTipText.Items[0].Text = "TestforMultilingualProperty";
Modifiez le code de programme suivant pour accéder à une autre propriété typique d'une zone
de liste :
//Font
var font = listbox.Font;
var italic = font.Italic;
font.Italic = false;
var fontname = font.FontName;
font.FontName = HmiFontName.SimSun;
var size = font.Size;
font.Size = 10.2f;
var stike = font.StrikeOut;
font.StrikeOut = true;
var.underline = font.Underline;
font.Underline = false;
font.Bold = true;
//Selection Items
var selectionItem = listbox.SelectionItems;
var newselectionitem = selectionItem.Create("NewSelectionItem");
var graphic = newselectionitem.Graphic;
newselectionitem.Graphic = "abcd";
newselectionitem.Isselected = false;
newselectionitem.Text.Item[0].Text = "Testformultilingual";
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Utilisation d'objets graphiques élément (Page 351)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'un champ de
texte dans des objets graphiques.
Les propriétés suivantes de champs de texte sont prises en charge dans des objets
graphiques :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques élément (Page 351)
Code de programme
Modifiez le code de programme suivant pour accéder à une propriété de base d'un champ de
texte :
//Name
var name = textbox.Name;
texttbox.Name = "Default Value";
//BorderColor
var bordercolor = textbox.BorderColor;
textbox.BorderColor = Color.FromArgb(0xCC, 0xF0, 0x80, 0x80);
//BorderWidth
var borderwidth = textbox.BorderWidth;
textbox.BorderWidth = 10;
//ToolTipText
var tooltip = textbox.ToolTipText;
var tooltiptext = textbox.ToolTipText.Items[0].Text;
textbox.ToolTipText.Items[0].Text = "TestforMultilingualProperty";
Modifiez le code de programme suivant pour accéder à une autre propriété typique d'un champ
de texte :
//Font
var font = textbox.Font;
var italic = font.Italic;
font.Italic = false;
var fontname = font.FontName;
font.FontName = HmiFontName.SimSun;
var size = font.Size;
font.Size = 10.2f;
var stike = font.StrikeOut;
font.StrikeOut = true;
var.underline = font.Underline;
font.Underline = false;
font.Bold = true;
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Utilisation d'objets graphiques élément (Page 351)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'une horloge dans
des objets graphiques.
Les propriétés suivantes d'une horloge sont prises en charge dans un objet graphique :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques élément (Page 351)
Code de programme
Modifiez le code de programme suivant pour accéder à une propriété de base d'une horloge :
//Name
var name = clock.Name;
clock.Name = "Default Value";
//AlternateBackColor
var altbackcolor = clock.AlternateBackColor;
clock.AlternateBackColor = Color.Beige;
//Height
var height = clock.Height;
clock.Height = 100;
//ToolTipText
var tooltip = clock.ToolTipText;
var tooltiptext = clock.ToolTipText.Items[0].Text;
clock.ToolTipText.Items[0].Text = "TestforMultilingualProperty";
//DialLabelFont
var dialfont = clock.DialLabelFont;
dialfont.Italic = false;
var fontname = dialfont.FontName;
dialfont.FontName = HmiFontName.SimSun;
var size = dialfont.Size;
dialfont.Size = 10.2f;
var stike = dialfont.StrikeOut;
dialfont.StrikeOut = true;
var underline = dialfont.Underline;
dialfont.Underline = false;
dialfont.Bold = true;
//ShowHours
var showhour = clock.ShowHours;
clock.ShowHours = false;
Remarque
Lors de la définition de propriétés, si la valeur ne peut pas être définie par l'opération d'écriture,
une Recoverable exception est déclenchée. Si des valeurs en dehors de la plage autorisée ne
sont pas définies, une exception Recoverable est déclenchée. Si ces valeurs sont définies, la
propriété est mise à un état non valide.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Utilisation d'objets graphiques élément (Page 351)
Introduction
Lors de l'utilisation de TIA Portal Openness, les objets graphiques de commande vous
permettent d'exécuter les actions suivantes :
● Créer des objets graphiques (contrôles)
● Supprimer des objets graphiques (contrôles)
● Énumérer des objets graphiques (contrôles)
Les objets graphiques suivants sont pris en charge par TIA Portal Openness. Utilisez les
espaces de noms et types de données suivants pour accéder aux classes et types de données
en rapport avec des objets graphiques :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
Code de programme
Vous pouvez modifier et utiliser l'exemple de code de programme suivant lors de l'utilisation
d'objets graphiques de commande.
Recoverable Exception est déclenchée si la méthode Create est appelée avec le nom d'un
objet graphique qui existe déjà dans TIA Portal.
Remarque
L'exemple ci-dessus s'applique à tous les objets graphiques définis dans le tableau de types ci-
dessus. La HmiAlarmControl doit être définie avec un type/des types qui est/sont défini(s) dans
le tableau "Types et espace(s) de noms".
Remarque
L'exemple ci-dessus s'applique à tous les objets graphiques définis dans le tableau de types ci-
dessus. La HmiAlarmControl doit être définie avec un type/des types qui est/sont défini(s) dans
le tableau "Types et espace(s) de noms".
Modifiez le code de programme suivant pour rechercher des objets graphiques dans une liste
d'objets graphiques à l'aide du nom :
Modifiez le code de programme suivant pour trouver des objets graphiques dans une liste
d'objets graphiques à l'aide de l'indice :
Modifiez le code de programme suivant pour déterminer avec la méthode Contains si un objet
graphique précis se trouve dans une liste d'objets graphiques :
Remarque
L'exemple ci-dessus s'applique à tous les objets graphiques définis dans le tableau de types ci-
dessus. Le HmiAlarmControl doit être défini avec un type/des types qui est/sont défini(s) dans
le tableau "Types et espace(s) de noms".
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'une fenêtre de
vue dans des objets graphiques de commande.
Les propriétés suivantes d'une fenêtre de vue sont prises en charge dans des objets
graphiques de commande :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques de commande (Page 380)
Code de programme
Modifiez le code de programme suivant pour accéder aux propriétés de base d'une fenêtre de
vue :
//Width
var autoplay = hmiscreenwindow.Width;
hmiscreenwindow.Width = 1;
//HorizontalScrollBarVisibility
var horizontalscrollbarvisibilityValue = hmiscreenwindow.HorizontalScrollBarVisibility;
hmiscreenwindow.HorizontalScrollBarVisibility = HmiScrollBarVisibility.Visible;
//Name
var name = hmiscreenwindow.Name;
hmiscreenwindow.Name = "DefaultName";
//Caption
var caption = hmiscreenwindow.Caption.Items[0].Text;
hmiscreenwindow.Caption.Items[0].Text = "<body><p>TestforMultilingualProperty</p></body>";
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Utilisation d'objets graphiques de commande (Page 380)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'un navigateur
dans des objets graphiques de commande.
Les propriétés suivantes d'un navigateur sont prises en charge dans des objets graphiques de
commande :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques de commande (Page 380)
Code de programme
Modifiez le code de programme suivant pour accéder aux propriétés de base d'un navigateur :
//Width
var autoplay = hmiwebcontrol.width;
hmiwebcontrol.Width = 1;
//BackColor
var backcolor = hmiwebcontrol.BackColor;
hmiwebcontrol.BackColor = Color.Beige;
//Name
var name = hmiwebcontrol.Name;
hmiwebcontrol.Name = "DefaultName";
//Caption
var caption = hmiwebcontrol.Caption.Items[0].Text;
hmiwebcontrol.Caption.Items[0].Text= "<body><p>TestforMultilingualProperty</p></body>";
//Status bar
var statusBar = hmiwebcontrol.StatusBar;
var backColor = statusBar.BackColor;
statusBar.BackColor = Color.Aqua;
var enabled = statusBar.Enabled;
statusBar.Enabled = true;
var visible = statusBar.Visible;
statusBar.Visible = true;
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Utilisation d'objets graphiques de commande (Page 380)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'une vue Jeu de
paramètres dans des objets graphiques de commande.
Les propriétés suivantes d'une vue Jeu de paramètres sont prises en charge dans des objets
graphiques de commande :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques de commande (Page 380)
Code de programme
Modifiez le code de programme suivant pour accéder aux propriétés de base d'une vue Jeu de
paramètres :
//Width
var autoplay = hmidetailedparametercontrol.Width;
hmidetailedparametercontrol.Width = 1;
//BackColor
var backcolor = hmidetailedparametercontrol.BackColor;
hmidetailedparametercontrol.BackColor = Color.Beige;
//Name
var name = hmidetailedparametercontrol.Name;
hmidetailedparametercontrol.Name = "Default";
//Caption
var caption = hmidetailedparametercontrol.Caption.Items[0].Text;
hmidetailedparametercontrol.Caption.Items[0].Text=
"<body><p>TestforMultilingualProperty</p></body>";
Modifiez le code de programme suivant pour accéder à une autre propriété typique :
//Status bar
var statusBar = hmidetailedparametercontrol.StatusBar;
var backColor = statusBar.BackColor;
statusBar.BackColor = Color.Aqua;
var enabled = statusBar.Enabled;
statusBar.Enabled = true;
var visible = statusBar.Visible;
statusBar.Visible = true;
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Utilisation d'objets graphiques de commande (Page 380)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'une vue des
alarmes dans des objets graphiques de commande.
Les propriétés suivantes d'une vue des alarmes sont prises en charge dans des objets
graphiques de commande :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques de commande (Page 380)
Code de programme
Modifiez le code de programme suivant pour accéder aux propriétés de base d'une vue des
alarmes :
//Width
var autoplay = hmialarmcontrol.Width;
hmialarmcontrol.Width = 1;
//BackColor
var backcolor = hmialarmcontrol.BackColor;
hmialarmcontrol.BackColor = Color.Beige;
//Name
var name = hmialarmcontrol.Name;
hmialarmcontrol.Name = "DefaultName";
//Caption
var caption = hmialarmcontrol.Caption.Items[0].Text;
hmialarmcontrol.Caption.Items[0].Text = "<body><p>TestforMultilingualProperty</p></body>";
//Status bar
var statusBar = hmialarmcontrol.StatusBar;
var backColor = statusBar.BackColor;
statusBar.BackColor = Color.Aqua;
var enabled = statusBar.Enabled;
statusBar.Enabled = true;
var visible = statusBar.Visible;
statusBar.Visible = true;
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Utilisation d'objets graphiques de commande (Page 380)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'une table des
valeurs dans des objets graphiques de commande.
Les propriétés suivantes d'une table des valeurs sont prises en charge dans des objets
graphiques de commande :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques de commande (Page 380)
Code de programme
Modifiez le code de programme suivant pour accéder aux propriétés de base d'une table des
valeurs :
//Width
var autoplay = hmitrendcompanion.Width;
hmitrendcompanion.Width = 1;
//BackColor
var backcolor = hmitrendcompanion.BackColor;
hmitrendcompanion.BackColor = Color.Beige;
//Name
var name = hmitrendcompanion.Name;
hmitrendcompanion.Name = "DefaultName";
//Caption
var caption = hmitrendcompanion.Caption.Items[0].Text;
hmitrendcompanion.Caption.Items[0].Text = "<body><p>TestforMultilingualProperty</p></
body>";
Modifiez le code de programme suivant pour accéder à d'autres propriétés typiques d'une table
des valeurs :
//Status bar
var statusBar = hmitrendcompanion.StatusBar;
var backColor = statusBar.BackColor;
statusBar.BackColor = Color.Aqua;
var enabled = statusBar.Enabled;
statusBar.Enabled = true;
var visible = statusBar.Visible;
statusBar.Visible = true;
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Utilisation d'objets graphiques de commande (Page 380)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'une vue de
courbes dans des objets graphiques de commande.
Les propriétés suivantes d'une vue de courbes sont prises en charge dans des objets
graphiques de commande :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques de commande (Page 380)
Code de programme
Modifiez le code de programme suivant pour accéder aux propriétés de base d'une vue de
courbes :
//Width
var autoplay = hmitrendcontrol.Width;
hmitrendcontrol.Width = 1;
//BackColor
var backcolor = hmitrendcontrol.BackColor;
hmitrendcontrol.BackColor = Color.Beige;
//Name
var name = hmitrendcontrol.Name;
hmitrendcontrol.Name = "DefaultName";
//Caption
var caption = hmitrendcontrol.Caption.Items[0].Text;
hmitrendcontrol.Caption.Items[0].Text = "<body><p>TestforMultilingualProperty</p></body>";
//Status bar
var statusBar = hmitrendcontrol.StatusBar;
var backColor = statusBar.BackColor;
statusBar.BackColor = Color.Aqua;
var enabled = statusBar.Enabled;
statusBar.Enabled = true;
var visible = statusBar.Visible;
statusBar.Visible = true;
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Utilisation d'objets graphiques de commande (Page 380)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'un Media Player
dans des objets graphiques de commande.
Les propriétés suivantes d'un Media Player sont prises en charge dans des objets graphiques
de commande :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques de commande (Page 380)
Code de programme
Modifiez le code de programme suivant pour accéder aux propriétés de base d'un Media
Player :
//Autoplay
var autoplay = hmimediacontrol.AutoPlay;
hmimediacontrol.AutoPlay = true;
//BackColor
var backcolor = hmimediacontrol.BackColor;
hmimediacontrol.BackColor = Color.Beige;
//Name
var name = hmimediacontrol.Name;
hmimediacontrol.Name = "DefaultName";
//Caption
var caption = hmimediacontrol.Caption.Items[0].Text;
hmimediacontrol.Caption.Items[0].Text = "<body><p>TestforMultilingualProperty</p></body>";
Modifiez le code de programme suivant pour accéder à une autre propriété typique :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Utilisation d'objets graphiques de commande (Page 380)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'une vue
tabellaire dans des objets graphiques de commande.
Les propriétés suivantes d'une vue tabellaire sont prises en charge dans des objets graphiques
de commande :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques de commande (Page 380)
Code de programme
Modifiez le code de programme suivant pour accéder aux propriétés de base d'une vue
tabellaire :
//Width
var autoplay = hmiprocesscontrol.Width;
hmiprocesscontrol.Width = 1;
//BackColor
var backcolor = hmiprocesscontrol.BackColor;
hmiprocesscontrol.BackColor = Color.Beige;
//Name
var name = hmiprocesscontrol.Name;
hmiprocesscontrol.Name = "DefaultName";
//Caption
var caption = hmiprocesscontrol.Caption.Items[0].Text;
hmiprocesscontrol.Caption.Items[0].Text= "<body><p>TestforMultilingualProperty</p></
body>";
//status bar
var statusBar = hmiprocesscontrol.StatusBar;
var backColor = statusBar.BackColor;
statusBar.BackColor = Color.Aqua;
var enabled = statusBar.Enabled;
statusBar.Enabled = true;
var visible = statusBar.Visible;
statusBar.Visible = true;
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Utilisation d'objets graphiques de commande (Page 380)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'une vue de
courbes f(x) dans des objets graphiques de commande.
Les propriétés suivantes d'une vue de courbes f(x) sont prises en charge dans des objets
graphiques de commande :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Une vue et un objet graphique sont créés
Voir Utilisation d'objets graphiques de commande (Page 380)
Code de programme
Modifiez le code de programme suivant pour accéder aux propriétés de base d'une vue de
courbes f(x) :
//Width
var autoplay = hmifunctiontrendcontrol.Width;
hmifunctiontrendcontrol.Width = 1;
//BackColor
var backcolor = hmifunctiontrendcontrol.BackColor;
hmifunctiontrendcontrol.BackColor = Color.Beige;
//Name
var name = hmifunctiontrendcontrol.Name;
hmifunctiontrendcontrol.Name = "DefaultName";
//Caption
var caption = hmifunctiontrendcontrol.Caption.Items[0].Text;
hmifunctiontrendcontrol.Caption.Items[0].Text =
"<body><p>TestforMultilingualProperty</p></body>";
Modifiez le code de programme suivant pour accéder à d'autres propriétés typiques d'une vue
de courbes f(x) :
//Status bar
var statusBar = hmifunctiontrendcontrol.StatusBar;
var backColor = statusBar.BackColor;
statusBar.BackColor = Color.Aqua;
var enabled = statusBar.Enabled;
statusBar.Enabled = true;
var visible = statusBar.Visible;
statusBar.Visible = true;
Modifiez le code de programme suivant pour rechercher une plage de courbes dans un
HmiFunctionTrendControl utilisant des objets Part :
Modifiez le code de programme suivant pour vérifier une plage de courbes dans un
HmiFunctionTrendControl utilisant des objets Part :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Utilisation d'objets graphiques de commande (Page 380)
Objet logiciel HMI-Unified (Page 281)
Introduction
Lors de l'utilisation de TIA Portal Openness, les instances de bloc d'affichage vous permettent
d'exécuter les actions suivantes :
● Créer des instances de bloc d'affichage (contrôles)
● Supprimer des instances de bloc d'affichage (contrôles)
● Énumérer des instances de bloc d'affichage (contrôles)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
● Le type d'objet d'installation doitr être créé
Code de programme
Vous pouvez modifier et utiliser l'exemple de code de programme suivant lors de l'utilisation
d'instances de bloc d'affichage.
Recoverable Exception est déclenchée quand la méthode Create est appelée avec un nom de
vue pour lequel une vue existe déjà dans TIA Portal.
//Case 1
HmiSoftware hmiSoftware = GetHMISoftware ();
HmiScreen hmiScreen = hmiSoftware.Screens.Create ("Screen_1");
HmiScreenItemBaseComposition screenitems = hmiSoftware.Screens [0].ScreenItems;
HmiFaceplateContainer faceplate = hmiScreen .ScreenItems.Create<HmiFaceplateContainer>
("abcd");
If (faceplate! = null)
{
faceplate.Delete ();
}
//Case 2
HmiSoftware hmiSoftware = GetHMISoftware ();
HmiScreen hmiScreen = hmiSoftware.Screens.Create ("Screen_1");
HmiScreenItemBaseComposition screenitems = hmiSoftware.Screens [0].ScreenItems;
HmiFaceplateContainer faceplate = hmiScreen .ScreenItems.Create<HmiFaceplateContainer>
("abcd");
IEngineeringObject ObjhmiLineEnggObj = faceplate;
if (ObjhmiLineEnggObj != null)
{
ObjhmiLineEnggObj.Invoke ("Delete", null);
}
Modifiez le code de programme suivant pour rechercher des instances de bloc d'affichage dans
une liste d'objets graphiques à l'aide du nom :
Modifiez le code de programme suivant pour trouver des instances de bloc d'affichage dans
une liste d'objets graphiques à l'aide de l'indice :
Modifiez le code de programme suivant pour déterminer avec Contains si une instance de bloc
d'affichage précise se trouve dans une liste d'objets graphiques :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Objet logiciel HMI-Unified (Page 281)
Ouvrir un projet (Page 109)
Introduction
TIA Portal Openness vous permet d'appeler et de paramétrer les propriétés d'une instance de
bloc d'affichage dans des objets graphiques de commande.
Les propriétés suivantes d'une instance de bloc d'affichage sont prises en charge dans des
objets graphiques de commande :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
Code de programme
Modifiez le code de programme suivant pour appeler les propriétés de l'instance de bloc
d'affichage :
Modifiez le code de programme suivant pour paramétrer les propriétés de l'instance de bloc
d'affichage :
//Set_Caption:
faceplate.Caption.Items[0].Text = "testCaption";
//Set_WindowFlags
faceplate.WindowFlags = HmiWindowFlag.CanSize;
//Set_Icon
faceplate.Icon = “testCaption”;
//Set_Top
faceplate.Top = 50;
//Set_Left
faceplate.Left = 50;
//Set_Width
faceplate.Width = 50;
//Set_Height
faceplate.Height = 50;
//Set_RequireExplicitRelease
faceplate.RequireExplicitRelease = true;
//Set_Authorization
faceplate.Authorization = Authorization;
//Set_Name
faceplate.Name = “TestName”;
//Set_Visible
faceplate.Visible = true;
//Set_Enabled
faceplate.Enabled = true;
//Set_TabIndex
faceplate.TabIndex = 10;
Remarque
Get - Recoverable exception est déclenchée si le contrôle de cohérence concerné pour la
propriété indiquée échoue. Si les contrôles de cohérence sont absents pendant la définition de
propriétés de l'opération d'écriture, une Recoverable exception est déclenchée.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Utilisation d'objets graphiques de commande (Page 380)
Introduction
La dynamisation et les objets événements dans les propriétés de bloc d'affichage vous
permettent d'effectuer les actions suivantes en cas d'utilisation de TIA Portal Openness :
● Accéder à la dynamisation (liaisons de variables, animations, scripts locaux) pour les
instances de bloc d'affichage.
● Accéder aux événements d'instances de bloc d'affichage par les scripts et fonctions
système.
● Accéder aux événements propriétés d'une instance de bloc d'affichage.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
Code du programme : Accéder aux événements d'instances de bloc d'affichage par les scripts et
fonctions système.
Pour une description détaillée de la manière d'accéder aux événements d'instances de bloc
d'affichage par des scripts et fonctions système, référez-vous à Utilisation de la dynamisation
et des événements pour les vues/objets graphiques via script (Page 412).
Code du programme : Accéder aux événements propriétés d'une instance de bloc d'affichage
Pour une description détaillée de la manière d'accéder aux événements propriétés d'une
instance de bloc d'affichage, référez-vous à Utilisation d'événements pour des vues/objets
graphiques et des propriétés (Page 409).
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Introduction
Lors de l'utilisation de TIA Portal Openness, les événements propriétés et les événements pour
des vues et des objets graphiques vous permettent d'exécuter les actions suivantes :
● Créer des événements propriétés
● Énumérer des événements propriétés
● Supprimer des événements propriétés
● Accéder aux propriétés d'événements
● Créer des événements pour des vues et des objets graphiques
● Énumérer des événements pour des vues et des objets graphiques
● Accéder aux propriétés d'événements pour des vues et des objets graphiques
● Supprimer des événements pour des vues et des objets graphiques
Conditions
● TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Accès à un objet logiciel HMI-Unified
Voir Objet logiciel HMI-Unified (Page 281)
Code de programme
Vous pouvez modifier et utiliser l'exemple de code de programme suivant lors de l'utilisation
d'événements pour des vues/objets graphiques.
//Event Get
PropertyEventType eventType = propertyEvent.EventType;
string propertyName = propertyEvent.PropertyName;
IHmiScript hmiScript = propertyEvent.Script;
//Script Action in Event Get
bool hmiScriptEventAsync = hmiScript.Async;
string hmiScriptEventGlobal = hmiScript.GlobalDefinitionAreaScriptCode;
string hmiScriptEventCode = hmiScript.ScriptCode;
HmiValidationResult result = hmiScript.SyntaxCheck();
Accéder aux propriétés d'événements pour des vues et des objets graphiques
Modifiez le code de programme suivant pour appeler les propriétés pour des vues et des objets
graphiques :
Remarque
Create - Recoverable exception est déclenchée quand les événements propriétés et les
événements pour vues et objets graphiques concernés ne sont pas pris en charge pour la
propriété indiquée. Si les contrôles de cohérence sont absents pendant la définition de
propriétés de l'opération d'écriture, une Recoverable exception est déclenchée.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
7.18.9.7 Utilisation de la dynamisation et des événements pour les vues/objets graphiques via
script
Introduction
Lors de l'utilisation de TIA Portal Openness, les scripts pour la configuration de la dynamisation
de propriétés et d'événements pour des vues/objets graphiques vous permettent d'effectuer
les actions suivantes :
● Créer des dynamisations de script
● Énumérer des dynamisations de script
● Supprimer des dynamisations de script
● Accéder aux propriétés de dynamisations de script
● Accéder aux propriétés d'un déclenchement
● Vérifier la syntaxe
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel HMI-Unified
Voir Objet logiciel HMI-Unified (Page 281)
Code de programme
Vous pouvez modifier et utiliser l'exemple de code de programme suivant lors de l'utilisation de
dynamisation de script pour des vues/objets graphiques.
Contrôle de syntaxe
Modifiez le code de programme suivant pour vérifier avec l'action de dynamisation de script
(méthode) SyntaxCheck la syntaxe du code du script ou du code d'un script global.
Remarque
Create - Recoverable exception est déclenchée lorsque la dynamisation concernée pour la
propriété indiquée n'est pas prise en charge. Si les contrôles de cohérence sont absents
pendant la définition de propriétés de l'opération d'écriture, une Recoverable exception est
déclenchée.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Introduction
Lors de l'utilisation de TIA Portal Openness, la fonction de dynamisation des vues et des objets
graphiques vous permet d'exécuter les actions suivantes :
● Créer une dynamisation pour une propriété
● Énumérer une dynamisation pour une propriété
● Supprimer une dynamisation pour une propriété
● Accéder à des propriétés communes de la dynamisation
● Accéder aux propriétés de la dynamisation de variables
Remarque
Pour accéder à la dynamisation pour une propriété au niveau de l'objet Part, vous devez
accéder à l'objet Part correspondant du contrôle. Pour plus d'informations sur les Part,
voir Accéder aux propriétés d'une vue de courbes (Page 79).
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
Code de programme
Vous pouvez modifier et utiliser l'exemple de code de programme suivant lors de l'utilisation de
dynamisations pour des vues/objets graphiques.
Remarque
Create - Recoverable exception est déclenchée lorsque la dynamisation concernée pour la
propriété indiquée n'est pas prise en charge. Si les contrôles de cohérence sont absents
pendant la définition de propriétés de l'opération d'écriture, une Recoverable exception est
déclenchée.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Objet logiciel HMI-Unified (Page 281)
Accéder aux propriétés d'une vue de courbes (Page 393)
Introduction
Vous pouvez via l'interface TIA Openness vérifier l'existence d'une licence WinCC Unified pour
chaque application Openness client de sorte qu'une application client ne puisse contourner la
procédure d'octroi de licence à travers l'utilisation d'interfaces Openness.
Vous n'avez accès à un appareil IHM (Unified) et ses objets subordonnés (par ex. variables,
alarmes, vues, etc.) que si une licence IHM Unified est existante. S'il n'existe aucune licence
WinCC Unified, l'API Openness retourne une valeur nulle à chaque action au niveau de
l'appareil (par ex. créer, rechercher, supprimer).
Remarque
Une valeur nulle est fournie en retour pour une licence invalide de logiciel WinCC Unified
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Il existe un accès à l'objet logiciel IHM
Voir Objet logiciel HMI-Unified (Page 281)
Code du programme
Modifiez le code de programme suivant pour accéder à l'appareil ou aux systèmes partiels de
l'appareil lorsqu'il n'y a pas de licence ; une valeur nulle est retournée :
Remarque
Pendant l'accès au code du programme ci-dessus, la valeur de SoftTarget est nulle et aucun
accès aux systèmes partiels (alarmes, variables) n'est possible.
Modifiez le code de programme suivant pour accéder à l'appareil ou aux systèmes partiels de
l'appareil lorsqu'une licence est existante ; une valeur nulle est retournée :
Remarque
Pendant l'accès au code du programme ci-dessus, le SoftTarget contient des conteneurs
d'appareils et l'accès aux systèmes partiels (alarmes, variables) est possible.
Une valeur NULL retournée pour un conteneur d'appareils indique que la licence n'est pas
disponible. L'exception Recovarable ne prenant pas en charge des alertes d'exception
personnalisées, c'est NULL qui est utilisée comme valeur en retour.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Objet logiciel HMI-Unified (Page 281)
Introduction
Vous pouvez exécuter les actions suivantes dans la vue de l'installation lors de l'utilisation de
TIA Portal Openness :
● Créer une vue de l'installation
● Supprimer une vue de l'installation
● Renommer une vue de l'installation
Conditions
● TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code de programme
Modifiez le code de programme suivant pour créer une vue de l'installation :
Remarque
Vous ne pouvez créer qu'une seule vue de l'installation dans un projet.
Modifiez le code de programme suivant pour enlever ou supprimer une vue de l'installation :
Modifiez le code de programme suivant pour renommer une vue de l'installation en actualisant
la propriété 'Name' :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Introduction
Vous pouvez exécuter les actions suivantes dans les nœuds de vue de l'installation lors de
l'utilisation de TIA Portal Openness :
● Créer un nœud de vue de l'installation
● Supprimer un nœud de vue de l'installation
● Renommer un nœud de vue de l'installation
Propriétés
Les propriétés suivantes sont prises en charge par un noeud de vue de l'installation avec TIA
Portal Openness :
Conditions
● TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code de programme
Modifiez le code de programme suivant pour créer un nœud de vue de l'installation :
Modifiez le code de programme suivant pour créer un nœud de vue de l'installation sous un
autre nœud de vue :
Remarque
Vous pouvez créer autant de nœuds que vous voulez dans une vue de l'installation ou sous un
autre nœud de vue de l'installation.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Introduction
Avec TIA Portal Openness, vous pouvez énumérer la vue de l'installation existant dans un
projet défini dans TIA Portal.
Conditions
● TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code de programme
Modifiez le code de programme suivant pour énumérer toutes les vue de l'installation existant
dans le projet :
Modifiez le code de programme suivant pour rechercher une vue de l'installation dans une liste
de vues de l'installation à l'aide du nom :
Modifiez le code de programme suivant pour rechercher une vue de l'installation dans une liste
de vues de l'installation à l'aide de l'indice :
Modifiez le code de programme suivant pour rechercher une vue de l'installation dans une liste
de vues de l'installation à l'aide du nœud :
Modifiez le code de programme suivant pour rechercher un nœud de vue de l'installation dans
une liste nœuds de vues de l'installation à l'aide du nom :
PlantViewNodeComposition plantViewNodes =
m_tiaPortalApp.Projects[0].PlantViews[0].PlantViewNodes;
PlantViewNode plantViewNode = plantViewNodes.Find("Mixing");
Modifiez le code de programme suivant pour énumérer toutes les listes de nœuds qui existent
dans la vue de l'installation :
Modifiez le code de programme suivant pour énumérer tous les nœuds existant dans les vues
de l'installation disponibles à tous les niveaux hiérarchiques :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Introduction
Vous pouvez exécuter les actions suivantes pour l'accès aux hiérarchies dans les vues de
l'installation et aux objets de l'installation lors de l'utilisation de TIA Portal Openness :
● Affecter l'appareil à une vue de l'installation
● Modifier l'appareil dans une vue de l'installation
● Supprimer l'appareil d'une vue de l'installation
Conditions
● TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code de programme
Modifiez le code de programme suivant pour affecter un appareil à la vue de l'installation en
définissant la propriété 'AssignedHmiDevice' :
Modifiez le code de programme suivant pour modifier un appareil dans la vue de l'installation
en définissant un nom d'appareil dans la propriété 'AssignedHmiDevice' :
Modifiez le code de programme suivant pour supprimer un appareil dans la vue de l'installation
en définissant un nom d'appareil vide dans la propriété 'AssignedHmiDevice' :
Remarque
Pour supprimer un appareil, utilisez uniquement string.empty. NULL ou espace (" ") est
considéré comme un nom d'appareil et un message d'erreur stipulant que l'appareil est
introuvable apparaît.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Introduction
Vous pouvez exécuter les actions suivantes pour l'accès à une instance CPM à l'aide du type
de CPM lors de l'utilisation de TIA Portal Openness :
● Créer des instances d'objet CPM
● Supprimer des instances d'objet CPM
● Renommer des instances d'objet CPM
Conditions
● TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Une installation est créée
Code de programme
Modifiez le code de programme suivant pour créer une instance d'objet CPM :
Modifiez le code de programme suivant pour enlever ou supprimer une instance d'objet CPM :
Modifiez le code de programme suivant pour renommer une instance d'objet CPM en
actualisant la propriété 'Name' :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Introduction
Vous pouvez exécuter les actions suivantes pour l'accès aux nœuds dans la vue de
l'installation des instances d'objet CPM lors de l'utilisation de TIA Portal Openness :
● Créer un nœud de vue de l'installation
● Supprimer un nœud de vue de l'installation
● Renommer un nœud de vue de l'installation
Conditions
● TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code de programme
Modifiez le code de programme suivant pour créer un nœud de vue de l'installation dans une
instance d'objet CPM :
Remarque
Vous pouvez créer autant de nœuds de vue de l'installation que vous voulez dans un objet
CPM.
Modifiez le code de programme suivant pour créer une instance d'objet CPM dans un nœud de
vue de l'installation :
Remarque
Vous pouvez créer autant d'instances d'objet CPM que vous voulez dans un nœud de vue de
l'installation.
Modifiez le code de programme suivant pour enlever ou supprimer un nœud sous un nœud de
la vue de l'installation :
Modifiez le code de programme suivant pour renommer un nœud dans la vue de l'installation
d'une instance d'objet CPM en actualisant la propriété 'Name' :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Introduction
Avec TIA Portal Openness vous pouvez énumérer les membres d'une instance d'objet CPM.
Conditions
● TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code de programme
Modifiez le code de programme suivant pour énumérer tous les membres de l'instance d'objet
CPM :
Remarque
Dans l'exemple ci-dessus, l'opérateur ?. se réfère à la vérification du zéro.
Modifiez le code de programme suivant pour rechercher une variable d'interface dans la liste
des interfaces à l'aide du nom :
Modifiez le code de programme suivant pour rechercher une variable d'interface dans la liste
des interfaces à l'aide de l'indice :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
7.18.12 Accéder aux propriétés des interfaces/variables d'archive des instances d'objets
de l'installation
7.18.12.1 Accès et actualisation des propriétés des variables de l'interface des instances d'objets
de l'installation CPM
Introduction
TIA Portal Openness vous permet d'accéder aux propriétés des variables d'interface des
instances d'objets de l'installation CPM et de les actualiser.
Il est possible d'accéder aux propriétés des variables de l'interface des instances d'objets de
l'installation CPM suivantes :
Remarque
Il n'est possible de configurer la propriété PLCTag & Connection qu'une fois que l'appareil IHM
a été affecté à une vue de l'installation.
Conditions
● TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code du programme
Modifiez le code de programme suivant pour accéder à toutes les propriétés des variables
d'interface :
Modifiez le code de programme suivant pour actualiser certaines propriétés d'une variable de
l'interface, par ex. commentaire, variable API, coupleur, mode d'acquisition, cycle
d'acquisition :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
7.18.12.2 Accès et actualisation des propriétés de variables membre d'une variable d'interface
Introduction
TIA Portal Openness vous permet d'accéder aux propriétés des variables membre d'une
variable d'interface et de les actualiser.
Il est possible d'accéder aux propriétés des variables membre des variables d'interface
suivantes :
Conditions
● TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code du programme
Modifiez le code de programme suivant :
Modifiez le code de programme suivant pour accéder à toutes les propriétés de la variable
membre :
Modifiez le code de programme suivant pour actualiser les propriétés d'une variable membre
d'une instance d'objet CPM :
Modifiez le code de programme suivant pour accéder à toutes les variables d'archive d'une
variable membre d'une instance d'objet CPM :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
7.18.12.3 Accès et actualisation des propriétés des variables de journalisation d'une variable
membre
Introduction
Vous pouvez accéder avec TIA Portal Openness aux variables d'archive de variables Member
dans les instances d'objet d'installation CPM.
Il est possible d'accéder aux propriétés suivantes des variables d'archive de variables
membres dans les instances d'objet d'installation CPM :
Conditions
● TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code du programme
Modifiez le code de programme suivant pour accéder à toutes les propriétés des variables
d'archive :
Remarque
Il n'est pas possible d'actualiser des propriétés de la classe PlantObjectLoggingTag
correspondant aux variables d'archive d'une instance d'objet CPM.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir AUTOHOTSPOT
● Vous avez ouvert un projet avec votre application TIA Portal Openness.
Voir AUTOHOTSPOT
Utilisation
Vous pouvez déterminer l'état d'un API ou de tous les API au sein d'un projet.
TIA Portal Openness distingue les états suivants :
● Offline
● l'API est connecté ("la connexion est établie")
● En ligne
● l'API n'est pas connecté ("la connexion est coupée")
● Incompatible
● non accessible
● Protégé
Code du programme
Pour déterminer l'état d'un API, modifiez le code de programme suivant :
Pour déterminer l'état de tous les API dans un projet, modifiez le code de programme suivant :
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir AUTOHOTSPOT
● Un projet est ouvert.
Voir AUTOHOTSPOT
Utilisation
L'interface TIA Portal Openness API vous permet de définir les paramètres pour une liaison en
ligne :
● Enumérer les types de connexion disponibles avec un API
● Enumérer les interfaces disponibles avec un API
● Enumérer les emplacements affectés
● Enumérer les adresses disponibles des sous-réseaux et passerelles
● Définir les paramètres de liaison
Vous pouvez aussi accéder à un type de connexion et une interface de PC par le nom :
Pour énumérer les adresses disponibles des sous-réseaux et passerelles sur une interface de
PC, modifiez le code de programme suivant :
Vous pouvez également accéder aux sous-réseaux et passerelles par le nom ou l'adresse IP :
Remarque
La définition des paramètres de liaison écrase tous les paramètres de liaison définis
auparavant. Si vous avez déjà défini les paramètres de liaison directement dans TIA Portal,
vous n'avez pas besoin d'appeler ApplyConfiguration. Si une liaison en ligne existe déjà
vers un API pendant l'appel de ApplyConfiguration, une exception sera déclenchée.
Pour définir les paramètres d'adresse de passerelles, modifiez le code de programme suivant :
Conditions
● L'application Openness est connectée à TIA Portal.
Voir AUTOHOTSPOT
● Un projet est ouvert.
Voir AUTOHOTSPOT
● L'API est hors ligne.
Application
TIA Portal Openness vous permet d'appeler FingerprintData pour différents aspects de la
configuration de l'appareil API afin d'établir une comparaison rapide entre les stations. Pour
cela, utilisez le service FingerprintDataProvider que vous pouvez appeler via un TIA Portal
défini. L'appel GetService renvoie normalement une instance de FingerprintDataProvider.
Sinon, la valeur zéro est renvoyée.
Adresse de configuration
Vous devez mettre à disposition un objet ConfigurationAddress pour GetFingerprintData.
L'objet adresse est utilisé pour établir une connexion à l'appareil pour lequel vous souhaitez
appeler la FingerprintData. L'objet ConfigurationAddress doit être créé dans la
ConnectionConfiguration du FingerprintDataProvider.
Vous pouvez par exemple utiliser le code suivant pour créer un objet adresse :
...
ConnectionConfiguration configuration = fingerprintDataProvider.Configuration;
ConfigurationMode configurationMode = configuration.Modes.Find("PN/IE");
ConfigurationPcInterface pcInterface = configurationMode.PcInterfaces.Find("Intel(R)
Ethernet Connection I217-LM", 1);
// Create an address. This "ConfigurationAddress" is used as parameter for getting the
fingerprintData
ConfigurationAddress fingerprintAddress = pcInterface.Addresses.Create("192.68.0.1");
...
La configuration contient une liste de Modes pris en charge. Vous devez sélectionner l'un des
Modes pour l'appel des empreintes. Le ConfigurationMode sélectionné contient une liste de
toutes les PCInterfaces locales prenant en charge le Mode sélectionné. Vous devez
sélectionner une interface. L'adresse souhaitée peut être créée dans la collection d'adresses
de la ConfigurationPcInterface sélectionnée.
Paramètres Description
ConfigurationAddress Adresse de l'appareil
OnlineConfigurationDelegate Rappel pour le traitement des inhibitions
...
OnlineConfigurationDelegate preConfigurationDelegate = PreConfigureFingerprint;
FingerprintDataResult result =
fingerprintDataProvider.GetFingerprintData(fingerprintAddress , preConfigurationDelegate);
// The fingerprints
FingerprintDataItemComposition allFingerprints = result.FingerprintDataItems;
foreach (FingerprintDataItem item in allFingerprints)
{
// do something with the fingerprint ...
}
internal void PreConfigureFingerprint(OnlineConfiguration onlineConfiguration)
{
...
}
Comme cette classe de base est valable pour toutes les autres configurations, cet adaptateur
de propriétés est disponible dans toutes les configurations.
Le type de données de la configuration est expliqué ci-après.
Une configuration non traitée pouvant empêcher l'accès à l'empreinte entraîne une
EngineeringDelegateInvocationException et annule l'action. Une
EngineeringDelegateInvocationException est émise dans le cas d'une exception non traitée
dans le délégué.
Exemple de mise en œuvre de PreConfigureFingerprint
FingerprintDataResult
Le FingerprintDataResult renvoyé par l'action GetFingerprintData fournit une liste de toutes les
empreintes pour l'appareil.
Vous pouvez par exemple utiliser le code suivant pour analyser des éléments d'empreinte :
{
...
FingerprintDataResult result = dataProvider.GetFingerprintData(fingerprintAddress,
preConfigurationDelegate);
FingerprintDataItemComposition allFingerprints = result.FingerprintDataItems;
foreach (FingerprintDataItem item in allFingerprints)
{
string fingerprintDataIdentifier = item.FingerprintDataIdentifier;
string fingerprintDataValue = plcItem.FingerprintDataValue;
// Do something, e.g. store Identifier and Value in a file
}
}
Classes d'assistance
Deux classes sont nécessaires pour cet exemple : Vous pouvez utiliser le code de programme
suivant pour encapsuler les paires de données d'empreinte.
/// <summary>
/// Helperclass to handle a "Dictionary" as serializeable class object
/// </summary>
[Serializable]
public class FingerprintDataPairs : Dictionary<string, string>, ISerializable
{
public FingerprintDataPairs(){}
public FingerprintDataPairs(SerializationInfo si, StreamingContext context)
{
KeyValuePair<string, string>[] dataPair = si.GetValue("KeyValuePairs",
typeof(KeyValuePair<string, string>[])) as KeyValuePair<string, string>[];
if (dataPair != null)
foreach (KeyValuePair<string, string> pair in dataPair)
this.Add(pair.Key, pair.Value);
}
}
Vous pouvez utiliser l'exemple suivant pour traiter les données d'empreinte et établir une
comparaison :
/// <summary>
/// Helperclass for handle the fingerprint data and compare two datasets.
/// </summary> public class FingerprintDataCompare
{
internal FingerprintDataPairs m_FingerprintDataPairs;
internal FingerprintDataPairs FingerprintDataPairSet
{
get
{
if (m_FingerprintDataPairs == null) m_FingerprintDataPairs = new FingerprintDataPairs();
return m_FingerprintDataPairs;
}
set
{
m_FingerprintDataPairs = value;
}
}
internal bool CompareDataSets(FingerprintDataPairs dataSet1, FingerprintDataPairs dataSet2)
{
foreach (string key in dataSet1.Keys)
{
if (dataSet2[key] != dataSet1[key])
return false;
}
return true;
}
internal void SaveFingerprintDataItems(FingerprintDataPairs fingerprintDataPairSet, string
filename)
{
using (FileStream fs = new FileStream(filename, FileMode.Create))
{
BinaryFormatter formatter = new BinaryFormatter();
try
{
formatter.Serialize(fs, fingerprintDataPairSet);
}
catch (SerializationException e)
{
Console.WriteLine("Failed to write fingerprints. See: " + e.Message);
}
finally
{
fs.Close();
}
}
}
internal FingerprintDataPairs LoadFingerprintDataItems(string filename)
{
FingerprintDataPairs dataPair = null;
using(FileStream fs = new FileStream(filename, FileMode.Open))
{
BinaryFormatter formatter = new BinaryFormatter();
try
{
dataPair = (FingerprintDataPairs)formatter.Deserialize(fs);
}
catch (System.Runtime.Serialization.SerializationException e)
{
Console.WriteLine("Failed to read fingerprints. See: " + e.Message);
}
finally
{
fs.Close();
}
}
return dataPair;
}
}
...
// See chapter "FingerprintDataResult"
FingerprintDataResult fingerprintDataResult = dataProvider.GetFingerprintData(address,
preConfigurationDelegate);
...
Pour enregistrer les empreintes, vous pouvez utiliser les classes d'assistance :
...
string pathDat = "FingerprintDataOverview.dat";
FingerprintDataCompare fingerprintDataSet = new FingerprintDataCompare();
foreach (FingerprintDataItem item in fingerprintDataResult.FingerprintDataItems)
fingerprintDataSet.FingerprintDataPairSet.Add(item.FingerprintDataIdentifier,
item.FingerprintDataValue);
FingerprintDataPairs loadDataSet = new FingerprintDataPairs();
loadDataSet = fingerprintDataSet.LoadFingerprintDataItems(pathDat);
if (!fingerprintDataSet.CompareDataSets(loadDataSet,
fingerprintDataSet.FingerprintDataPairSet))
{
// Here is place to implement user actions.
}
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une connexion à TIA Portal
● Un projet est ouvert.
Voir Ouvrir un projet
Application
Lorsqu'un CM DP est enfiché, vous pouvez configurer avec TIA Portal Openness un ET200SP
PLC comme esclave DP. Il est aussi possible de créer, configurer et supprimer des zones de
transfert sur l'interface DP dans TIA Portal Openness Le maniement est similaire à celui des
zones de transfert de l'interface PN décrite sous Zones de transfert Openness pour coupleur
PnP.
Les attributs dynamiques suivants sont pris en charge sur l'interface DP de l'élément d'appareil :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal
● Un projet est ouvert.
Voir Ouverture d'un projet
Application
Avec le service RHOnlineProvider vous pouvez commuter en ligne l'API principal ou l'API de
réserve d'un système R/H.
Remarque
Le système R/H est composé de deux API, une configuration de liaison individuelle est mise à
disposition.
Remarque
Si vous commutez en ligne un API d'un système R/H, vous pouvez réutiliser un mot de passe
enregistré auparavant.
rhOnlineProvider.GoOffline();
7.19.6 Accéder à des conteneurs de logiciels via l'API principal d'un système R/H
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal
● Un projet est ouvert.
Voir Ouverture d'un projet
Application
Pour l'accès à un conteneur de logiciels, vous pouvez utiliser l'API principal d'un système R/H.
Par exemple, le système R/H met à disposition des conteneurs de logiciels pour un API
principal représenté comme PLC_1. Si vous tentez cependant d'accéder à un conteneur de
logiciels pour un API de réserve représenté comme PLC_2, le système renvoie la valeur zéro.
Les particularités d'un conteneur de logiciels et ses propriétés logicielles sont décrites sous
Accéder au logiciel cible.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une liaison à TIA Portal
● Un projet est ouvert.
Voir Ouverture d'un projet
Application
Avec l'application TIA Portal Openness, vous pouvez charger l'API principal ainsi que l'API de
réserve d'un système R/H. Vous pouvez charger aussi bien les composants matériels que les
composants logiciels du système. (vous trouverez des informations supplémentaires sous
Charger des composants matériels et logiciels dans l'API).
...
Device device = project.Devices.Find("S7-1500R/H-System_1");
RHDownloadProvider rhDownloadProvider = device.GetService<RHDownloadProvider>();
...
Remarque
Un accès au service DownloadProvider n'est pas effectué en liaison avec des CPU
appartenant au système R/H.
...
RHDownloadProvider rhDownloadProvider = device.GetService<RHDownloadProvider>();
ConnectionConfiguration connectionConfiguration = rhDownloadProvider.Configuration;
ConfigurationMode mode = connectionConfiguration.Modes.Find("PN/IE");
ConfigurationPcInterface pcInterface = mode.PcInterfaces.Find("Broadcom NetXtreme Gigabit
Ethernet", 1);
IConfiguration targetConfiguration = pcInterface.TargetInterfaces.Find("1 X1");
...
Remarque
Les systèmes R/H sont composés de deux API. Seul un objet de configuration de liaison qui
peut être utilisé pour le chargement dans l'API principal et dans l'API de réserve est mis à
disposition.
Modifiez le code de programme suivant pour effectuer un chargement dans l'API de réserve par
l'appel de RHDownloadProvider.DownloadToBackup :
Selon l'état du système R/H, vous avez la possibilité d'exiger un arrêt du système pour la
procédure de chargement via DownloadConfigurations. Outre la configuration décrite sous
Charger des composants matériels et logiciels dans l'API, les types de données suivants sont
également ajoutés pour la prise en charge de RHDownload pour cette raison.
// Download to primary
DownloadResult primaryDownloadResult =
rhDownloadProvider.DownloadToPrimary(targetConfiguration,
PreConfigureDownloadCallback,
PostConfigureDownloadCallback,
DownloadOptions.Hardware | DownloadOptions.Software);
WriteDownloadResults(primaryDownloadResult);
// Download to backup
DownloadResult backupDownloadResult =
rhDownloadProvider.DownloadToBackup(targetConfiguration,
PreConfigureDownloadCallback,
PostConfigureDownloadCallback,
DownloadOptions.Hardware | DownloadOptions.Software);
WriteDownloadResults(backupDownloadResult);
...
}
private static void PreConfigureDownloadCallback(DownloadConfiguration
downloadConfiguration)
{
StopHSystem stopHSystem = downloadConfiguration as StopHSystem;
if (stopHSystem != null)
{
stopHSystem.CurrentSelection = StopHSystemSelections.StopHSystem;
}
OverwriteTargetLanguages overwriteTargetLanguages = downloadConfiguration as
OverwriteTargetLanguages;
if (overwriteTargetLanguages != null)
{
overwriteTargetLanguages.Checked = true;
}
AlarmTextLibrariesDownload alarmTextLibraries = downloadConfiguration as
AlarmTextLibrariesDownload;
if (alarmTextLibraries != null)
{
alarmTextLibraries.CurrentSelection =
AlarmTextLibrariesDownloadSelections.ConsistentDownload;
return;
}
CheckBeforeDownload checkBeforeDownload = downloadConfiguration as CheckBeforeDownload;
if (checkBeforeDownload != null)
{
checkBeforeDownload.Checked = true;
return;
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Vous avez ouvert un projet avec votre application TIA Portal Openness.
Voir Ouvrir un projet (Page 109)
Application
Vous pouvez charger indépendamment la station PC Plus et la CPU logicielle. Pour charger la
configuration de la station PC Plus, vous devez appeler l'élément d'appareil stationmanager du
châssis de l'appareil et appeler le download provider comme service. La CPU logicielle aussi
doit être appelée comme élément d'appareil pour la même opération.
Notez que lors d'un redémarrage du système cible après le chargement de la configuration de
la station PC Plus, la réaction standard d'Openness est Attente. Cela signifie que le flux de
code Openness est interrompu jusqu'à la fin du chargement du premier niveau (et après
redémarrage du système cible) ou jusqu'à ce que le délai soit dépassé ou qu'une erreur se
produise.
Si vous ne voulez pas attendre le redémarrage, vous pouvez choisir une option post-
chargement intitulée WaitOnReboot.
Vous devez toujours charger la CPU logicielle séparément, mais il faut s'assurer que la station
PC a d'abord été chargée.
Le chargement de la CPU logicielle est similaire à celui d'un PC normal. Vous trouverez plus
d'informations sur le chargement d'une CPU logicielle sous texte hotspot (Page 466).
Remarque
Le chargement d'API activés F n'est actuellement pas pris en charge pour une CPU logicielle,
tout comme pour une CPU matérielle.
Une méthode de chargement déclenche aussi la compilation. Il est aussi possible de compiler
indépendamment un élément d'appareil, avec l'extrait de code suivant :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Charger des composants matériels et logiciels dans l'API (Page 466)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Vous avez ouvert un projet avec votre application TIA Portal Openness.
Voir Ouvrir un projet (Page 109)
Application
L'utilisateur d'Openness peut charger des composants logiciels et matériels dans l'API via
DownloadProvider (accès via le DeviceItem). Si un DeviceItem représente une cible pouvant
être chargée, une instance de DownloadProvider est fournie en retour en cas d'appel de
GetService. Sinon, le service fournit null en retour.
● La procédure de chargement Openness n'est prise en charge que si les configurations sont
réalisées correctement par l'utilisateur. Si la configuration n'est pas valide, une
EngineeringTargetInvocationException est émise et la procédure de chargement est
annulée. Les API activés avec sécurité ne sont pas pris en charge pour la procédure de
chargement.
● La compilation faisant partie de la procédure de chargement, il est recommandé d'exécuter
la compilation avant la procédure de chargement afin d'analyser les résultats de la
compilation.
● Openness ne prend en charge que l'option de chargement complet.
Paramètre 1 : IConfiguration
L'utilisateur doit indiquer l'objet IConfiguration comme premier paramètre de la méthode
Download. Il sert à établir une connexion à l'API spécifié. L'interface IConfiguration est mise en
œuvre par ConfigurationAddress et ConfigurationTargetInterface. Il est possible d'accéder aux
deux objets via l'instance ConnectionConfiguration. L'instance ConnectionConfiguration peut
être déterminée via la propriété DownloadProvider.Connection: ConnectionConfiguration ou
en option via OnlineProvider.Connection: ConnectionConfiguration.
La configuration de l'objet ConnectionConfiguration est décrite à la rubrique AUTOHOTSPOT.
...
DownloadProvider downloadProvider = null;
ConnectionConfiguration configuration = downloadProvider.Configuration;
ConfigurationMode configurationMode = configuration.Modes.Find("PN/IE");
ConfigurationPcInterface pcInterface = configurationMode.PcInterfaces.Find("Intel(R)
Ethernet Connection I217-LM", 1);
IConfiguration targetConfiguration = pcInterface.TargetInterfaces[0];
...
Paramètres 2 et 3 : DownloadConfigurationDelegate
L'utilisateur d'Openness doit mettre à disposition deux mises en œuvre de
DownloadConfigurationDelegate(DownloadConfiguration downloadConfiguration) vides. Le
premier délégué est appelé pour les configurations avant la procédure de chargement et le
second une fois la procédure de chargement terminée. Les délégués sont appelés pour
chaque configuration pour laquelle une action de l'utilisateur est nécessaire. Pour plus
d'informations sur les rappels, référez-vous à Prise en charge de rappels (Page 477) Certaines
configurations ne comprennent qu'une seule information et ne nécessitent alors pas d'action
de l'utilisateur.
IMPORTANT
Tenez compte du fait que les configurations de chargement sont semblables aux
configurations dans les dialogues avec aperçu du chargement et ressemblent aux résultats
de chargement si vous travaillez avec l'interface utilisateur de TIA Portal.
ATTENTION
L'utilisateur de l'API est responsable des mesures de sécurité pour la gestion des mots de
passe par code.
Une configuration non traitée pouvant empêcher la procédure de chargement entraîne une
EngineeringTargetInvocationException et annule la procédure de chargement. Une
Paramètre 4 : DownloadOptions
L'utilisateur doit indiquer les options de chargement (marquées par enum) via
DownloadOptions. Ce paramètre détermine le type de procédure de chargement à exécuter,
par exemple matériel, logiciel ou matériel et logiciel.
[Flags]
public enum DownloadOptions {
None = 0, // Download nothing
Hardware, // Download hardware only
Software // Download software only
}
DownloadResult
Le DownloadResult obtenu par l'action Download fournit l'état des objets chargés en retour.
Modifiez le code suivant pour effectuer un chargement dans l'API par un appel de la
configuration correspondante :
Conditions
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API est hors ligne.
Utilisation
En cas d'interactions avec TIA Portal via l'API Openness, il peut être nécessaire de changer le
mode de fonctionnement de l'automate. TIA Portal Openness offre la possibilité de modifier
l'état de fonctionnement de l'API soit sur Start, soit sur Stop.
Code du programme
Pour régler l'état de fonctionnement de l'API sur STOP, modifiez le code de programme suivant.
Pour régler l'état de fonctionnement de l'API sur START, modifiez le code de programme
suivant.
Conditions
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Au cours de leur exécution, certaines méthodes de l'API nécessitent une interaction avec le
code d'application défini par l'utilisateur. Les Delegates servent à gérer ces actions de rappel
dans le code d'application personnalisé. Vous devez mettre en œuvre une méthode avec une
signature compatible et la transmettre à l'action en tant que paramètre delegate. Le TIA Portal
appelle les méthodes mises en œuvre pour l'exécution.
Code de programme
[STAThread]
static void Main()
{
...
DownloadProvider downloadProvider = ...;
IConfiguration targetConfiguration = ...;
DownloadConfigurationDelegate preDownloadDelegate = PreConfigureDownload;
DownloadConfigurationDelegate postDownloadDelegate = PostConfigureDownload;
DownloadResult result = downloadProvider.Download(targetConfiguration,
preDownloadDelegate, postDownloadDelegate, DownloadOptions.Hardware |
DownloadOptions.Software);
...
Remarque
L'attribut STAThread assure que les délégués (Delegates) sont appelés dans le thread
principal de l'exécution.
Conditions
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouverture d'un projet (Page 109)
● L'API est hors ligne.
Utilisation
Dans les interactions avec TIA Portal via Openness API, il peut être nécessaire de changer le
niveau de protection de l'automate. TIA Portal Openness offre la possibilité de protéger l'API
par un mot de passe. Le mot de passe peut être aussi bien paramétré pour des API en écriture
seule que lecture seule.
Code de programme
Pour les API en écriture seule, modifiez le code de programme suivant :
ATTENTION
L'utilisateur de l'API est responsable des mesures de sécurité pour la gestion des mots de
passe par code.
Conditions
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API est hors ligne.
Utilisation
TIA Portal Openness prend en charge la liaison de données de mots de passe pour les
applications client. TIA Portal Openness donne au client un moyen de spécifier un mot de
passe lié au bloc. Par exemple, un mot de passe lié au bloc peut être configuré à la catégorie
DownloadPasswordConfiguration en faisant appel à la méthode SetPassword.
Remarque
Si vous souhaitez protéger la procédure de chargement avec un mot de passe, un mot de
passe doit être saisi à chaque appel de la fonction Download. Cela s'applique toujours, que
l'appareil soit configuré ou non. Après la saisie correcte du mot de passe pour une configuration
donnée, tous les appels suivants de SetPassword sont ignorés.
Code de programme
Modifiez le code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
TIA Portal Openness permet d'accéder, via le matériel PlcAccessLevelProvider sur la
Deviceitem CPU de l'appareil aux paramètres des niveaux d'accès.
Cette fonction fournit des actions pour la définition/la restauration du mot de passe et un attribut
modélisé pour définir/lire les paramètres des niveaux d'accès.
● Void SetPassword (accessLevelType PlcProtectionAccessLevel, mot de passe
SecureString )
● Void ResetPassword (accessLevelType PlcProtectionAccessLevel)
● Attribut PlcProtectionAccessLevel
De façon générale, les opérations dans Openness sont similaires à celles de l'IU TIA Portal.
● PlcProtectionAccessLevel peut toujours être lu et défini sur les API S7-1200/1500.
● Si, pour le niveau d'accès, un autre réglage que l'accès complet est défini (ou accès complet
y compris Fail-safe), un mot de passe doit être défini pour l'accès complet. Sinon, une erreur
de compilation se produit : "Le mot de passe ne doit pas être vide"
● Il n'est pas autorisé d'utiliser le même mot de passe pour différents niveaux d'accès.
● Seuls des mots de passe pour des niveaux d'accès supérieurs au niveau d'accès fixé
peuvent être définis/restaurés (si pour PlcProtectionAccessLevel, HMIAccess est
paramétré, un mot de passe peut être défini uniquement pour ReadAccess et FullAccess).
Exceptions possibles :
● EngineeringTargetInvocationException : "Un mot de passe identique existe déjà pour des
niveaux d'accès différents" – est retourné lorsque l'utilisateur essaie de définir le même mot
de passe pour des niveaux d'accès différents.
● EngineeringTargetInvocationException : "Impossible de définir le mot de passe pour le
niveau d'accès" – est retourné lorsque l'utilisateur essaie de définir un mot de passe pour un
niveau d'accès plus strict que celui sélectionné.
● EngineeringTargetInvocationException : "Le mot de passe ne doit pas être vide" – est
retourné lorsque l'utilisateur essaie de définir un mot de passe vide.
● EngineeringTargetInvocationException : "Niveau d'accès invalide" – est retourné lorsque
l'utilisateur essaie de définir un même mot de passe pour le niveau d'accès
FullAccessIncludingFailsafe sur des API qui ne sont pas de sécurité.
Niveau de protection
Dans Openness, le niveau d'accès est modélisé comme Enumeration avec le nom
PlcProtectionAccessLevel. Le nom des champs Enumeration est basé sur les entrées "Access
Level" pour les API S7-1200/1500.
Pour les API, un attribut EOM (attribut modélisé) avec le nom PlcProtectionAccessLevel , du
type PlcProtectionAccessLevel-Enumeration est disponible pour définir/appeler le niveau
d'accès.
Vous pouvez utiliser l'exemple de code suivant pour PlcProtectionAccessLevel pour "Aucun
accès" :
Mot de passe
Le mot de passe est implémenté comme SecureString, pour des raisons de sécurité. Les mots
de passe pour les différents niveaux d'accès peuvent uniquement être définis/restaurés à l'aide
de l'action correspondante. La lecture des mots de passe n'est pas prise en charge.
myPlcAccessLevelProvider.SetPassword(PlcProtectionAccessLevel.ReadAccess,
someSecureString);
myPlcAccessLevelProvider.ResetPassword(PlcProtectionAccessLevel.ReadAccess);
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
Vous pouvez créer des objets d'interface de serveur et importer des fichiers XML qui
définissent l'interface serveur OPC UA pour l'API.
L'API TIA Portal Openness permet d'accéder via le service OpcUaProvider aux fonctionnalités
suivantes :
● Ajout d'un objet d'interface serveur OPC UA
● Énumération via l'interface serveur de l'API
● Importation d'un fichier d'interface serveur
● Exportation d'une interface serveur vers XML
Code de programme
À l'aide d'un service OpcProvider que vous pouvez acquérir via PlcSoftware, vous pouvez
interagir avec les interfaces serveur OPC UA.
Pour permettre la navigation vers les interfaces serveur OPC UA, modifiez le code de
programme suivant :
Pour ajouter un objet d'interface serveur OPC UA, modifiez le code de programme suivant :
Pour appeler et définir les propriétés d'un objet d'interface serveur OPC UA, modifiez le code
de programme suivant :
Pour définir le contenu d'un objet d'interface serveur basé sur un fichier XML, modifiez le code
de programme suivant :
Pour écrire le contenu d'un objet d'interface serveur dans un fichier XML, modifiez le code de
programme suivant :
ServerInterface serverInterface = …;
serverInterface.Delete());
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Vous avez ouvert un projet avec votre application TIA Portal Openness.
Voir Ouvrir un projet (Page 109)
Application
Avec l'API Openness, vous pouvez accéder au total de contrôle logiciel d'une station API.
Code de programme
Pour l'accès, vous appelez l'instance PlcSoftware et vous chargez une instance de service de
PlcChecksumProvider.
PlcSoftware plc = …;
//get PlcSoftware instance
PlcChecksumProvider checksumProvider =
plc.GetService<PlcChecksumProvider>();
Si l'API ne prend pas en charge le calcul du total de contrôle, l'appel de GetService fournit un
retour nul.
Sur l'instance PlcChecksumProvider, le total de contrôle logiciel peut être atteint comme suit :
L'attribut logiciel est protégé en écriture et fournit un retour nul lorsque le programme n'est pas
compilé.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
Pour l'affectation d'interface, vous devez appeler le service PcInterfaceAssignment de
Siemens.HW.Features sur l'interface d'élément de l'appareil.
Si la station PC possède une version <= 2.0, les méthodes de ce service fournissent un retour
nul et l'affectation d'interface n'est pas possible pour les interfaces qui sont affectées
uniquement à la station PC ou uniquement à Windows ou à aucun des deux. Pour les interfaces
affectées à une CPU logicielle, cela est possible.
Remarque
Lors de l'échange CAx, la prise en charge de la station PC est très limitée. Seules les stations
PC avec version 1.0 et la valeur standard pour InterfaceAssignment sont prises en charge.
Cela est dû au fait que ces deux valeurs influencent la structure de l'appareil (c.-à-d. les
éléments montés, les lieux d'enfichage). Étant donné que les paramètres n'appartiennent pas
au fichier AutomationML, les valeurs ne sont pas définies lors de l'importation. En
conséquence, la structure de l'IPC ne convient pas et les autres modules ne peuvent pas être
enfichés.
Pour appeler des informations sur le mode d'affectation d'une interface, modifiez et utilisez le
code de programme suivant :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir AUTOHOTSPOT
● Vous avez ouvert un projet avec votre application TIA Portal Openness.
Voir AUTOHOTSPOT
Utilisation
L'utilisateur Openness peut charger une station dans un projet via StationUploadProvider
(auquel un accès est effectué depuis un project). Le chargement dans un DeviceGroup n'est
pas pris en charge Si un project est utilisé pour l'exécution d'une procédure de chargement, le
service renvoie une instance de StationUploadProvideren cas d'appel de GetService . Sinon,
la valeur zéro est renvoyée.
Paramètre 1 : ConfigurationAddress
L'utilisateur doit indiquer l'objet ConfigurationAddress pour la méthode Upload. L'objet Adresse
permet d'établir une connexion à l'API spécifié dans lequel le chargement doit être effectué.
L'objet ConfigurationAddress doit être créé dans la ConnectionConfiguration du
StationUploadProvider. . La Configuration contient une liste de Modes pris en charge. Un des
Modes doit être sélectionné pour utilisation lors du chargement. Le ConfigurationMode
sélectionné contient une liste de toutes les PcInterfaces locales prenant en charge le Mode
sélectionné. L'une des interfaces doit être sélectionnée. L'adresse souhaitée peut être créée
dans la collection Address de la ConfigurationPcInterface sélectionnée.
...
StationUploadProvider uploadProvider = null;
...
ConnectionConfiguration configuration = uploadProvider.Configuration;
ConfigurationMode configurationMode = configuration.Modes.Find("PN/IE");
ConfigurationPcInterface pcInterface = configurationMode.PcInterfaces.Find("Intel(R)
Ethernet Connection I217-LM", 1);
//"Create an address. This "ConfigurationAddress" is used as parameter for upload."
ConfigurationAddress uploadAddress = pcInterface.Addresses.Create("192.68.0.1");
...
Chargement du projet
L'utilisateur peut démarrer le chargement de la station par l'appel de l'action StationUpload.
Les paramètres suivants sont obligatoires :
● ConfigurationAddress : L'adresse de l'appareil dans lequel le chargement doit être effectué
● UploadConfigurationDelegate : Le rappel pour le traitement d'inhibitions de chargement
...
StationUploadProvider uploadProvider = null;
Device uploadedObject = null;
...
UploadConfigurationDelegate preUploadDelegate = PreConfigureUpload;
UploadResult result = uploadProvider.StationUpload(uploadAddress, preUploadDelegate);
// The uploaded device
uploadedObject = result.UploadedStation;
if (uploadedObject == null)
{
...
}
internal void PreConfigureUpload(UploadConfiguration uploadConfiguration)
{
...
}
Paramètre2 : UploadConfigurationDelegate
L'utilisateur d'Openness doit mettre à disposition une implémentation de void
UploadConfigurationDelegate (UploadConfiguration uploadConfiguration). Le délégué est
appelé pour la configuration avant le chargement. Le délégué est appelé pour chaque
configuration pour laquelle une action de l'utilisateur est nécessaire. Pour plus d'informations
sur les rappels, référez-vous à AUTOHOTSPOT Certaines configurations ne comprennent
qu'une seule information et ne nécessitent alors pas d'action de l'utilisateur.
La prise en charge d'un mot de passe de sécurité n'est pas nécessaire. Aucun mot de passe
n'est requis pour l'accès en lecture lors du chargement dans un API de sécurité.
Une configuration non traitée pouvant empêcher la procédure de chargement entraîne une
EngineeringTargetInvocationException et annule la procédure de chargement.
Une EngineeringDelegateInvocationException est émise dans le cas d'une exception non
traitée dans le délégué.
moduleReadAccessPassword.SetPassword(password);
return;
}
moduleWriteAccessPassword.SetPassword(password);
return;
}
...
throw new NotSupportedException(); // Exception thrown in the delagate will cancel upload
}
Paramètre3 : UploadOptions
L'utilisateur ne peut pas indiquer les options Upload. Les options Upload sont les suivantes :
"Matériel", "Logiciel", "Matériel et logiciel" ainsi que "Matériel, logiciel et fichiers".
UploadResult
Le résultat UploadResult renvoyé par l'action Upload fournit l'état des objets chargés en retour.
● UploadResult.Message: UploadResultMessageComposition - Composition de
UploadResultMessage
Les attributs suivants sont pris en charge :
Attributs Description
ErrorCount Valeur int des erreurs lors du chargement
State UploadResultState avec les valeurs suivantes : Success, Information, Warning et
Error
Attributs Description
UploadedStation Une instance "Device" de la station chargée
WarningCount Nombre d'avertissements au chargement comme int
UploadResultMessage contient :
● UploadResultMessage.Messages : UploadResultMessageComposition - Composition de
UploadResultMessage
Les attributs suivants sont pris en charge :
Attributs Description
DateTime System.DateTime de l'alarme créée.
ErrorCount Un compteur int pour des erreurs.
State UploadResultState avec les valeurs suivantes : Success, Information, Warning et
Error
WarningCount Nombre d'avertissements comme int
if (level == 0)
Console.WriteLine("\n");
foreach (UploadResultMessage message in messages)
{
string messageOut = message.Message.PadLeft(message.Message.Length + level, '\t') + "\n";
Console.WriteLine(messageOut);
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir AUTOHOTSPOT
● Vous avez ouvert un projet avec votre application TIA Portal Openness.
Voir AUTOHOTSPOT
Utilisation
Pour déterminer la divergence entre les logiciels de deux appareils, vous disposez des
possibilités suivantes :
● Comparaison entre les logiciels de deux API configurés
● Comparaison entre le logiciel d'un API et la bibliothèque de projet
● Comparaison entre le logiciel d'un API et la bibliothèque globale
● Comparaison entre le logiciel d'un API et la copie maître d'un API
● Comparaison entre le logiciel d'un API configuré et le logiciel d'un API connecté à l'état "En
ligne"
Signature
Utilisez la méthode CompareTo ou CompareToOnline pour la comparaison.
public CompareResult CompareTo (ISoftwareCompareTarget compareTarget)
Code de programme
Pour afficher le résultat de la comparaison, modifiez le code de programme suivant :
Pour comparer les logiciels des appareils, modifiez le code de programme suivant :
Pour comparer le logiciel d'un API avec la bibliothèque de projet, modifiez le code de
programme suivant :
Pour comparer le logiciel d'un API avec la bibliothèque globale, modifiez le code de programme
suivant :
Pour comparer le logiciel d'un API avec une copie maître, modifiez le code de programme
suivant :
Pour comparer le logiciel d'un API avec le logiciel d'un API connecté, modifiez le code de
programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal
● Vous avez ouvert un projet avec votre application TIA Portal Openness.
Voir Ouvrir un projet
Application
À l'aide de TIA Portal Openness, vous pouvez comparer le matériel de deux appareils API.
Signature
Utilisez la méthode CompareTo ou pour la comparaison des deux objets Matériel.
CompareResult CompareTo (IHardwareCompareTarget compareTarget);
Programme
Modifiez le code de programme suivant pour afficher le résultat de la comparaison :
...
CompareResult compareResult = plc_1.CompareTo(plc_2);
CompareResultState resultState = compareResult.RootElement.ComparisonResult;
if (resultState == CompareResultState.FolderContainsDifferencesOwnStateDifferent)
{
// Folder contents have one or more differences, folder's own state is different:
// May occur if the plc has a different subordinate element, e.g., a local module, and
// the plc itself is different, e.g., in a parameter
}
else if (resultState == CompareResultState.FolderContentEqualOwnStateDifferent)
{
// Folder content is the same, folder's own state is different:
// May occur if a folder-style module, e.g., FM 351, has equal subordinate elements but
// the module itself is different, e.g., in a parameter
}
else if (resultState == CompareResultState.FolderContentsIdentical)
{
...
}
...
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir AUTOHOTSPOT
● Un projet est ouvert.
Voir AUTOHOTSPOT
● Tous les appareils sont énumérés.
Voir AUTOHOTSPOT.
Utilisation
Vous pouvez établir la liaison en ligne à un API ou interrompre une liaison en ligne existante.
Code du programme
Pour établir ou interrompre la liaison en ligne à un API, modifiez le code de programme suivant :
Vous pouvez également établir ou interrompre les liaisons en ligne à tous les API disponibles
dans un projet.
// ...
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une connexion à TIA Portal
● Un projet est ouvert.
Voir Ouvrir un projet
Application
À l'aide de TIA Portal Openness vous pouvez affecter des langues du projet au serveur Web
et afficher les langues d'un API S7-1500. Un attribut dynamique du type StructuredData est
nécessaire à cette fin.
Pour l'accès aux paramètres multilingues, le nouvel attribut dynamique MultilingualSupport du
type TableData a été ajouté. Cet attribut peut être réparti sur plusieurs lignes. Dans les lignes
individuelles, la langue du projet affectée est définie ou lue avec l'attribut dynamique
ProjectLanguage.
Code de programme
Modifiez le code de programme suivant pour affecter la langue du projet à l'API :
7.19.15 Affecter des tables de visualisation et de forçage pour écran de serveur Web et
d'API
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une connexion à TIA Portal
● Un projet est ouvert.
Voir Ouvrir un projet
Application
Avec TIA Portal Openness vous pouvez affecter au serveur Web des table de visualisation et
de forçage déjà créées. Pour les tables de visualisation et les tables de forçage, il s'agit d'un
logiciel qui peut être trouvé, créé et supprimé dans le conteneur logiciel. TIA Portal Openness
vous permet d'importer/exporter des tables de visualisation et de forçage. Pour exporter/
importer des tables de surveillance et de forçage, voir Exporter/importer des tables de
visualisation et de forçage permanent
Pour l'affectation des tables de visualisation et de forçage au serveur Web, le
serviceWatchAndForceTableAccessManager est utilisé sur le DeviceItem de l'API.
WatchAndForceTableAccessManager mngr =
deviceItem.GetService<WatchAndForceTableAccessManager>();
WatchTableAccessRuleComposition watchTableCmp = mngr.WatchTableAccesseRules;
WatchTableAccessRule accessRule1 = watchTableCmp.Find(watchTable1);
Remarque
Zéro est retourné lorsque la table de visualisation concernée n'est pas connectée au serveur
Web avec une WatchTableAccessRule
Modifiez le code de programme suivant pour créer sur le serveur Web une nouvelle table de
visualisation avec accès en lecture :
WatchAndForceTableAccessManager mngr =
deviceItem.GetService<WatchAndForceTableAccessManager>();
WatchTableAccessRuleComposition watchTableCmp = mngr.WatchTableAccesseRules;
watchTableCmp.Create(watchTable1, WatchAndForceTableAccess.Read);
WatchAndForceTableAccessManager mngr =
deviceItem.GetService<WatchAndForceTableAccessManager>();
ForceTableAccessRuleComposition forceTableCmp = mngr.ForceTableAccessRules;
ForceTableAccess forceTable = forceTableCmp.Find(forceTable1);
Modifiez le code de programme suivant pour créer une table de forçage API avec accès en
lecture :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une connexion à TIA Portal
● Un projet est ouvert.
Voir Ouvrir un projet
Application
TIA Portal Openness vous permet d'accéder au serveur Web et au sous-module OPC UA des
API. Il est possible d'ajouter un utilisateur jusqu'au nombre maximal au serveur Web et au sous-
module OPC UA d'API. Cet utilisateur possède un nom d'utilisateur et du mot de passe.
WebServerUserManagement
{
Navigators WebServerUsers
{
WebServerUserComposition
}
}
WebServerUserComposition
{
WebServerUser Find(string username);
void Create(string username, WebserverUserPermissions permissions,SecureString password);
}
WebServerUser
{
string UserName{get;}
WebserverUserPermissions Permissions {get;set;}
void Delete();
void SetPassword(SecureString password);
}
Modifiez le code de programme suivant pour créer un nouvel utilisateur serveur Web avec des
droits d'utilisateur serveur Web :
Modifiez le code de programme suivant pour remplacer le mot de passe actuel par le nouveau :
OpcUaUserManagement
{
Navigators OpcUaUsers
{
OpcUaUserComposition
}
}
OpcUaUserComposition
{
OpcUaUser Find(string username);
void Create(string username, SecureString password);
}
OpcUaUser
{
string UserName{get;}
void Delete();
void SetPassword(SecureString password);
}
Modifiez et utilisez le code de programme suivant pour remplacer le mot de passe actuel par
un autre mis à disposition :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une connexion à TIA Portal
● Un projet est ouvert.
Voir Ouvrir un projet
Introduction
TIA Portal Openness vous permet d'accéder à l'intégralité de la gestion de domaines. Les deux
nouveaux services suivants sont ajoutés à la classe Subnet pour permettre l'accès à la gestion
de domaine via TIA Portal Openness :
● Service MrpDomainOwner
● Service SyncDomainOwner
Subnet subnet = …;
MrpDomainOwner mrpDomainOwner = subnet.GetService<MrpDomainOwner>();
MrpDomainComposition mrpDomainComposition = mrpDomainOwner.MrpDomains;
Modifiez le code de programme suivant pour lire/écrire des valeurs d'attribut d'un domaine
MRP :
NetworkInterface toBeAdded = …;
newMrpDomain.SetAttribute("IsDefault", true);
newMrpDomain.SetAttribute("ManagerOutsideOfProjectActive", false);
var participants = firstMrpDomain.DomainParticipants;
int count = participants.Count;
participants.Add(toBeAdded);
foreach (NetworkInterface networkIf in participants)
{
// do something at the interface
}
newMrpDomain.Delete();
Subnet subnet = …;
SyncDomainOwner syncDomainOwner = subnet.GetService<SyncDomainOwner>();
SyncDomainComposition syncDomainComposition = syncDomainOwner.SyncDomains;
Modifiez le code de programme suivant pour créer un nouveau SyncDomain avec un nom défini
NetworkInterface toBeAdded = …;
string convertedName = newSyncDomain.ConvertedName;
newSyncDomain.SetAttribute("IsDefault", true);
newSyncDomain.SetAttribute("HighPerformanceActive", true);
newSyncDomain.SetAttribute("FastForwardingActive", true);
var participants = firstSyncDomain.DomainParticipants;
int count = participants.Count;
participants.Add(toBeAdded);
foreach (NetworkInterface networkIf in participants)
{
// do something at the interface
}
newSyncDomain.Delete();
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une connexion à TIA Portal
● Un projet est ouvert.
Voir Ouvrir un projet
Application
TIA Portal Openness vous permet de définir le mot de passe de protection de l'écran. La
méthode SetPassword(SecureString password) vous permet de définir le mot de passe de
protection de l'écran, le paramètre du mot de passe devant être un SecureString. Le mot de
passe de confirmation n'est pas nécessaire dans Openness et n'est donc pas disponible.
La fonction est disponible lorsque les conditions suivantes sont remplies :
● L'API dispose d'une instance "Écran".
● L'"Écran" prend en charge la fonction de protection par "Mot de passe". Dans certains cas,
p. ex. un automate logiciel, "Écran" est disponible, mais pas de protection par mot de passe.
Code de programme
Modifiez le code de programme suivant pour appeler l'élément d'appareil qui possède
l'instance de service. La propriété OwnedBy peut être utilisée à cette fin.
Modifiez le code de programme suivant pour définir le mot de passe de protection de l'écran :
displayProtection.SetPassword(someSecuredString);
//Sets the string someSecuredString as the CPU display protection password.
Remarque
Les contrôleurs logiciels disposent d'un sous-module écran, mais ne prennent pas en charge
la protection de l'écran. C'est pourquoi dans TIA Portal Openness la fonction SetPassword
n'est pas disponible sur le sous-module écran des contrôleurs logiciels.
7.19.19 Accessibilité
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une connexion à TIA Portal
● Un projet est ouvert.
Voir Ouvrir un projet
Introduction
TIA Portal Openness vous permet de prendre en charge l'accessibilité IP. Dans TIA Portal
Openness, un nouvel attribut dynamique PlcAccessCommunicationModule est disponible
pour la CPU élément d'appareil. L'attribut appartient au type objet. Vous pouvez ainsi accéder
à l'objet CP que vous souhaitez sélectionner pour l'accessibilité IP et affecter l'objet au
PlcAccessCommunicationModule.
Lorsqu'une CP a déjà été sélectionnée, vous pouvez appeler l'objet CP en appelant la valeur
de PlcAccessCommunicationModule.
Code de programme
Conditions
● TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal
● Un projet est ouvert.
Voir AUTOHOTSPOT
Application
Dans TIA Portal Openness, le service ModuleDescriptionUpdater est utilisé sur l'élément de
l'appareil pour mettre à jour la description de module actuelle à la dernière version du module.
Pour appeler l'élément d'appareil qui possède l'instance de service, vous pouvez utiliser la
propriété OwnedBy.
Avec l'attribut CanUpdate vous pouvez afficher si une nouvelle version ConfigObject pour ce
DeviceItem.
Code de programme
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une connexion à TIA Portal
● Un projet est ouvert.
Voir Ouvrir un projet
Application
TIA Portal Openness vous permet de gérer des certificats. Cela comprend la création et
suppression de certificats, l'exportation et importation de certificats, l'affectation et suppression
de l'affectation de certificats, ainsi que l'appel d'ID de certificats.
/ Create templates
var templateTls = localCertificateStore.GetCertificateTemplate(CertificateUsage.Tls);
var templateWebserver =
localCertificateStore.GetCertificateTemplate(CertificateUsage.WebServer);
var templateOpcUaServer =
localCertificateStore.GetCertificateTemplate(CertificateUsage.OpcUaServer);//
...
//Template handling and configuration is handled later
// Create certificates
var certificateTls = localCertificateStore.Certificates.Create(templateTls);
var certificateWeb = localCertificateStore.Certificates.Create(templateWebserver);
var certificateOpcUa = localCertificateStore.Certificates.Create(templateOpcUaServer);
var exportPath = …;
// renew a certificatecertificate
Tls.Delete();
certificateTls = localCertificateStore.Certificates.Create(templateTlsNew);
certificateWeb.Export(new FileInfo(exportPath), CertificateExportFormat.Cer);
Modifiez le code de programme suivant pour affecter au serveur Web et au serveur OPC UA
des certificats avec des attributs dynamiques :
DeviceItem opcUaSubmodule = …;
//Find assigned certificates
var foundWebCertificate = Plc.GetAttribute("WebserverCertificate");
var foundOpcUaCertificate = opcUaSubmodule.GetAttribute("OpcUaServerCertificate");
//Assign certificatesPlc.SetAttribute("WebserverCertificate", certificateWeb);
opcUaSubmodule.SetAttribute("OpcUaServerCertificate", certificateOpcUa);
//Unassign certificatesPlc.SetAttribute("WebserverCertificate", null);
opcUaSubmodule.SetAttribute("OpcUaServerCertificate", null);
Modifiez le code de programme suivant pour importer des certificats dans le magasin de
certificats local pour un API :
var certificateWithoutPwd = …;
var certificateWithPwd = …;
var password = new SecureString();
//
…
// Import certificates
// Without password
var importedCertificate1 = certificates.Import(new FileInfo(certificateWithoutPwd));
//With password
var importedCertificate2 = certificates.Import(new FileInfo(certificateWithPwd), password);
Modifiez le code de programme suivant pour indiquer si un certificat dispose d'une clé privée.
La propriété booléenne HasPrivateKey peut être utilisée à cette fin dans l'objet de certificat.
if(importedCertificate2.HasPrivateKey)
{
//Do something
}
Modèle de certificat
Les modèles servent de base à la création de certificats. Les nouveaux certificats peuvent être
créés dans LocalCertificateStore avec l'action GetCertificateTemplate(CertificateUsage).
CertificateUsage est énuméré avec les valeurs possibles suivantes :
● Aucun (non pris en charge)
● Tls
● Serveur Web
● OpcUaServer
● OpcUaClient
● OpcUaClientServer
// Create template
var certTemplate = localCertificateStore.GetCertificateTemplate(CertificateUsage.Tls);
Toutes les propriétés d'un certificat peuvent être définies dans un modèle de certificat. Accès
en lecture et écriture au modèle de certificat :
● Signature : L'algorithme de signature appartient au type SignatureAlgorithm énuméré avec
les valeurs possibles suivantes :
– Aucun (non pris en charge)
– Sha1RSA
– Sha256RSA
certTemplate.Signature = SignatureAlgorithm.Sha1RSA;
● SubjectCommonName: string
7.19.22 Blocs
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Un API est décelé dans le projet.
Code du programme
Pour interroger le groupe "Blocs de programme", modifiez le code de programme suivant :
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code du programme :
Pour déterminer le groupe créé par le système pour les blocs système, modifiez le code de
programme suivant :
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Voir aussi
Ajouter un fichier externe (Page 530)
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Un API est décelé dans le projet.
Utilisation
Les sous-groupes compris sont considérés comme récurrents lors de l'énumération.
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Un API est décelé dans le projet.
Utilisation
Il est possible d'accéder de manière ciblée à un bloc de programme si son nom est connu.
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
La TIA Portal Openness API prend en charge l'interrogation des informations suivantes pour le
programme et les blocs de données et pour les types de données utilisateur :
● Horodatage au format UTC
L'horodatage fournit les informations suivantes :
– Quand le bloc a-t-il été compilé pour la dernière fois ?
– Quand le bloc a-t-il été modifié pour la dernière fois ?
● Attribut "Consistency"
L'attribut « Consistency" est mis sur "True" dans les cas suivants :
– Le bloc a été correctement compilé.
– Le bloc n'a pas été modifié depuis la compilation.
– Aucune modification ayant impliqué une nouvelle compilation n'a été apportée aux
objets externes.
● Langage de programmation utilisé (uniquement programme et de blocs de données)
● Numéro de bloc
● Nom de bloc
● Auteur du bloc
● Famille de bloc
● Titre du bloc
● Version du bloc
Pour plus d’informations, voir AUTOHOTSPOT.
Code du programme
Pour interroger les informations susmentionnées, modifiez le code de programme suivant :
Voir aussi
Importation de données de configuration (Page 780)
Condition
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API n'est pas en ligne.
Utilisation
Vous pouvez protéger un bloc par un mot de passe et annuler cette protection via la classe
PlcBlockProtectionProvider et le service PlcBlockProtectionProvider. Le service
PlcBlockProtectionProvider est disponible pour les blocs qui remplissent les conditions
suivantes :
● Le bloc peut recevoir une protection Know-How
● Le bloc est un bloc de code ou un bloc de données global DB
● Le bloc est pris en charge ou éditable dans l'API actuel
● Le bloc n'est pas protégé en écriture
● Le bloc n'a pas de protection Know-How
● Le bloc n'est pas en ligne
Protéger un bloc
Avec la méthode Protect(), définissez un mot de passe pour protéger le bloc de programmation.
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API n'est pas en ligne.
Code du programme
Pour supprimer un bloc, modifiez le code de programme suivant :
Voir aussi
Importation de données de configuration (Page 780)
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code du programme
Pour créer un groupe pour blocs, modifiez le code de programme suivant :
Voir aussi
Importation de données de configuration (Page 780)
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API n'est pas en ligne.
Code du programme
Pour supprimer un groupe pour blocs, modifiez le code de programme suivant :
Voir aussi
Importation de données de configuration (Page 780)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Vous pouvez définir les attributs valables pour tous les blocs à l'aide de la méthode
SetAttribute() et SetAttributes().
SetAttributes() peut être utilisé pour tous les types d'objets pour lesquels un attribut Openness
pouvant être écrit est disponible. Pour un élément d'entrée, il se comporte comme SetAttribute.
Vérification des paramètres :
● Des vérifications initiales sont effectuées, avant que le premier élément soit traité par
l'infrastructure PE globale : Les éléments d'entrée sont contrôlés pour vérifier que les noms
d'attributs sont identiques et valides et que les types de données correspondent. Un attribut
ne peut pas être défini deux fois par un SetAttributes.
● Une vérification séquentielle a lieu durant l'exécution de SetAttributes. L'ordre du traitement
correspond à l'ordre des éléments dans la liste d'entrée.
SetAttributes est traité dans une seule transaction. Si un attribut de la liste d'entrée ne peut pas
être défini, les valeurs des attributs restent inchangées. SetAttributes définit les attributs dans
le même ordre qu'ils sont présents dans la liste de paramètres. Les paramètres peuvent être
dépendants ou indépendants les uns des autres. Lorsqu'un paramètre est dépendant d'un
paramètre précédent dans la liste, ce paramètre est vérifié et évalué en fonction de la valeur
actuelle de l'autre attribut (pas en fonction de la valeur d'origine au moment de l'appel). Si
SetAttributes ne peut pas être exécuté, des détails sur l'erreur sont indiqués. Le message
d'erreur contient le nom du premier attribut qui n'a pas pu être défini, ainsi que sa valeur et la
raison de l'erreur.
Les exemples de code de programme sont basés sur les deux attributs AutoNumber et Number
qui utilisent SetAttribute() (voir Exporter des blocs (Page 896) pour tous les attributs valides
des blocs).
...
PlcBlockGroup blockFolder = YourUtilities.GetFolder();
var block = blockFolder.Blocks.Find("Block_1");
if ((bool)block.GetAttribute(“AutoNumber”)==true)
{
block.SetAttribute("AutoNumber",false);
}
block.SetAttribute("Number",2);
...
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
L'utilisateur d'Openness peut créer un ProDiag FB via l'action Create de la PLCBlock
composition avec les paramètres suivants.
1. Nom
2. Mémento de numérotation automatique
3. Numéro
– Lorsque "Mémento de numérotation automatique" est vrai, le numéro de bloc indiqué est
défini à condition qu'il soit libre. Sinon, un nouveau bloc est généré.
– Lorsque "Mémento de numérotation automatique" est faux, le bloc est défini avec le
numéro de bloc indiqué.
4. Langage de programmation
– Si l'utilisateur appelle l'action Create avec le langage de programmation ProDiag, un
nouveau FB est créé sans IDB .
– Si l'utilisateur appelle l'action Create avec un IDB de ProDiag, l'IDB est créé par ProDiag.
– Dans tous les autres cas non pris en charge, une exception récupérable est déclenchée.
...
PlcBlockGroup blockFolder = plc.BlockGroup;
PlcBlockComposition blockComposition = blockFolder.Blocks;
if (blockComposition != null)
{
string fbName = "ProDiag_Block";
bool isAutoNumber = true;
int number = 1;
var progLang = ProgrammingLanguage.ProDiag;
FB block = blockComposition.CreateFB(fbName, isAutoNumber, number, progLang);
string iDBName="ProDiag_IDB";
string instanceOfName = fbName;
InstanceDB iDbBlock = blockComposition.CreateInstanceDB(iDBName, isAutoNumber, number,
instanceOfName);
}
...
Voir aussi
Accéder aux surveillances et aux propriétés du FB ProDiag (Page 528)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
…
PlcBlock iDB = plc.BlockGroup.Blocks.Find("FB_Block_DB");
string fbName = iDB.GetAttribute("InstanceOfName").ToString();
FB fb = (FB)plc.BlockGroup.Blocks.Find(fbName);
if (fb.Supervisions.Count > 0)Console.WriteLine("Contains supervisions");
else
Console.WriteLine("Does not contains supervisions");
…
...
PlcBlockGroup blockFolder = plc.BlockGroup;
PlcBlock instanceDB = blockFolder.Blocks.Find("IDB");
PlcBlock plcProdiag = blockFolder.Blocks.Find("block_Prodiag");
instanceDB.SetAttribute("AssignedProDiagFB", plcProdiag.Name);
var assignedProDiagFB = instanceDB.GetAttribute("AssignedProDiagFB");
...
Voir aussi
Créer un FB ProDiag (Page 527)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Vous avez ouvert un projet par le biais d'une application TIA Portal Openness.
Voir Ouvrir un projet (Page 109)
Application
Vous pouvez utiliser TIA Portal Openness pour lire la version du bloc fonctionnel ProDiag et
d'autres valeurs d'attribut en liaison avec ProDiag. Avec GetAttribute ( ) et GetAttributes ( ) ,
vous pouvez lire les attributs disponibles spécifiques à une langue de blocs fonctionnels
ProDiag.
Attributs
Les attributs suivants sont pris en charge par les blocs fonctionnels ProDiag dans Openness :
Attributs Type
ProDiagVersion Version
InitialValueAcquisition Bool
UseCentralTimeStamp Bool
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Vous avez ouvert un projet par le biais d'une application TIA Portal Openness :
Voir Ouvrir un projet (Page 109)
Utilisation
Vous pouvez ajouter un fichier externe à un API. Ce fichier externe est enregistré sous le
chemin défini dans le système de fichiers.
Les formats suivants sont pris en charge :
● LIST
● SCL
● DB
● UDT
Remarque
L'accès à des groupes dans le dossier "Fichiers sources externes" n'est pas pris en charge.
Une exception est déclenchée si vous indiquez une autre extension de fichier que *.AWL,
*.SCL, *.DB ou *.UDT .
Code de programme
Pour créer un fichier externe dans le dossier "Fichiers sources externes" à partir d'un bloc,
modifiez le code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API n'est pas en ligne.
Utilisation
L'interface TIA Portal Openness API prend en charge la génération de sources en UTF-8 à
partir de blocs LIST ou SCL, de blocs de données et de types de données API (types de
données utilisateur). Pour générer un fichier source d'un bloc, appelez la
méthode GenerateSource sur l'instance PlcExternalSourceSystemGroup.
L'étendue du fichier source généré dépend de l'option de génération de cette fonction :
● GenerateOptions.None
Générer la source uniquement à partir des blocs mis à disposition.
● GenerateOptions.WithDependencies
Générer la source y compris tous les objets dépendants.
L'interface Siemens.Engineering.SW.ExternalSources.IGenerateSource
indique qu'une source peut être générée.
Pour les blocs, seuls les langages de programmation LIST et SCL sont pris en charge. Des
exceptions sont lancées dans les cas suivants :
● Le langage de programmation n'est pas LIST ou SCL
● Un fichier du même nom existe déjà au lieu de sauvegarde cible.
Seule l'extension de fichier "*.udt" est prise en charge pour les types de données utilisateur.
Des exceptions sont lancées dans les cas suivants :
● L'extension de fichier pour blocs de données n'est pas "*.db"
● L'extension de fichier pour blocs LIST n'est pas "*.awl"
● L'extension de fichier pour blocs SCL n'est pas "*.scl"
Code de programme
Pour générer les fichiers sources à partir de blocs et de types, modifiez le code de programme
suivant :
//method declaration
...
PlcExternalSourceSystemGroup.GenerateSource
(IEnumerable<Siemens.Engineering.SW.ExternalSources.IGenerateSource>
plcBlocks, FileInfo sourceFile, GenerateOptions generateOptions);
...
//examples
...
var blocks = new List<PlcBlock>(){block1};
var fileInfo = new FileInfo(@"C:\temp\SomePathHere.scl");
// exports all blocks and with all their dependencies(e.g. called blocks, used DBs or UDTs)
// as ASCII text into the provided source file.
...
or
..
var types = new List<PlcType>(){udt1};
var fileInfo = new FileInfo(@"C:\temp\SomePathHere.udt");
// exports all data types and their used data types into the provided source file.
...
Voir aussi
Importation de données de configuration (Page 780)
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API n'est pas en ligne.
Utilisation
Vous pouvez générer des blocs à partir de tous les fichiers externes du groupe "Fichiers
sources externes". Seuls les fichiers externes au format ASCII sont pris en charge.
Remarque
L'accès à des groupes dans le dossier "Fichiers sources externes" n'est pas pris en charge.
Les blocs existants sont écrasés.
Si une erreur apparaît lors de l'appel, une Exception est déclenchée. Les 256 premiers
caractères de tout message d'erreur sont compris dans le message de l'Exception. Le projet
est remis à l'état de traitement où il se trouvait avant l'exécution de la
méthode GenerateBlocksFromSource.
Code du programme
Pour générer les blocs à partir de tous les fichiers externes du groupe "Fichiers sources
externes", modifiez le code de programme suivant.
Conditions
Application
Le générateur peut créer un objet (bloc/UDT), mais un élément interne rend le bloc/UDT non
compilable.
Éléments manquants ou invalides typiques qui rendent le bloc/type non compilable :
● Référence à un type non présent
● Utilisation d'un symbole manquant
Code de programme
try
{
IList<IEngineeringObject> generatedObjects =
externalSource.GenerateBlocksFromSource(GenerateBlockOptions.KeepOnError);
foreach (IEngineeringObject engineeringObject in generatedObjects)
{
CompilerResult compilerResult = null;
string objectName = null;
if (engineeringObject is PlcBlock)
{
// handle case for PLcBlock
// e.g. retrieve the compiler result
PlcBlock block = (PlcBlock)engineeringObject;
objectName = block.Name;
compilerResult = block.Compile();
}
else if (engineeringObject is PlcType)
{
// handle case for PlcType
// e.g. retrieve the compiler result
PlcType plcType = (PlcType)engineeringObject;
objectName = plcType.Name;
compilerResult = plcType.Compile();
}
// handle the compiler result
if (compilerResult != null)
{
if (compilerResult.State == CompilerResultState.Error)
{
Console.WriteLine("Object '{0}' could not be compiled successfully!", objectName);
Console.WriteLine("Number of compiler errors: {0}", compilerResult.ErrorCount);
foreach (CompilerResultMessage compilerResultMessage in compilerResult.Messages)
{
Console.WriteLine(compilerResultMessage.Description);
}
}
else
{
Console.WriteLine("Object '{0}' could be compiled successfully.", objectName);
}
}
}
}
catch (RecoverableException exception)
{
// handle recoverable exception
Console.WriteLine(exception.Message);
}
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API n'est pas en ligne.
Code du programme
Pour supprimer un type utilisateur, modifiez le code de programme suivant :
Voir aussi
Importation de données de configuration (Page 780)
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Vous avez ouvert un projet par le biais d'une application TIA Portal Openness :
Voir Ouvrir un projet (Page 109)
● L'API n'est pas en ligne.
Code du programme
Pour supprimer un fichier externe dans le groupe "Fichiers sources externes", modifiez le code
de programme suivant :
Remarque
L'accès à des groupes dans "Fichiers sources externes" n'est pas pris en charge.
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'instance du portail TIA est ouverte avec interface utilisateur.
Code du programme
Pour démarrer l'éditeur correspondant à une référence d'objet du type PlcBlock dans
l'instance de TIA Portal, modifiez le code de programme suivant :
Pour ouvrir l'éditeur correspondant à une référence d'objet du type PlcType dans l'instance de
TIA Portal, modifiez le code de programme suivant :
Voir aussi
Importation de données de configuration (Page 780)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Vous avez ouvert un projet avec votre application TIA Portal Openness.
Voir Ouvrir un projet (Page 109)
Application
TIA Portal Openness vous permet de reconnaître des modifications dans des blocs ou des
UDT. Pour cela, vous pouvez comparer les empreintes de l'objet. Une instance d'empreinte
comprend une FingerprintId, qui définit le type d'empreinte, ainsi qu'une valeur fingerprint sous
forme de chaîne de caractères. Toutes les fingerprints ne prennent en compte que les entrées
utilisateur, et aucun résultat de compilation ou autres modifications apportées par le système.
L'énumération FingerprintId répertorie tous les types d'empreintes pris en charge dans
Openness :
Valeur Description
Code Tient compte de toutes les modifications du code
dans la partie principale du bloc. Le résultat de la
compilation n'est pas pris en compte.
Interface Tient compte de toutes les modifications dans l'in‐
terface d'un bloc, y compris les valeurs initiales
d'un bloc de données.
Properties Tient compte des modifications des propriétés
d'un bloc, par ex. le nom et le numéro.
Comments Tient compte des modifications des commentaire
d'un bloc. Pour les blocs d'organisation (OB), l'em‐
preinte est également modifiée si la liste des lan‐
gues disponibles dans les réglages de la langue
du projet est modifiée.
Valeur Description
LibraryType Disponible si un bloc est connecté à un type de
bibliothèque.
Texts Avec V15 SP1, cette empreinte n'est disponible
que pour des blocs Graph.
Alarms Disponible si un bloc travaille avec la fonction
d'alarme.
Supervision Disponible si un bloc comprend une fonction de
surveillance.
TechnologyObject Disponible uniquement pour les blocs de données
d'objets technologiques.
Events Disponible uniquement pour les OB.
TextualInterface Disponible si le bloc est doté d'une interface tex‐
tuelle.
Vous avez besoin du FingerprintProvider pour appeler les empreintes d'un objet. Ce service
est disponible pour des blocs (FB, FC, OB et DB) et des UDT, mais pas pour les tables des
variables. Le FingerprintProvider calcule toutes les empreintes disponibles d'un objet et les
renvoie à chaque appel de GetFingerprints. Pour recevoir des empreintes correctes, le bloc ou
l'UDT doit être cohérent avant l'appel des empreintes. Faute de quoi une
RecoverableException est signalée. Si une empreinte est invalide après son calcul, une
RecoverableException est signalée.
Code de programme
Pour appeler l'instance d'empreinte, modifiez le code de programme suivant :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
TIA Portal Openness vous permet de créer des pages personnalisées dans le serveur Web des
API : Les données des pages personnalisées sont enregistrées dans des blocs spéciaux
générés par le système de l'API. Vous pouvez aussi éditer et supprimer manuellement ces
blocs. SI vous modifiez néanmoins des données ou des propriétés dans ce bloc de données,
le serveur Web ne fonctionne par la suite plus de façon conforme.
Dans TIA Portal Openness, le nouveau service WebserverUserDefinedPages est ajouté à
l'API du DeviceItem. À l'aide de ce service, vous pouvez générer les blocs de données pour les
pages personnalisées : List<PLCBlock> GenerateBlocks(Arguments). Lors de l'appel de cette
fonction, les blocs de données correspondants sont générés et une liste des blocs de données
générés est retournée à l'utilisateur.
Il existe deux surcharges possibles de cette fonction :
● List<PLCBlock> WebserverUserDefinedPages.GenerateBlocks(WebDBGenerateOptions
GenerateOptions);
● List<PLCBlock> WebserverUserDefinedPages.GenerateBlocks(System.IO.DirectoryInfo
htmlDirectory, System.IO.FileInfo defaultHTMLPage, string applicationName,
WebDBGenerateOptionsGenerateOptions);
Les valeurs de paramètres pour le répertoire HTML, la page HTML et le nom d'application ne
sont pas enregistrées dans les données de projet. Les valeurs des attributs dynamiques
correspondants ne sont ainsi pas modifiées.
Il n'y a pas de fonction spéciale pour la suppression de tous les blocs liés aux pages
personnalisées. Vous devez supprimer manuellement les blocs qui sont transmis en retour aux
pages par l'action "Générer" ou naviguer vers les blocs de données correspondants, comme
c'est déjà possible dans TIA Portal Openness.
Code de programme
Pour générer un bloc pour une page personnalisée, modifiez le code de programme suivant :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Fonctions
Les fonctions suivantes sont disponibles pour les objets technologiques :
● Interroger la composition des objets technologiques (Page 545)
● Créer un objet technologique (Page 546)
● Supprimer des objets technologiques (Page 547)
● Compiler un objet technologique (Page 548)
● Enumérer des objets technologiques (Page 549)
● Rechercher un objet technologique (Page 550)
● Enumérer les paramètres d'un objet technologique (Page 551)
● Rechercher les paramètres d'un objet technologique (Page 551)
● Lire les paramètres d'un objet technologique (Page 552)
Voir aussi
Bibliothèques standard (Page 45)
Possibilités d'utilisation (Page 38)
Objets technologiques
Le tableau suivant indique les objets technologiques disponibles dans l'API Public.
1) L'objet technologique ne prend pas en charge les fonctions Openness suivantes : écriture de
paramètres.
2) L'objet technologique ne prend pas en charge les fonctions Openness suivantes : énumération de
paramètres, recherche de paramètres, lecture de paramètres, écriture de paramètres.
Voir aussi
S7-1500 Motion Control (Page 563)
Types de données
Le tableau suivant indique l'affectation des types de données :
* réservation pour les extensions du type d'appareil dans le projet TIA Portal.
Conditions requises
● L'application Openness est connectée au portail TIA.
VoirEtablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Un API est déterminé dans le projet.
Voir Interroger PLC Target et HMI Target (Page 185)
Code du programme
Pour obtenir tous les objets technologiques d'un API, modifiez le code du programme suivant :
Voir aussi
Bibliothèques standard (Page 45)
Conditions requises
● L'application Openness est liée avec leTIA Portal .
VoirEtablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Un API est déterminé dans le projet.
Voir Interroger PLC Target et HMI Target (Page 185)
Utilisation
Seuls les objets technologiques qui sont listés au paragraphe Vue d'ensemble des objets
technologiques et des versions (Page 543) peuvent être créés. Pour les objets technologiques
non pris en charge ou les paramètres invalides, une exception est signalée. Voir
aussi Traitement des exceptions (Page 765).
Code du programme
Pour ajouter un objet technologique depuis un API précédent, modifiez le code du programme
suivant :
Les valeurs et les combinaisons de nom, type et version des objets technologiques peuvent
être trouvées au paragraphe Vue d'ensemble des objets technologiques et des versions
(Page 543).
Voir aussi
Bibliothèques standard (Page 45)
S7-1500 Motion Control (Page 563)
Conditions requises
● L'application Openness est connectée au portail TIA.
VoirEtablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Un API est déterminé dans le projet.
Voir Interroger PLC Target et HMI Target (Page 185)
● L'objet technologique est présent.
Voir Rechercher un objet technologique (Page 550)
Code du programme
Pour supprimer un objet technologique, modifiez le code du programme suivant :
Voir aussi
Bibliothèques standard (Page 45)
Conditions requises
● L'application Openness est liée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Un API est déterminé dans le projet.
Voir Interroger PLC Target et HMI Target (Page 185)
● L'objet technologique est présent.
Voir Créer un objet technologique (Page 546)
Résultats de la compilation
Les résultats de la compilation d'objets technologiques sont enregistrés de façon récurrente.
Vous trouverez un exemple du traitement récurrent des résultats de compilation au paragraphe
"Compiler le projet (Page 133)".
Remarque
Autres paramètres
Les données importées sont étendues après la compilation. Par exemple, vous pouvez utiliser
Openness pour élaborer des objets technologiques pour la commande du mouvement avec
différentes versions. Après la compilation d'objets technologiques, les versions de commande
du mouvement d'autres objets technologiques sont adaptées à celles du dernier objet
technologique élaboré.
Voir aussi
Bibliothèques standard (Page 45)
Conditions requises
Vous pouvez énumérer les objets technologiques de premier niveau tels que "TO_Axis" et
"TO_Cam". Pour les objets technologiques de niveau inférieur tels que "TO_OutputCam"
voir Créer et trouver TO_OutputCam, TO_CamTrack et TO_MeasuringInput (Page 563).
● L'application Openness est connectée au portail TIA.
VoirEtablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Un API est déterminé dans le projet.
Voir Interroger PLC Target et HMI Target (Page 185)
Code du programme
Pour énumérer des objets technologiques, modifiez le code du programme suivant :
Voir aussi
Bibliothèques standard (Page 45)
S7-1500 Motion Control (Page 563)
Conditions requises
● L'application Openness est connectée au portail TIA.
VoirEtablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Un API est déterminé dans le projet.
Voir Interroger PLC Target et HMI Target (Page 185)
Code du programme
Pour rechercher un objet technologique spécifique, modifiez le code du programme suivant.
Voir aussi
Bibliothèques standard (Page 45)
Conditions requises
● L'application Openness est connectée au portail TIA.
VoirEtablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Un API est déterminé dans le projet.
Voir Interroger PLC Target et HMI Target (Page 185)
● Un objet technologique est présent.
Voir Créer un objet technologique (Page 546) ou Rechercher les paramètres d'un objet
technologique (Page 551)
● L'objet technologique (Page 543) prend en charge cette fonction.
Code du programme
Pour énumérer les paramètres d'un objet technologique, modifiez le code du programme
suivant :
Voir aussi
Bibliothèques standard (Page 45)
Rechercher un objet technologique (Page 550)
Conditions requises
● L'application Openness est connectée au portail TIA.
VoirEtablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code du programme
Pour rechercher les paramètres d'un objet technologique, modifiez le code du programme
suivant :
Voir aussi
Bibliothèques standard (Page 45)
Rechercher un objet technologique (Page 550)
Conditions requises
● L'application Openness est connectée au portail TIA.
VoirEtablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code du programme
Pour lire les paramètres d'un objet technologique défini, modifiez le code du programme
suivant :
Voir aussi
Bibliothèques standard (Page 45)
Rechercher un objet technologique (Page 550)
Conditions requises
● L'application Openness est connectée au portail TIA.
VoirEtablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Un API est déterminé dans le projet.
Voir Interroger PLC Target et HMI Target (Page 185)
● Un objet technologique est présent.
Voir Créer un objet technologique (Page 546)
● L'objet technologique (Page 543) prend en charge cette fonction.
Exception
Une EngineeringException est signalée lorsque :
● vous définissez une nouvelle valeur pour un paramètre qui ne possède pas d'accès en
écriture.
● une nouvelle valeur pour un paramètre est d'un type non pris en charge.
Code du programme
Pour écrire un paramètre d'un objet technologique spécifique, modifiez le code du programme
suivant :
Voir aussi
Bibliothèques standard (Page 45)
Rechercher un objet technologique (Page 550)
Les variables de type ARRAY pour TO_CommandTable concernées sont énumérées dans les
tableaux suivants :
Conditions
● L'application Openness est liée à TIA Portal.
Voir Établir une connexion à TIA Portal (Page 79).
● Un projet est ouvert.
Voir Ouverture d'un projet (Page 109)
● Un API S7-1200 avec des sorties PTO a été créé dans le projet.
● L'objet technologique est présent.
Voir Élaborer un objet technologique (Page 546).
Code du programme
Pour connecter une sortie PTO pour le "TO_PositioningAxis", modifiez le code du programme
suivant :
//An instance of the technology object axis is already available in the program before
private static void ConnectingDrive(TechnologicalInstanceDB technologicalObject)
{
//Set axis to PTO mode
technologicalObject.Parameters.Find("Actor.Type").Value = 2;
//Set PTO-Output
technologicalObject.Parameters.Find("_Actor.Interface.PTO").Value = 0; // select
Pulse_1
// 0 = Pulse_1
// 1 = Pulse_2
// 2 = Pulse_3
// 3 = Pulse_4
}
Conditions
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79).
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109).
● Une CPU S7-1200 est créée dans le projet.
● Un PROFIdrive est disponible dans le projet et connecté à la CPU S7-1200.
● L'objet technologique est présent.
Voir Créer un objet technologique (Page 546).
Code du programme
Modifiez le code de programme suivant pour connecter un PROFIdrive à l'objet technologique
"TO_PositioningAxis" à l'aide d'une adresse matérielle.
//An instance of the technology object axis is already available in the program before
private static void ConnectingDrive(TechnologicalInstanceDB technologicalObject)
{
//Set axis to PROFIdrive mode
technologicalObject.Parameters.Find("Actor.Type").Value = 1;
Conditions
Code du programme
Modifiez le code de programme suivant pour connecter un codeur à l'adresse matérielle avec
l'objet technologique "TO_PositioningAxis" :
//An instance of the technology object axis is already available in the program before
private static void ConnectingEncoder(TechnologicalInstanceDB technologicalObject)
{
//Set axis to PROFIdrive mode
technologicalObject.Parameters.Find("Actor.Type").Value = 1;
Conditions
Code du programme
Modifiez le code de programme suivant pour connecter un entraînement analogique à
l'adresse matérielle avec l'objet technologique "TO_PositioningAxis" :
//An instance of the technology object axis is already available in the program before
private static void ConnectingEncoder(TechnologicalInstanceDB technologicalObject)
{
//Set axis to analog drive mode
technologicalObject.Parameters.Find("Actor.Type").Value = 0;
Conditions
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79).
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109).
● Une CPU S7-1200 est créée dans le projet.
● Un entraînement analogique est disponible dans le projet et connecté à la CPU S7-1200.
● L'objet technologique est présent.
Voir Créer un objet technologique (Page 546).
Code du programme
Modifiez le code de programme suivant pour connecter un codeur à l'adresse matérielle avec
l'objet technologique "TO_PositioningAxis" :
//An instance of the technology object axis is already available in the program before
//Connecting by High Speed Counter mode
private static void ConnectingEncoder(TechnologicalInstanceDB technologicalObject)
{
//Set axis to analog drive mode
technologicalObject.Parameters.Find("Actor.Type").Value = 0;
//An instance of the technology object axis is already available in the program before
//Connecting by PROFINET/PROFIBUS telegram
private static void ConnectingEncoder(TechnologicalInstanceDB
technologicalObject)
{
//Set axis to analog drive mode
technologicalObject.Parameters.Find("Actor.Type").Value = 0;
//Set encoder for PROFINET/PROFIBUS mode
technologicalObject.Parameters.Find("_Sensor[1].Interface.EncoderConnection").Value =
7;
technologicalObject.Parameters.Find("_Sensor[1].Interface.DataConnection").Value =
"Encoder";
technologicalObject.Parameters.Find("_Sensor[1].Interface.ProfiDriveIn").Value =
"%I68.0";
technologicalObject.Parameters.Find("Sensor[1].Interface.Number").Value = 1;
// 1 = Encoder1, 2 = Encoder2;
}
Conditions
● Un bloc de données est disponible dans le projet et réglé sur "Non optimisé".
Avec un type d'axe PROFIdrive, le bloc de données contient une variable de ce type, par
exemple PD_TEL3.
Avec un entraînement analogique, le bloc de données contient une variable du type de
données Mot.
● L'objet technologique est présent.
Voir Créer un objet technologique (Page 546).
Code du programme
Modifiez le code de programme suivant pour connecter un PROFIdrive à un bloc de données
avec l'objet technologique "TO_PositioningAxis".
//An instance of the technology object axis is already available in the program before
private static void ConfigureDrivewithDataBlock(TechnologicalInstanceDB
technologicalObject)
{
//Set axis to PROFIdrive mode
technologicalObject.Parameters.Find("Actor.Type").Value = 1;
Code du programme
Modifiez le code de programme suivant pour connecter un entraînement analogique à un bloc
de données avec l'objet technologique "TO_PositioningAxis" :
//An instance of the technology object axis is already available in the program before
//Connecting an analog drive with data block.
private static void ConfigureDrivewithDataBlock(TechnologicalInstanceDB
technologicalObject)
{
//Set axis to analog mode
technologicalObject.Parameters.Find("Actor.Type").Value = 0;
Conditions
Code du programme
Modifiez le code de programme suivant pour connecter un codeur à un bloc de données :
//An instance of the technology object axis is already available in the program before
private static void ConfigureEncoderwithDataBlock(TechnologicalInstanceDB
technologicalObject)
{
//Set axis to PROFIdrive mode depending by axis type. 1 = PROFIdrive, 0 = Analog Drive.
technologicalObject.Parameters.Find("Actor.Type").Value = 1;
//Set the tag in the data block. For PD_TEL3 and PD_TEL4 "Encoder1" or "Encoder2".
technologicalObject.Parameters.Find("_Sensor[1].Interface.DataBlock").Value =
"Data_block_1.Member_of_Type_PD_TEL3";
}
Remarque
Dans TIA Portal, la colonne "Nom dans Openness" se trouve dans la vue des paramètres de
la configuration de l'objet technologique.
Conditions
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79).
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109).
● Une CPU S7-1500 est créée dans le projet.
● Un objet technologique du type TO_PositioningAxis, TO_SynchronousAxis ou
TO_ExternalEncoder est créé dans le projet.
Application
Les objets technologiques Came, Piste de came et Palpeur de mesure sont connectés à l'un
des objets technologiques Axe de positionnement, Axe synchrone ou Codeur externe. Pour
accéder aux objets technologiques Came, Piste de came ou Palpeur de mesure, utilisez le
service OutputCamMeasuringInputContainer.
Code du programme : Créer et trouver les objets technologiques Came, Piste de came et Palpeur de
mesure
Modifiez le code de programme suivant pour créer ou trouver l'objet technologique Came, Piste
de came ou Palpeur de mesure.
/*An instance of the technology object under which the TO_OutputCam, TO_CamTrack or
TO_MeasuringInput should be created is already available in the program before*/
private static void CreateFind_OutputcamCamtrackMeasuringinput(TechnologicalInstanceDB
technologyObject)
{
//Retrieve service OutputCamMeasuringInputContainer
OutputCamMeasuringInputContainer container =
technologyObject.GetService<OutputCamMeasuringInputContainer>();
//Get access to TO_OutputCam / TO_CamTrack container
TechnologicalInstanceDBComposition outputcamCamtrackContainer = container.OutputCams;
/*An instance of the technology object under which the TO_OutputCam, TO_CamTrack or
TO_MeasuringInput should be created is already available in the program before*/
// sourceMasterCopy contains master copy object output cam
private static void CreateFind_OutputcamCamtrackMeasuringinput(TechnologicalInstanceDB
technologyObject, MasterCopy sourceMasterCopy)
{
//Retrieve service OutputCamMeasuringInputContainer
OutputCamMeasuringInputContainer container =
technologyObject.GetService<OutputCamMeasuringInputContainer>();
Paramètres directement représentés sur les variables de bloc de données de l'objet technologique :
Vous avez accès à toutes les variables de bloc de données de l'objet technologique
généralement décrites sauf :
● Variables protégées en écriture
● Variables du type de données VREF
● Variables avec la structure "InternalToTrace"
● Variables avec la structure "ControlPanel"
Vous pouvez trouver dans les annexes suivantes des informations supplémentaires sur les
paramètres représentés directement :
● Description fonctionnelle SIMATIC S7-1500 Motion Control :
https://support.industry.siemens.com/cs/ww/fr/view/109749262 (https://
support.industry.siemens.com/cs/ww/fr/view/109749262)
● Description fonctionnelle SIMATIC S7-1500T Motion Control :
https://support.industry.siemens.com/cs/ww/fr/view/109749263 (https://
support.industry.siemens.com/cs/ww/fr/view/109749263)
● Description fonctionnelle SIMATIC S7-1500T Fonctions cinématiques :
https://support.industry.siemens.com/cs/ww/fr/view/109749264 (https://
support.industry.siemens.com/cs/ww/fr/view/109749264)
Certains paramètres technologiques assignés aux variables de bloc de données protégées en
écriture peuvent être écrits dans PublicAPI. Les valeurs autorisées sont les mêmes que pour
les variables de bloc de données subordonnées. Les paramètres concernés sont énumérés
dans les tableaux suivants :
Paramètres qui ne sont pas directement représentés sur les variables de bloc de données de l'objet
technologique :
Les paramètres supplémentaires suivants qui ne sont pas directement représentés sur les
variables de bloc de données sont disponibles pour les objets technologiques S7-1500 Motion
Control :
Nom dans Openness Nom dans la Valeur pos‐ Type de don‐ TO_SpeedA‐ TO_Positionin‐ TO_Externa‐
vue de fonction sible nées dans xis gAxis lEncoder
Openness TO_Synchro‐
nousAxis
_Properties.Motion‐ Type d'axe ou 0 : Linéaire int - X X
Type "unité techni‐ 1 : Rotatif
que de la posi‐
tion"
_Properties.UseHigh‐ Utiliser la va‐ True, False bool - X X
ResolutionPosition‐ leur de posi‐
Values tionnement
avec une hau‐
te résolution
_CrossPlcSynchro‐ Activer le cal‐ True, False bool - X X
nousOperation. cul de la durée
ActivateLocalLea‐ de retard
dingValueDelayTime‐
Calculation
_Units.LengthUnit Unités de posi‐ Voir la variable uint - X X
tion Units.Leng‐
thUnit3)
_Units.VelocityUnit Unités de vi‐ Voir la variable uint X X X
tesse Units.Veloci‐
tyUnit3)
_Units.TorqueUnit Unités de cou‐ Voir la variable uint X X -
ple Units.Tor‐
queUnit3)
_Units.ForceUnit Unités de force Voir la variable uint - X -
Units.ForceU‐
nit3)
_Actor.DataAdaptio‐ Appliquer au‐ Vrai, faux bool X X -
nOffline tomatique‐
ment ...
_Actor.Interface.Tele‐ Télégramme Numéro de té‐ uint X X -
gram d'entraîne‐ légramme4)
ment
_Actor.Interface.Ena‐ Adresse pour Objet PublicA‐ SW.Tags.PlcT X X -
bleDriveOutputAd‐ la sortie Vali‐ PI ag
dress dation d'entraî‐
nement
_Actor.Interface.Dri‐ Adresse pour Objet PublicA‐ SW.Tags.PlcT X X -
veReadyInputAd‐ l'entrée Valida‐ PI ag
dress tion d'entraîne‐
ment
_Sensor[n].Interfa‐ Télégramme Numéro de té‐ uint - X -
ce.Telegram5) de codeur légramme4)
Nom dans Openness Nom dans la Valeur pos‐ Type de don‐ TO_SpeedA‐ TO_Positionin‐ TO_Externa‐
vue de fonction sible nées dans xis gAxis lEncoder
Openness TO_Synchro‐
nousAxis
_Sensor[n].Active‐ Entrée TOR Objet PublicA‐ SW.Tags.PlcT - X -
Homing.DigitalInpu‐ PI ag
tAddress5)
_Sensor[n].Passive‐ Entrée TOR Objet PublicA‐ SW.Tags.PlcT - X -
Homing.DigitalInpu‐ PI ag
tAddress5)
_PositionLi‐ Adresse du fin Objet PublicA‐ SW.Tags.PlcT - X -
mits_HW.MinSwit‐ de course ma‐ PI ag
chAddress tériel négatif
_PositionLi‐ Adresse du fin Objet PublicA‐ SW.Tags.PlcT - X -
mits_HW.MaxSwit‐ de course ma‐ PI ag
chAddress tériel positif
_Sensor[n].DataA‐ Appliquer au‐ Vrai, faux bool - X -
daptionOffline1) tomatique‐
ment ...
_Sensor.DataAdap‐ Appliquer au‐ Vrai, faux bool - - X
tionOffline tomatique‐
ment ...
_Sensor.Interface.Te‐ Télégramme Numéro de té‐ uint - - X
legram de codeur légramme4)
_Sensor.Passive‐ Entrée TOR Objet PublicA‐ SW.Tags.PlcT - - X
Homing.DigitalInpu‐ PI ag
tAddress
_CrossPlcSynchro‐ Synchronisme Objet PublicA‐ SW.Tags.PlcT - X X
nousOperation.Inter‐ réparti PI ag
face[1]. AddressOut
Le paramètre supplémentaire suivant est disponible pour les objets technologiques Came,
Piste de came et Palpeur de mesure :
Nom dans Openness Nom dans la vue de fonction Valeur possible Type de données
_AssociatedObject Axe ou codeur externe affecté Objet PublicAPI SW.TechnologicalObjects.Tech‐
nologicalInstanceDB
Nom dans Openness Nom dans la vue de fonction Valeur possible Type de données
_KinematicsAxis[1...4] Axes 1 - 3, axe d'orientation Axe pouvant être con‐ SW.TechnologicalObjects.Tech‐
necté aux objets TO_Ki‐ nologicalInstanceDB
nematics
_Units.LengthUnit Unité de mesure > position Voir la variable uint
Units.LengthUnit3)
_Units.LengthVelocityUnit Unité de mesure > vitesse Voir la variable uint
Units.LengthVelocityU‐
nit3)
_Units.AngleUnit Unité de mesure > angle Voir la variable UnitsAn‐ uint
gleUnit3)
Nom dans Openness Nom dans la vue de fonction Valeur possible Type de données
_Units.AngleVelocityUnit Unité de mesure > vitesse an‐ Voir la variable Units.An‐ uint
gulaire gleVelocityUnit3)
_X_Minimum Minimum x -1.00E+12 .. +1.00E+12 double
_X_Maximum Maximum x -1.00E+12 .. +1.00E+12 double
_Y_Minimum Minimum y -1.00E+12 .. +1.00E+12 double
_Y_Maximum Maximum y -1.00E+12 .. +1.00E+12 double
_Z_Minimum Minimum z -1.00E+12 .. +1.00E+12 double
_Z_Maximum Maximum z -1.00E+12 .. +1.00E+12 double
_A3_Maximum Maximum A3 -1.00E+12 .. +1.00E+12 double
Nom dans Openness Nom dans la vue de fonction Valeur possible Type de données
_Interface.AddressIn Plage de transfert Objet PublicA‐ SW.Tags.PlcTag
PI
3) Les valeurs possibles sont décrites dans le chapitre Variable Units (TO) de la description
fonctionnelle S7-1500 Motion Control
4) Les valeurs possibles sont décrites dans le chapitre Télégrammes PROFIdrive de la
description fonctionnelle S7-1500 Motion Control
5) CPU S7-1500 : n=1 ; CPU S7-1500T : 1≤n≤4
//An instance of the technology object is already available in the program before
private static void ReadWriteDataBlockTag(TechnologicalInstanceDB technologyObject)
{
//Read value from data block tag "ReferenceSpeed"
double value =
(double)technologyObject.Parameters.Find("Actor.DriveParameter.ReferenceSpeed").Value;
//An instance of the technology object is already available in the program before
private static void ReadWriteAdditionalParameter(TechnologicalInstanceDB technologyObject)
{
//Read additional parameter "_Properties.MotionType"
uint value = (uint)technologyObject.Parameters.Find("_Properties.MotionType").Value;
Informations supplémentaires
Pour plus d'informations, voir :
● Description fonctionnelle SIMATIC S7-1500 Motion Control :
https://support.industry.siemens.com/cs/ww/fr/view/109749262 (https://
support.industry.siemens.com/cs/ww/fr/view/109749262)
● Description fonctionnelle SIMATIC S7-1500T Motion Control :
https://support.industry.siemens.com/cs/ww/fr/view/109749263 (https://
support.industry.siemens.com/cs/ww/fr/view/109749263)
● Description fonctionnelle SIMATIC S7-1500T Fonctions cinématiques :
https://support.industry.siemens.com/cs/ww/fr/view/109749264 (https://
support.industry.siemens.com/cs/ww/fr/view/109749264)
Conditions
Vous devez utiliser les adresses de bits pour une connexion d'objet technologique. Les
adresses d'octet ne peuvent pas être utilisées.
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79).
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109).
● Une CPU S7-1500 est créée dans le projet.
● Un objet technologique du type TO_SpeedAxis, TO_PositioningAxis ou
TO_SynchronousAxis est créé dans le projet.
● Un entraînement est créé dans le projet.
Application
Pour connecter un axe à un entraînement, il est nécessaire d'indiquer plusieurs valeurs
ensemble au cours d'un seul appel. Le type du Public API
AxisEncoderHardwareConnectionInterface offre les méthodes suivantes pour connecter ou
couper les interfaces d'actionneur ou de capteur :
Méthode Description
void Connect(HW.DeviceItem moduleInOut) Connecte aux adresses d'entrée et de sortie d'un module
void Connect(HW.DeviceItem moduleIn, HW.DeviceItem mo‐ Connecte aux adresses d'entrée et de sortie de modules cou‐
duleOut) pés
void Connect(HW.DeviceItem moduleIn, HW.DeviceItem mo‐ Connecte aux adresses d'entrée et de sortie de modules cou‐
duleOut, ConnectOption connectOption) pés en indiquant une ConnectOption supplémentaire
void Connect(HW.Channel channel) Connecte à une voie
void Connect(int addressIn, int addressOut, ConnectOption Connecte des adresses binaires directement
connectOption)
void Connect(string pathToDBMember) Connecte à une variable de bloc de données
void Connect(SW.Tags.PlcTag outputTag) Connecte à une variable CPU
void Disconnect() Coupe une connexion existante
Remarque
Connexion automatique
Notez que s'applique ici le même comportement que dans l'interface utilisateur. Les parties
sont toujours connectées automatiquement lorsque l'interface d'actionneur est connectée via
l'une des méthodes de connexion suivantes et que le télégramme contient une partie capteur
ou télégramme 750.
Vous pouvez utiliser les attributs en lecture seule suivants pour déterminer comment l'objet
technologique est connecté. Les valeurs de connexion correspondantes sont réglées
uniquement si une connexion spécifique de ce type existe.
Remarque
Accès à l'interface de capteur
Pour accéder à l'interface de capteur, vous pouvez utiliser SensorInterface[m] avec 0≤m≤3.
//An instance of technology object and device item is already available in the program
before
private static void UseServiceAxisHardwareConnectionProvider(TechnologicalInstanceDB
technologyObject, DeviceItem devItem)
{
//Retrieve service AxisHardwareConnectionProvider
AxisHardwareConnectionProvider connectionProvider =
technologyObject.GetService<AxisHardwareConnectionProvider>();
Conditions
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Une CPU S7-1500 est créée dans le projet.
● Un objet technologique du type TO_SpeedAxis, TO_PositioningAxis ou
TO_SynchronousAxis V4.0 est créé dans le projet.
● Un entraînement, qui prend en charge le télégramme 750, est créé dans le projet.
Application
Lorsque le télégramme 750 est ajouté après la connexion de l'entraînement et de l'axe, le
télégramme 750 doit être connecté séparément. EnableTorqueData est automatiquement mis
sur TRUE . Le type du Public API TorqueHardwareConnectionInterface offre les méthodes
suivantes pour connecter ou couper le télégramme 750.
Méthode Description
void Connect(HW.DeviceItem moduleInOut) Connecte aux adresses d'entrée et de sortie d'un
module
void Connect(HW.DeviceItem moduleIn, HW.De‐ Connecte aux adresses d'entrée et de sortie de
viceItem moduleOut) modules coupés
//An instance of technology object and device item is already available in the program
before
private static void ConnectTorqueInterface(TechnologicalInstanceDB technologyObject,
DeviceItem devItem)
{
//Retrieve service AxisHardwareConnectionProvider
AxisHardwareConnectionProvider connectionProvider =
technologyObject.GetService<AxisHardwareConnectionProvider>();
//Connect TorqueInterface with DeviceItem
connectionProvider.TorqueInterface.Connect(devItem);
}
Connecter un codeur
Conditions
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79).
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109).
● Une CPU S7-1500 est créée dans le projet.
● Un objet technologique du type TO_ExternalEncoder est créé dans le projet.
● Un objet fournissant le télégramme PROFIdrive 81 ou 83 est défini dans le projet.
Application
Pour connecter un objet technologique Codeur externe au matériel du codeur, il est nécessaire
d'indiquer plusieurs valeurs ensemble au cours d'un seul appel. Le type du Public API
AxisEncoderHardwareConnectionInterface offre les méthodes suivantes pour connecter ou
couper l'interface de capteur.
Méthode Description
void Connect(HW.DeviceItem moduleInOut) Connecte aux adresses d'entrée et de sortie d'un module
void Connect(HW.DeviceItem moduleIn, HW.DeviceItem mo‐ Connecte aux adresses d'entrée et de sortie de modules cou‐
duleOut) pés
void Connect(HW.DeviceItem moduleIn, HW.DeviceItem mo‐ Connecte aux adresses d'entrée et de sortie de modules cou‐
duleOut, ConnectOption connectOption) pés en indiquant une ConnectOption supplémentaire
void Connect(HW.Channel channel) Connecte à une voie
void Connect(int addressIn, int addressOut, ConnectOption Connecte des adresses binaires directement
connectOption)
void Connect(string pathToDBMember) Connecte à une variable de bloc de données
void Connect(SW.Tags.PlcTag outputTag) Non pertinent pour la connexion de codeurs
void Disconnect() Coupe une connexion existante
Vous pouvez utiliser les attributs en lecture seule suivants pour déterminer comment l'objet
technologique est connecté. Les valeurs de connexion correspondantes sont réglées
uniquement si une connexion spécifique de ce type existe.
//An instance of technology object and device item is already available in the program
before
private static void UseServiceEncoderHardwareConnectionProvider(TechnologicalInstanceDB
technologyObject, DeviceItem devItem)
{
//Retrieve service EncoderHardwareConnectionProvider
EncoderHardwareConnectionProvider connectionProvider =
technologyObject.GetService<EncoderHardwareConnectionProvider>();
Conditions
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79).
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109).
● Une CPU S7-1500 est créée dans le projet.
● Un objet technologique du type TO_OutputCam ou TO_CamTrack est créé dans le projet.
● Un module de sorties TOR est créé dans le projet, par exemple TM Timer DIDQ.
Application
Pour connecter un objet technologique Came ou Piste de came à une sortie TOR, il est
nécessaire d'indiquer plusieurs valeurs ensemble au cours d'un seul appel. Le type du Public
API OutputCamHardwareConnectionProvider offre les méthodes suivantes pour connecter ou
couper les interfaces d'actionneur ou de capteur :
Méthode Description
void Connect(HW.Channel channel) Connecte à une voie
void Connect(SW.Tags.PlcTag outputTag) Connecte à une variable CPU
void Connect(int address) Connecte des adresses binaires directement
void Disconnect() Coupe une connexion existante
Vous pouvez utiliser les attributs en lecture seule suivants pour déterminer comment l'objet
technologique est connecté :
//An instance of technology object and channel item is already available in the program
before
private static void UseServiceOutputCamHardwareConnectionProvider(TechnologicalInstanceDB
technologyObject, Channel channel)
{
//Retrieve service OutputCamHardwareConnectionProvider
OutputCamHardwareConnectionProvider connectionProvider =
technologyObject.GetService<OutputCamHardwareConnectionProvider>();
Conditions
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79).
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109).
● Une CPU S7-1500 est créée dans le projet.
● Un objet technologique du type TO_MeasuringInput est créé dans le projet.
● Un module d'entrées TOR est créé dans l'entraînement ou dans le projet, par exemple TM
Timer DIDQ.
Application
Pour connecter un objet technologique Palpeur de mesure à une entrée TOR, il est nécessaire
d'indiquer plusieurs valeurs ensemble au cours d'un seul appel. Le type du Public API
MeasuringInputHardwareConnectionProvider offre les méthodes suivantes pour connecter ou
couper les interfaces d'actionneur ou de capteur :
Méthode Description
void Connect(HW.Channel channel) Connecte à une voie
void Connect(HW.DeviceItem moduleIn, int channelIndex) Connecte à un module et définit un indice de canal de sup‐
plémentaire
void Connect(int address) Connecte des adresses binaires directement
● Pour les voies TM, les adresses de bits peuvent être cal‐
culées à l'aide de la formule
bit_address = module_start_address * 8 + channel_index.
● Pour le télégramme 39x, la formule associée est
bit_address = module_start_address * 8 + 24 + num‐
ber_of_measuringinput_in_telegram.
void Disconnect() Coupe une connexion existante
Vous pouvez utiliser les attributs en lecture seule suivants pour déterminer comment l'objet
technologique est connecté :
//An instance of technology object and channel item is already available in the program
before
private static void
UseServiceMeasuringInputHardwareConnectionProvider(TechnologicalInstanceDB
technologyObject, Channel channel)
{
//Retrieve service MeasuringInputHardwareConnectionProvider
MeasuringInputHardwareConnectionProvider connectionProvider =
technologyObject.GetService<MeasuringInputHardwareConnectionProvider>();
Conditions
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79).
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109).
● Une CPU S7-1500 est créée dans le projet.
● Un objet technologique du type TO_PositioningAxis, TO_SynchronousAxis,
TO_ExternalEncoder ou TO_LeadingAxisProxy en tant qu'axe pilote est créé dans le projet.
● Un objet technologique du type TO_SynchronousAxis en tant qu'axe asservi est créé dans
le projet.
Application
Pour connecter un objet technologique Axe synchrone à des valeurs pilote, il est nécessaire
d'indiquer plusieurs valeurs ensemble au cours d'un seul appel. Le type du Public API
SynchronousAxisMasterValues offre les méthodes suivantes pour connecter ou couper des
valeurs pilote. Les valeurs pilote peuvent être connectées en tant que couplages par valeur de
consigne (CPU S7-1500, CPU S7-1500T) ou en tant que couplages par valeur réelle (CPU
S7-1500T). Toutes les méthodes et tous les attributs sont pertinents pour les deux méthodes
de couplage.
Méthode Description
int IndexOf (TechnologicalInstanceDB element) Renvoie l'indice correspondant d'une valeur pilote
bool Contains (TechnologicalInstanceDB element) TRUE : le conteneur contient la valeur pilote
FALSE : le conteneur ne contient pas la valeur pilote
IEnumerator GetEnumerator <TechnologicalInstanceDB>() Sert à la prise en charge de chaque itération
void Add (TechnologicalInstanceDB element) Connecte l'axe asservi à une valeur pilote
bool Remove (TechnologicalInstanceDB element) Sépare l'axe asservi de la valeur pilote
TRUE : la connexion a été coupée avec succès
FALSE : impossible de couper la connexion
Vous pouvez utiliser les attributs suivants pour connecter un axe synchrone à une valeur pilote :
//An instance of leading axis and following axis is already available in the program before
private static void UseServiceSynchronousAxisMasterValues(TechnologicalInstanceDB
masterTechnologyObject, TechnologicalInstanceDB synchronousTechnologyObject)
{
//Retrieve service SynchronousAxisMasterValues
SynchronousAxisMasterValues masterValues =
synchronousTechnologyObject.GetService<SynchronousAxisMasterValues>();
//Connect following axis and leading axis with actual value coupling
masterValues.ActualValueCoupling.Add(masterTechnologyObject);
Conditions
● L'application Openness est liée à TIA Portal.
Voir "Établir une connexion à TIA Portal".
● Un projet est ouvert.
Voir "Ouverture d'un projet".
● Un APIS7-1500 est créé dans le projet.
● Un objet technologique du type TO_PositioningAxis, TO_SynchronousAxis ou
TO_ExternalEncoder en tant qu'axe pilote est créé dans le projet.
● Un objet technologique du type TO_Kinematics en tant qu'axe asservi est créé dans le
projet.
Utilisation
Pour configurer les valeurs pilotes du suivi de bande, utilisez le service
SW.TechnologicalObjects.Motion.ConveyorTrackingLeadingValues pour la cinématique TO ≥
V5.0.
Méthode Description
int IndexOf (TechnologicalInstanceDB element) Renvoie l'indice correspondant d'une valeur pilote
bool Contains (TechnologicalInstanceDB element) TRUE: Le conteneur contient la valeur pilote
FALSE: Le conteneur ne contient pas la valeur pi‐
lote
IEnumerator GetEnumerator <TechnologicalIns‐ Sert à la prise en charge de chaque itération
tanceDB>()
void Add (TechnologicalInstanceDB element) Connecte l'axe asservi à une valeur pilote
bool Remove (TechnologicalInstanceDB element) Sépare l'axe asservi de la valeur pilote
TRUE: La connexion a été coupée avec succès
FALSE: La connexion n'a pas pu être coupée
Vous pouvez utiliser les attributs suivants pour connecter un axe cinématique à une valeur
pilote :
Conditions
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79).
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109).
● Une CPU S7-1500 est créée dans le projet.
Voir Interroger PLC Target et HMI Target (Page 185)
● L'objet technologique est présent.
Application
Pour exporter ou importer les données d'un objet technologique Cam, vous devez indiquer le
format et le séparateur souhaité. Le type du Public API CamDataSupport offre les méthodes
suivantes que vous pouvez utiliser pour exporter les données de l'objet technologique Cam :
Vous trouverez plus d'informations sur le format d'exportation des cames dans la description
fonctionnelle S7-1500 / S7-1500T pour les fonctions synchrones, au chapitre Importation/
exportation de cames.
Méthode Description
void SaveCamDataBinary(System.IO.FileInfo destinationFi‐ Exporte les données au format binaire dans un fichier cible.
le)
void SaveCamDataPointList(System.IO.FileInfo destination‐ Exporte les données au format "PointList" dans un fichier ci‐
File, CamDataFormatSeparator separator, int samplePoints) ble.
void SaveCamData(System.IO.FileInfo destinationFile, Cam‐ Exporte les données dans un fichier cible. Vous pouvez choi‐
DataFormat format, CamDataFormatSeparator separator) sir "MCD", "SCOUT" ou "Pointlist" comme format de données
et "Tabulation" ou "Virgule" comme séparateur.
Si vous choisissez "PointList", 360 points d'interpolation sont
exportés.
void LoadCamData(System.IO.FileInfo sourceFile, CamDa‐ Importe les données Cam au format "MCD", "SCOUT" ou
taFormatSeparator separator) "PointList" dans le projet.
void LoadCamDataBinary(System.IO.FileInfo sourceFile) Importe les données Cam d'un fichier binaire dans le projet.
//Load cam data from source file, using the separator Tab
camData.LoadCamData(sourceFile, CamDataFormatSeparator.Tab);
}
Remarque
Dans TIA Portal, vous trouverez dans la vue de paramètre de la configuration d'objet
technologique la colonne "Name in Openness".
7.19.23.17 Comptage
Remarque
Dans TIA Portal, vous trouverez dans la vue de paramètre de la configuration d'objet
technologique la colonne "Name in Openness".
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'instance du portail TIA est ouverte avec interface utilisateur.
Code du programme
Pour démarrer l'éditeur correspondant à une référence d'objet du type PlcTagTable dans
l'instance de TIA Portal, modifiez le code de programme suivant :
Voir aussi
Importation de données de configuration (Page 780)
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Une instance PlcSoftware a été appelée par un élément d'appareil API.
Voir Interroger PLC Target et HMI Target (Page 185)
Code du programme
Pour interroger un groupe système pour variables API, modifiez le code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Une instance PlcSoftware a été appelée par un élément d'appareil API.
Voir Interroger PLC Target et HMI Target (Page 185)
Code de programme
Pour créer la table des variables API, modifiez le code de programme suivant : Une nouvelle
table des variables API est créée avec le nom indiqué dans la combinaison.
Voir aussi
Interroger PLC Target et HMI Target (Page 185)
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Une instance PlcSoftware a été appelée par un élément d'appareil API.
Voir Interroger PLC Target et HMI Target (Page 185)
Utilisation
Les sous-dossiers compris sont considérés comme récurrents lors de l'énumération.
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
L'interface TIA Portal Openness API prend en charge la création d'un groupe personnalisé
pour variables API.
Code du programme
Pour créer un groupe personnalisé pour variables API, modifiez le code de programme suivant :
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
L'interface TIA Portal Openness API prend en charge la suppression d'un groupe personnalisé
spécifique pour tables de variables API.
Code du programme
Pour supprimer un groupe personnalisé déterminé pour tables de variables API, modifiez le
code de programme suivant :
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
//Enumerates all plc tag tables in a specific system group or and user group
private static void EnumerateAllPlcTagTablesInFolder(PlcSoftware plcSoftware)
{
PlcTagTableComposition tagTables = plcSoftware.TagTableGroup.TagTables;
// alternatively, PlcTagTableComposition tagTables =
plcSoftware.TagTableGroup.Groups.Find("UserGroup XYZ").TagTables;
foreach (PlcTagTable tagTable in tagTables)
{
// add code here
}
}
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Les tables de variables API vous permettent d'accéder à des constantes utilisateur, des
constantes système et des variables. Le nombre de compositions de variables d'une table des
variables correspond au nombre de variables d'une table des variables. La table PLCTagTable
comprend les navigateurs, attributs et actions suivants.
Vous avez accès aux attributs suivants dans la table des variables API.
Code de programme
Pour interroger les informations d'une table de variables API, modifiez le code de programme
suivant :
7.19.24.9 Lire la date et l'heure de la dernière modification d'une table de variables API
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Le format de l'horodatage est l'UTC.
Code du programme
Pour lire l'horodatage d'une table de variables API déterminée, modifiez le code de programme
suivant :
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code du programme
Pour supprimer une table des variables déterminée dans un groupe, modifiez le code de
programme suivant :
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code de programme : énumérer des variables API dans des tables de variables
Pour énumérer toutes les variables API contenues dans une table des variables, modifiez le
code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Le type PlcTagComposition représente un ensemble de variables API.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Le type PlcUserConstantComposition représente un ensemble de constantes utilisateur
API. Vous avez accès aux attributs suivants :
● Nom (accès en lecture seule)
● Nom du type de données
● Valeur
Le type PlcSystemConstantComposition représente un ensemble de constantes
système API. Vous avez accès aux attributs suivants :
● Nom (accès en lecture seule)
● Nom du type de données (accès en lecture seule)
● Valeur (accès en lecture seule)
Voir aussi
Créer les groupes personnalisés pour variables API (Page 590)
Supprimer les groupes personnalisés pour variables API (Page 591)
Supprimer la table des variables API dans un groupe (Page 595)
Accéder à des variables API (Page 596)
Démarrage de l'éditeur de variables API (Page 587)
Lire la date et l'heure de la dernière modification d'une table de variables API (Page 594)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
Les unités sont des composants importants de la programmation de l'API et se trouvent dans
le PlcSoftware.
Le unit provider est appelé via GetService depuis le PlcSoftware et la PlcUnitComposition peut
à son tour être appelée depuis ce dernier.
Lors de l'utilisation de TIA Portal Openness, les unités vous permettent d'exécuter les actions
suivantes :
● Créer des unités
● Supprimer des unités
● Renommer des unités
Si vous saisissez mal le nom, par exemple avec une espace au début ou avec un caractère non
valide, ou si le nom est trop long, un message d'erreur est émis. Une Recoverable Exception
est déclenchée avec le message de d'erreur suivant : "La valeur de l'attribut 'nom' contient un
caractère invalide à la position 0."
try
{
PlcUnit unit1 = unitComposition.Create("Unit1");
}
catch (EngineeringTargetInvocationException e)
{
Console.WriteLine(e.Message);
}
Si vous essayez de créer une unité avec un nom qui est déjà utilisé, un message d'erreur est
émis. Une Recoverable Exception est déclenchée avec le message de d'erreur suivant :
"L'unité avec le nom 'Unité1' existe déjà."
unitProvider.UnitGroup.Units.Find("Unit_2").Delete();
//Set Value
PlcUnit unit1 = unitComposition.Create("Unit1");
unit1.Name = "Unit1_new";
//Using SetAttributes():
PlcUnit unit1 = unitComposition.Create("Unit1");
var attrList = new List<KeyValuePair<string, object>>()
{
new KeyValuePair<string, object>("Name", "Unit1_new")
};
unit1.SetAttributes(attrList);
//Using SetAttribute()
PlcUnit unit2 = unitComposition.Create("Unit2");
IEngineeringObject unit = (IEngineeringObject)unit2;
unit.SetAttribute("Name", "Unit2_new");
Si vous saisissez mal le nom, par exemple avec une espace au début ou avec un caractère non
valide, un message d'erreur est émis. Une Recoverable Exception est déclenchée avec le
message de d'erreur suivant : "La valeur de l'attribut 'nom' contient un caractère invalide à la
position 0."
Si vous essayez de renommer une unité avec un nom qui est déjà utilisé, un message d'erreur
est émis. Une Recoverable Exception est déclenchée avec le message de d'erreur suivant : "La
propriété 'Nom' a une valeur non valide." 'Unité1'. Une unité logicielle avec le même nom existe
déjà."
Voir aussi
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
TIA Portal Openness vous permet d'accéder aux unités. Les unités sont des composants
importants de la programmation de l'API. Les unités sont prises en charge uniquement par
certains API. C'est pourquoi les unités ne sont pas structurées de manière statique dans le
modèle d'objet afin qu'elles ne puissent être trouvées directement dans le conteneur logiciel
API (PLC-Softwarecontainer).
L'accès aux unités est toutefois possible à l'aide du PlcUnitProvider . Le fournisseur est
disponible dans le logiciel API via GetService( ) , comme indiqué dans l'exemple de code de
programme suivant :
Le PlcUnitProvider permet l'accès via le UnitGroup navigator au PlcUnitSystemGroup qui
contient la PlcUnitComposition avec les possibilités spécifiques de la composition générale
(itération, recherche, création, importation etc. concernant les PlcUnits).
La représentation de l'unité (PlcUnit) contient les propriétés spécifiques propres de l'unité
comme attributs Openness.
Vous pouvez accéder aux attributs et méthodes suivants pour les propriétés d'unités
Openness :
Sous la PlcUnit, vous pouvez parcourir les objets suivants les uns après les autres :
● Commentaire : MultilingualText
● le BlockGroup (PlcBlockSystemGroup)
– unit.BlockGroup
● TagTableGroup (PlcTagTableSystemGroup)
– unit.TagTableGroup
● TypeGroup (PlcTypeSystemGroup)
– unit.TypeGroup
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
7.19.25.3 Accéder à des objets sur lesquels sont basés des unités logicielles
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
TIA Portal Openness vous permet d'accéder :
● de façon récurrente au groupe système "Blocs de programme", aux groupes et blocs qu'il
contient
● de façon récurrente au groupe système "Types de données API", aux groupes et types de
données qu'il contient
● de façon récurrente au groupe système "Variables API", aux groupes et tables des variables
qu'il contient
Pour accéder au groupe de blocs de programme sous l'unité API actuelle, modifiez le code de
programme suivant en appelant l'ensemble des groupes de blocs de programme et en réalisant
une itération dans les groupes contenus :
Code de programme : Accéder aux types de données API et aux groupes de types de données
Pour accéder aux types de données API sous l'unité API actuelle, modifiez le code de
programme suivant en appelant l'ensemble des types de données API et en réalisant une
itération dans les types de données contenus :
Pour accéder au groupe de types de données API sous l'unité API actuelle, modifiez le code
de programme suivant en appelant l'ensemble des types de données API et en réalisant une
itération dans les groupes contenus :
Code de programme : Accéder aux tables des variables API et aux groupes de tables des variables
Pour accéder aux tables des variables API sous l'unité API actuelle, modifiez le code de
programme suivant en appelant l'ensemble des tables des variables API et en réalisant une
itération dans les tables des variables contenues :
Pour accéder aux groupes de tables des variables API sous l'unité API actuelle, modifiez le
code de programme suivant en appelant l'ensemble des groupes de tables des variables API
et en réalisant une itération dans les groupes contenus :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
TIA Portal Openness vous permet d'accéder aux relations existantes d'une unité et de lire les
propriétés de celles-ci.
Les attributs suivants sont pris en charge par la relation d'unité dans Openness :
Modifiez le code de programme suivant pour appeler les relations par l'indexeur :
Modifiez le code de programme suivant pour appeler les relations par itération :
PlcSoftware plcTarget = GetControllerTargetByPLCName(Session.OpnsProject.Devices,PLCName);
PlcUnitProvider provider = plcTarget.GetService<PlcUnitProvider>();
//assuming existing units
m_PlcUnit = provider.UnitGroup.Units[0];
PlcUnitRelationComposition unitRelations = m_PlcUnit.Relations;
foreach (PlcUnitRelation relation in unitRelations)
{
// using ‘relation’
}
Modifiez le code de programme suivant pour appeler le type de relation d'une unité via l'attribut
RelationType :
PlcSoftware plcTarget =
GetControllerTargetByPLCName(Session.OpnsProject.Devices,PLCName);
PlcUnitProvider provider = plcTarget.GetService<PlcUnitProvider>();
//assuming existing units
m_PlcUnit = provider.UnitGroup.Units[0];
UnitRelationType unitRelationType = m_PlcUnit.Relations[2].RelationType;
Modifiez le code de programme suivant pour appeler le nom de l'objet associé à une unité via
l'attribut RelatedObject :
Modifiez le code de programme suivant pour rechercher une relation à l'aide de "Rechercher"
avec le nom de l'élément accessible (RelatedObject) :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
TIA Portal Openness vous permet d'actualiser les propriétés d'unités telles que auteur et
commentaire.
//Set value
string newAuthor = "Z012345";
unit1.Author = newAuthor;
//Using SetAttributes()
string newAuthor = "Z012345";
var attrList = new List<KeyValuePair<string, object>>()
{
new KeyValuePair<string, object>("Author", newAuthor)
};
unit1.SetAttributes(attrList));
//Using SetAttribute()
string newAuthor = "Z012345";
IEngineeringObject unit = (IEngineeringObject)unit2;
unit.SetAttribute("Author", newAuthor);
Message d'erreur
Si vous saisissez mal une valeur, par exemple avec une espace au début ou avec un caractère
non valide, un message d'erreur est émis. Une Recoverable Exception est déclenchée avec le
message de d'erreur suivant : "La valeur de l'attribut 'Author' contient un caractère invalide à la
position 0."
Message d'erreur
Si vous essayez d'utiliser SetAttribute, SetAttributes, GetAttribute, GetAttributes. , une
EngineeringNotSupportedException est émise avec le message d'erreur suivant : "Le
commentaire n'est pas pris en charge par le type 'Siemens.Engineering.SW.Units.PlcUnit'."
try
{
((IEngineeringObject)unit1).SetAttribute("Comment", "new comments");
}
catch (EngineeringNotSupportedException e)
{
Console.WriteLine(e.Message);
}
Si vous essayez de créer une relation à une culture inexistante, un message d'erreur est émis.
Une EngineeringTargetInvocationException est déclenchée avec le message de d'erreur
suivant : "L'argument 'index' (3) se trouve en dehors de la plage de valeurs admissibles."
try
{
unit1.Comment.Items[3].Text = "new Comment";
}
catch (EngineeringTargetInvocationException e)
{
Console.WriteLine(e.Message)
}
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
Avec TIA Portal Openness, vous pouvez appeler ou paramétrer l'attribut "Access" d'objets sur
lesquels sont basées des unités, afin de pouvoir influencer leur accessibilité entre des unités.
Les objets suivants sont pris en charge dans les unités Openness :
● Blocs de programme et blocs de données – sauf les OB
● Types API
La valeur possible suivante de l'attribut Access est représentée comme énumération
UnitAccessType:
● Publié
● Non publié
Remarque
L'attribut "Access" est disponible uniquement dans des objets sous une unité. S'il n'est donc
pas appelé ou paramétré avec les objets correspondant à PlcUnit, une
EnginneringNotSupportedException est déclenchée. En cas de valeur incorrecte (par ex. des
valeurs d'énumération non valides), une EngineeringTargetInvocationException est
déclenchée.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
Avec TIA Portal Openness, vous pouvez ajouter une source externe sous une unité logicielle.
Vous pouvez ajouter des fichiers source comme .SCL, .DB, .UDT sous des unités.
Avec l'API Openness, vous pouvez exécuter les tâches suivantes sous des unités logicielles
avec ExternalSourceGroup :
● Ajouter ExternalSourceGroup sous des unités
● Générer des blocs/types de données utilisateur sous des unités logicielles depuis une
source externe
● Exporter la source depuis des blocs/types de données utilisateur sous des unités
unitExternalSource.GenerateBlocksFromSource();
Modifiez le code de programme suivant pour générer des blocs/types de données utilisateur
avec un recueil de blocs appelés depuis une source externe sous une unité logicielle :
// For blocks
PlcBlock unitPlcBlock = newUnit.BlockGroup.Blocks.Find(generatedBlockName);
// Generate source from blocks with dependencies
newUnit.ExternalSourceGroup.GenerateSource(new[] { unitPlcBlock }, new
FileInfo(outputFileGeneratedPath), GenerateOptions.WithDependencies);
// Generate source from blocks without dependencies
newUnit.ExternalSourceGroup.GenerateSource(new[] { unitPlcBlock }, new
FileInfo(outputFileGeneratedPath), GenerateOptions.None);
Modifiez le code de programme suivant pour générer une source à partir de types de données
utilisateur sous une unité logicielle :
// For UDTs
PlcType unitPlcUdt = newUnit.TypeGroup.Types.Find(generatedUdtName);
//Generate source from UDTs with dependencies
newUnit.ExternalSourceGroup.GenerateSource(new[] { unitPlcUdt }, new
FileInfo(outputFileGeneratedPath), GenerateOptions.WithDependencies);
//Generate source from UDTs without dependencies
newUnit.ExternalSourceGroup.GenerateSource(new[] { unitPlcUdt }, new
FileInfo(outputFileGeneratedPath), GenerateOptions.None);
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Une unité est créée.
Voir Utilisation d'unités logicielles (Page 600)
Application
Avec TIA Portal Openness, vous pouvez copier des unités sous forme de copie maître dans la
bibliothèque du projet ou dans la bibliothèque globale.
Lors de l'utilisation de TIA Portal Openness, les unités comme copie maître vous permettent
d'exécuter les actions suivantes :
● Générer une unité comme copie maître dans la bibliothèque du projet à partir d'unités
logicielles
● Générer une unité comme copie maître dans la bibliothèque globale à partir d'unités
logicielles
● Créer une nouvelle unité à partir d'une copie maître dans la bibliothèque du projet contenue
dans les unités logicielles dans la NP
● Créer une nouvelle unité à partir d'une copie maître dans la bibliothèque globale contenue
dans les unités logicielles dans la NP
Code du programme
Modifiez le code de programme suivant pour générer une nouvelle unité comme copie maître
dans la bibliothèque du projet à partir d'unités logicielles à l'aide de MasterCopyComposition.
Modifiez le code de programme suivant pour générer une unité comme copie maître dans la
bibliothèque globale à partir d'unités logicielles.
...
IMasterCopySource m_UnitAsMasterCopy = (IMasterCopySource)m_SoftwareUnit1;//Assuming that
m_SoftwareUnit1 is present in the PLC
m_TiaPortal.GlobalLibraries.Open(libfile, OpenMode.ReadWrite);
GlobalLibrary m_GlobalLibrary = m_TiaPortal.GlobalLibraries[0];
m_GlobalLibrary.MasterCopyFolder.MasterCopies.Create(m_UnitAsMasterCopy)
...
Si vous essayez de créer une nouvelle unité dans une bibliothèque globale protégée en
écriture, un message d'erreur apparaît. Une Recoverable Exception avec le message
"Impossible d'écrire dans une bibliothèque protégée en écriture" est déclenchée.
m_TiaPortal.GlobalLibraries.Open(libfile, OpenMode.ReadOnly);
GlobalLibrary m_GlobalLibrary = m_TiaPortal.GlobalLibraries[0];
try
{
m_GlobalLibrary.MasterCopyFolder.MasterCopies.Create(m_UnitAsMasterCopy);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
Modifiez le code de programme suivant pour créer une nouvelle unité à partir d'une copie
maître dans la bibliothèque du projet contenue dans les unités logicielles dans la NP.
...
ProjectLibrary m_ProjectLibrary = project.ProjectLibrary;
PlcUnitProvider m_UnitProvider = plc.GetService<PlcUnitProvider>();
PlcUnitComposition m_UnitComposition = m_UnitProvider.UnitGroup.Units;
...
MasterCopy mc_Unit_2 = m_ProjectLibrary.MasterCopyFolder.MasterCopies.Find("Unit_2");
m_UnitComposition.CreateFrom(mc_Unit_2);//Recreate a Unit from Project Library to
SoftwareUnits folder
Modifiez le code de programme suivant pour créer une nouvelle unité à partir d'une copie
maître dans la bibliothèque globale contenue dans les unités logicielles dans la NP.
...
GlobalLibrary m_GlobalLibrary = m_TiaPortal.GlobalLibraries[0];
...
mc_Unit_2 = m_GlobalLibrary.MasterCopyFolder.MasterCopies.Find("Unit_2");
m_UnitComposition.CreateFrom(mc_Unit_2);//Recreate a unit from Global Library to
SoftwareUnits folder
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Utilisation d'unités logicielles (Page 600)
Conditions
● L'application TIA Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
À l'aide de TIA Portal Openness vous pouvez modifier les relations des unités API et ainsi
piloter l'accessibilité des objets dans d'autres unités API ou hors des Unités API.
TIA Portal Openness vous permet d'effectuer les types de modifications suivants :
● Créer de nouvelles relations
● Supprimer les relations présentes
● Modifier les relations présentes
Modifiez le code de programme suivant pour créer une nouvelle relation avec laquelle vous
accédez à un objet dans une autre unité API :
...
//assuming Plc unit "Unit_2" is already existing in the Plc
m_SoftwareUnitRelation = m_PlcUnit.Relations.Create("Unit_2",
UnitRelationType.SoftwareUnit);
...
Modifiez le code de programme suivant pour créer une nouvelle relation avec laquelle vous
accédez à un bloc de données API hors des unités API :
...
//assuming Plc data block "Data_block_1" is already existing in the Plc
m_NonUnitDBRelation = m_PlcUnit.Relations.Create("Data_block_1",
UnitRelationType.NonUnitDB);
...
Modifiez le code de programme suivant pour créer une nouvelle relation avec laquelle vous
accédez à un objet technologique hors des unités API :
...
//assuming Technological object "SpeedAxis_1" is already existing in the Plc
m_TODBRelation = m_PlcUnit.Relations.Create("SpeedAxis_1", UnitRelationType.TODB);
...
...
//assuming Plc unit "NonExistingUnit" is not existing in the Plc yet
m_SoftwareUnitRelation = m_PlcUnit.Relations.Create("NonExistingUnit", UnitRelationType.
SoftwareUnit);
...
Remarque
Dans le code de programme ci-dessus, la relation est créée et aucune exception n'est
déclenchée.
Modifiez le code de programme suivant pour créer une nouvelle relation, en indiquant un nom
de l'objet associé qui ne correspond pas aux règles de dénomination TIA :
...
m_SoftwareUnitRelation = m_PlcUnit.Relations.Create(" Unit_2",
UnitRelationType.SoftwareUnit);
...
Remarque
Dans le code de programme ci-dessus, la relation n'est pas créée et une exception récupérable
est déclenchée en raison d'espaces vides en tête.
Modifiez le code de programme suivant pour créer une nouvelle relation de l'unité avec elle-
même :
...
//assuming m_PlcUnit is assigned to Plc unit "Unit_1"
m_SoftwareUnitRelation = m_PlcUnit.Relations.Create("Unit_1",
UnitRelationType.SoftwareUnit);
...
Modifiez le code de programme suivant pour créer une nouvelle relation qui est une copie d'une
relation existante avec le même type de relation et le même objet associé :
...
//assuming a relation with the same relation type and related object is already existing
m_SoftwareUnitRelation = m_PlcUnit.Relations.Create("Unit_2",
UnitRelationType.SoftwareUnit);
...
Modifiez le code de programme suivant pour créer une nouvelle relation, en indiquant une
chaîne vide pour le nom de l'objet associé :
...
m_SoftwareUnitRelation = m_PlcUnit.Relations.Create(string.Empty,
UnitRelationType.SoftwareUnit);
...
Remarque
Dans toutes les sections de code de programme ci-dessus avec des scénarios d'erreur, la
relation n'est pas créée et une exception récupérable est déclenchée.
...
m_PlcUnit.Relations[0].Delete();
...
...
m_SoftwareUnitRelation.Delete();
...
private PlcUnitRelation m_Relation;
PlcSoftware plcTarget = GetControllerTargetByPLCName(Session.OpnsProject.Devices, PLCName);
PlcUnitProvider plcUnitProvider = plcTarget.GetService<PlcUnitProvider>();
m_PlcUnit = plcUnitProvider.UnitGroup.Units[0];
//assuming existing units
m_PlcUnit2 = plcUnitProvider.UnitGroup.Units[1];
//assuming existing units
m_Relation = m_PlcUnit.Relations.Create("Unit_2", UnitRelationType.SoftwareUnit);
...
Modifiez le code de programme suivant pour actualiser le nom de l'objet associé, en indiquant
directement une nouvelle valeur pour l'attribut RelatedObject :
...
m_Relation.RelatedObject = "Unit_3";
...
Modifiez le code de programme suivant pour actualiser le nom de l'objet associé, en affectant
une nouvelle valeur pour l'attribut RelatedObject via SetAttributes :
...
m_Relation.SetAttribute("RelatedObject", "Unit_4");
...
Modifiez le code de programme suivant pour actualiser le nom de l'objet associé, en affectant
une nouvelle valeur pour l'attribut RelatedObject via SetAttributes :
...
IList attrList = new List<KeyValuePair<string, object>>();
{
new KeyValuePair<string, object("RelatedObject", "Unit_4")
};
m_Relation.SetAttributes(attrList);
...
...
//assuming Plc unit "NonExistingUnit" is not existing in the Plc yet
m_Relation.RelatedObject = "NonExistingUnit";
...
Remarque
Avec le code de programme ci-dessus, la relation est modifiée et aucune exception n'est
déclenchée.
Modifiez le code de programme suivant pour actualiser une relation, en indiquant un nom de
l'objet associé qui ne correspond pas aux règles de dénomination TIA :
...
m_Relation.RelatedObject = " Unit_2";
...
Modifiez le code de programme suivant pour actualiser une relation de telle sorte qu'elle
accède à elle-même :
...
//assuming m_Relation is defined under Plc unit "Unit_1"
m_Relation.RelatedObject = "Unit_1";
...
Remarque
Avec le code de programme ci-dessus, la relation n'est pas modifiée et une exception
récupérable est déclenchée en raison d'espaces vides en tête.
Modifiez le code de programme suivant pour actualiser une relation de telle sorte qu'une copie
d'une relation existante avec le même type de relation et le même objet associé est générée :
...
//assuming a relation with the same relation type and related object is already existing
m_Relation.RelatedObject = "Unit_2";
...
Modifiez le code de programme suivant pour actualiser une relation, en indiquant une chaîne
vide pour le nom de l'objet associé :
...
m_Relation.RelatedObject = string.Empty;
...
Remarque
Dans toutes les sections de code de programme ci-dessus, la relation n'est pas modifiée et une
exception récupérable est déclenchée.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
TIA Portal Openness vous permet depuis le projet d'accéder au groupe système VCI en
appelant une VersionControlInterface comme service depuis le projet. VersionControlInterface
même est toujours un service et renvoie un objet non nul.
Code de programme
Modifiez le code de programme suivant pour appeler le groupe système dans l'espace de
travail depuis VersionControlInterface :
Voir aussi
Ouvrir un projet (Page 109)
Etablissement d'une connexion au portail TIA (Page 79)
Conditions
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code de programme
Modifiez le code de programme suivant pour énumérer tous les groupes d'utilisateurs dans un
espace de travail VCI dans d'autres groupes de l'espace de travail VCI :
Modifiez le code de programme suivant pour accéder à un groupe d'utilisateurs particulier dans
d'autres groupes de l'espace de travail VCI :
Siemens.Engineering.VersionControl.WorkspaceUserGroup workspaceUserGroup =
workspaceGroup.Groups.Find("Some Group Name");
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
TIA Portal Openness vous permet de créer un groupe d'utilisateurs correspondant à l'espace
de travail dans un groupe de l'espace de travail.
Code de programme
Modifiez le code de programme suivant pour créer un groupe d'utilisateurs Workspace :
VersionControlInterface versionControlInterface =
project.GetService<VersionControlInterface>();
WorkspaceSystemGroup workspaceGroupComposition =
versionControlInterface.WorkspaceGroup.Groups;
WorkspaceUserGroup result = workspaceGroupComposition.Create("NewWorkspaceUserGroup");
Remarque
Pour pouvoir créer un nouveau groupe d'utilisateurs correspondant à un espace de travail à
l'aide du nom, le nom indiqué doit être valide et il ne doit pas être déjà utilisé dans un autre
groupe d'utilisateurs d'espace de travail.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
TIA Portal Openness vous permet d'actualiser les propriétés des groupes d'utilisateurs
Workspace.
La propriété suivante est disponible pour actualisation dans un groupe d'utilisateurs
Workspace :
Code de programme
Modifiez le code de programme suivant pour actualiser le nom du groupe d'utilisateurs dans
l'espace de travail :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
Avec TIA Portal Openness vous pouvez supprimer des groupes d'utilisateurs Workspace. Lors
de la suppression d'un groupe d'utilisateurs Workspace, tous les autres objets qui y sont
contenus sont également supprimés. En font partie également les autres groupes d'utilisateurs
d'espace de travail et les espaces de travail VCI.
Code de programme
Modifiez le code de programme suivant pour supprimer un groupe d'utilisateurs Workspace :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code de programme
Modifiez le code de programme suivant pour énumérer tous les Workspaces VCI dans un
groupe VCI :
Modifiez le code de programme suivant pour trouver un espace de travail précis à l'aide du
nom :
Siemens.Engineering.VersionControl.Workspace workspace =
workspaceUserGroup.Workspaces.Find("SomeWorkspaceName");
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Conditions
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
TIA Portal Openness vous permet de créer un espace de travail dans un groupe d'utilisateurs
de l'espace de travail.
Vous pouvez créer un Siemens.Engineering.VersionControl.Workspace avec l'action de
création suivante :
Siemens.Engineering.VersionControl.WorkspaceComposition.Create(strin
g name)
Code de programme
Modifiez le code de programme suivant pour créer un espace de travail :
VersionControlInterface versionControlInterface =
project.GetService<VersionControlInterface>();
WorkspaceComposition workspaceComposition =
versionControlInterface.WorkspaceGroup.Workspaces;
Workspace result = workspaceComposition.Create("NewWorkspace");
Remarque
Pour pouvoir créer un nouvel espace de travail à l'aide du nom, le nom indiqué doit être valide
et il ne doit pas être déjà utilisé dans un autre groupe d'utilisateurs dans l'espace de travail.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
TIA Portal Openness vous permet d'actualiser les propriétés d'un espace de travail VCI.
Les propriétés suivantes sont disponibles pour actualisation dans un espace de travail :
Modifiez le code de programme suivant pour annuler la configuration d'un espace de travail :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
TIA Portal Openness vous permet de supprimer un espace de travail. Lors de la suppression
d'un espace de travail, toutes les affectations correspondantes sont également supprimées.
Code de programme
Modifiez le code de programme suivant pour supprimer un espace de travail :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
7.20.10 Énumérer les mappages d'un espace de travail VCI dans un VCI
Conditions
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Code de programme
Modifiez le code de programme suivant pour énumérer tous les mappages entre l'espace de
travail VCI et un espace de travail :
Modifiez le code de programme suivant pour accéder à un mappage déterminé entre l'espace
de travail et l'objet d'ingénierie spécifique :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
TIA Portal Openness vous permet de créer un mappage entre un espace de travail et l'espace
de travail VCI.
Vous pouvez créer un Siemens.Engineering.VersionControl.WorkspaceMapping avec la
signature suivante d'une action de création :
Siemens.Engineering.VersionControl.WorkspaceMappingComposition.Creat
e(string relativeWorkspacePath, IEngineeringObject
linkedProjectObject)
Code de programme
Modifiez le code de programme suivant pour créer un mappage d'espace de travail :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
TIA Openness Portal vous permet d'actualiser les propriétés d'un mappage dans l'espace de
travail VCI.
Les propriétés du mappage de l'espace de travail suivantes sont disponibles :
Code de programme
Modifiez le code de programme suivant pour actualiser le chemin relatif du mappage de
l'espace de travail :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Principe
TIA Portal Openness vous permet de supprimer un mappage entre espace de travail et VCI.
Code de programme
Modifiez le code de programme suivant pour supprimer un mappage entre espace de travail et
VCI :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Principe
● L'application Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
TIA Portal Openness vous permet d'afficher l'état d'une affectation de Workspace.
var individualObjectSynchronizationStatus =
workpaceMapping.GetService<IndividualObjectSynchronizationStatus>();
if(individualObjectSynchronizationStatus != null);
{
//GetStatus()...
//UpdateStatus()..
//Synchronize()..
}
CompareState est Equal. Lorsque la valeur pour CompareState est "différent", cette
énumération peut avoir la valeur ProjectObjectChanged ou WorkspaceFileChanged ou
ProjectObjectChanged ou bien
WorkspaceFileChanged.
Modifiez le code de programme suivant pour appeler l'état d'une affectation du Workspace :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Introduction
Avec l'application TIA Portal Openness, vous pouvez configurer le serveur OPC-UA avec la
stratégie de sécurité Basic256Sha256. La stratégie de sécurité Basic256Sha256 doit être
ajoutée dans les paramètres Runtime. RDP doit compiler les propriétés dans le fichier de
configuration xml.
Les valeurs par défaut sont Enabled, Sign, ainsi que Sign and Encrypt.
Dans le fichier XML <Projet>\OPC\uaserver\OPCUaServerWinCCPro.xml. vous devez définir
la stratégie de sécurité, ainsi que les stratégies de sécurité selon la configuration d'appareil du
système d'ingénierie.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Ouverture d'un projet (Page 109)
● Le serveur OPC UA est activé
Application
Avec l'application TIA Portal Openness, vous pouvez définir la stratégie de sécurité dans OPC
UA. Vous pouvez implémenter la stratégie de sécurité sous la forme d'un attribut dynamique de
type énumération : OpcUaSecurityPolicies. La directive de sécurité n'est disponible dans TIA
Portal Openness que si le serveur OPC UA est activé. Si le serveur OPC-UA est désactivé, une
EngineeringNotSupportedException est déclenchée en cas de tentative d'accès à la stratégie
de sécurité en raison d'un autre attribut non disponible.
Le tableau suivant montre les valeurs possibles pour des stratégies de sécurité :
Code de programme
Modifiez le code de programme suivant pour définir la directive de sécurité dans OPC UA avec
TIA Portal Openness :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
7.22.1 Introduction
Introduction
Avec l'application TIA Portal Openness, vous pouvez instancier SiVArc. Il vous faut une
application Client pour accéder à TIA Portal et lancer les services SiVArc via la fonction
Openness. Pour plus d'informations sur la configuration et l'accès à Openness, référez-vous
au manuel de l'utilisateur de TIA Portal.
Configuration de l'application
Pour configurer une application Client, procédez comme suit :
1. Créez une application console. Ajoutez une référence à l'API publique
(Siemens.Engineering.dll), disponible sous _deployed\TIAPV15SP1_11010001\PublicAPI
\V15.1\ 936 Siemens.Engineerin.dll ou via les fichiers binaires installés sous PublicAPI
\V15.1\ 937 Siemens.Engineerin.dll.
2. Ajoutez des détails de configuration au fichier de configuration. Pour plus d'informations sur
les détails de configuration et l'accès à l'API publique, référez-vous au wiki TIA Openness.
3. Pour accéder au service SiVArc, utilisez l'API suivante :
using (TiaPortal tia = new
TiaPortal(TiaPortaMode.WithUserInterface))
{
Project myProject = tia.Projects.Open(new FileInfo(@"C:\Users
\z003exve\Documents\Automation\Project_Demo\Project_Demo.ap15));
//Si SiVArc n'est pas installé, l'utilisateur ne peut pas accéder
au service SiVArc (erreur de compilation)
Sivarc sivarc =myproject?.GetService<Sivarc>():
if (sivarc !=null)
{
}
}
Conditions
● Démarrez l'application Openness TIA Portal. Pour plus d'informations sur les liaisons,
référez-vous au manuel de l'utilisateur de TIA Portal.
● Il existe un projet TIA Portal avec éditeur de règles de vue, des groupes de règles de vue
et une copie maitre.
Cas 1 : copie de règles/groupes de règles de la copie maitre dans l'éditeur de règles de vue
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal. Pour plus d'informations sur
les liaisons, référez-vous au manuel de l'utilisateur de TIA Portal.
● Il existe un projet TIA Portal avec des règles de vue et des groupes de règles de vue.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal. Pour plus d'informations sur
les liaisons, référez-vous au manuel de l'utilisateur de TIA Portal.
● Il existe un projet TIA Portal avec des règles de vue et des groupes de règles de vue.
Conditions
● Démarrez l'application Openness TIA Portal. Pour plus d'informations sur les liaisons,
référez-vous au manuel de l'utilisateur de TIA Portal.
● Il existe un projet TIA Portal relié à un appareil IHM et l'API est configuré.
Remarques importantes
● Assurez-vous que la licence SiVArc est installée sur votre PC, sinon une exception sera
signalée pendant la génération - "Licence SiVArc manquante ; une licence SiVArc est
obligatoire pour la modification des données".
● Assurez-vous d'utiliser un nom d'appareil valide, sinon une exception sera signalée
- "Appareil IHM 'nom de l'appareil' introuvable".
● Assurez-vous d'utiliser un nom d'API valide, sinon une exception sera signalée - "Appareil
API 'nom de l'API' introuvable".
● Assurez-vous d'utiliser le nom d'un appareil pris en charge, sinon une exception sera
signalée - "Appareil IHM 'nom de l'appareil' non pris en charge".
● Assurez-vous d'utiliser le nom d'un API pris en charge, sinon une exception sera signalée
- "Appareil API 'nom de l'API' non pris en charge".
● Assurez-vous que vous transmettez un paramètre GenerationOption valide. À défaut de
transmission d'un paramètre, la génération SiVArc s'exécute et utilise par défaut les
réglages du projet TIA Portal.
● Assurez-vous d'utiliser un nom d'API valide qui n'a pas déjà été utilisé pour une génération
précédente, sinon le système se fige.
SN Valeurs Description
SiVArcGenerationResult et SivarcFeedbackMessage
Si la génération SiVArc s'est effectuée avec succès, un accès aux propriétés suivantes est
effectué :
● IsGenerationSuccessful - Informe de la réussite de la génération SiVArc.
● WarningCount - Nombre total d'avertissements après la génération SiVArc
● ErrorCount - Nombre total d'erreurs après la génération SiVArc
● Messages - Composition de la réponse
Si la génération SiVArc s'est effectuée avec succès, un accès aux réponses suivantes est
effectué :
● Path : texte d'en-tête de la réponse (les messages d'en-tête ont toujours une zone de
description non renseignée)
● DateTime : date et heure de la réponse
● MessageType : type de réponse
● Description : description/contenu de la réponse (uniquement si le chemin d'accès est vide,
pour s'assurer qu'il ne s'agit pas d'un message d'en-tête)
● WarningCount : nombre d'avertissements pour un message d'en-tête
● ErrorCount : nombre d'erreurs pour un message d'en-tête
● Messages: composition de la réponse (SivarcFeedbackMessage)
Généralités
Avec l'application TIA Portal Openness, vous pouvez configurer les zones de transfert et les
règles d'affectation des zones de transfert. Ceci est valable pour les processeurs de
communication CP 1604/CP 1616 à partir de V2.8 (et, selon le numéro de référence,
également à partir de V2.7) ainsi que CP 1626 à partir de V1.1.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir "Établissement d'une connexion à TIA Portal".
● Un projet est ouvert.
Voir "Ouvrir un projet".
● Tous les appareils doivent être mis "hors ligne" avant la compilation.
Attribut Description
name Indique le nom de la zone de transfert à créer.
type Indique le type de la zone de transfert à créer. Les types suivants sont possibles :
TransferAreaType.CD Appareil de commande pour échange de données
TransferAreaType.F_PS Echange de données PROFIsafe
TransferAreaType.TM Affectation du module de transfert
Remarque : Il n'est pas possible de modifier le type ultérieurement.
Certains attributs doivent être définis ou interrogés, mais tous les attributs peuvent être définis
ou interrogés avec les appels généraux "GetAttribute()" ou "SetAttribute()". Utilisez p. ex. le
code de programme suivant :
const string myIndividualComment = "MyIndividualComment";
transferAreaTm.SetAttribute("Comment", myIndividualComment);
Int32 updateTime = transferAreaTm.GetAttribute("TransferUpdateTime")
Attribut Description
Name (chaîne de caractères) Indique le nom de la zone de transfert.
Sens Indique le sens dans lequel les données de la zone de transfert sont transmises. Les sens
suivants sont possibles :
TransferAreaDirection.LocalTo‐ Les données de la zone de transfert sont transmises
Partner du périphérique IO à l'automate de niveau supérieur.
TransferAreaDirection.partnerTo‐ Les données de la zone de transfert sont transmises
Local de l'automate de niveau supérieur au périphérique IO.
TransferAreaDirection.bidirectional Les données de la zone de transfert peuvent être
transmises entre l'automate de niveau supérieur et le
périphérique IO dans les deux sens.
L'attribut "LocalToPartnerLength" permet d'indiquer la
longueur des données de la zone de transfert transmi‐
ses du périphérique IO à l'automate de niveau supéri‐
eur. L'attribut "PartnerToLocalLength" permet de défi‐
nir le volume de données pouvant être transmises de
l'automate de niveau supérieur au périphérique IO.
Comment (chaîne de caractè‐ Champ de texte pour un commentaire sur la zone de transfert.
res)
LocalToPartnerLength Indique la longueur des données de la zone de transfert transmises du périphérique IO à
l'automate de niveau supérieur.
PartnerToLocalLength Indique la longueur des données de la zone de transfert transmises de l'automate de niveau
supérieur au périphérique IO.
LocalAdresses Indique les adresses d'entrée et de sortie de la zone de transfert dans l'appareil local.
PartnerAdresses Indique les adresses d'entrée et de sortie de la zone de transfert dans l'automate de niveau
supérieur.
TransferUpdateTime(Int32) Indique la période d'actualisation de la zone de transfert. Défini ou interrogé uniquement
pour une zone de transfert du type "TransferAreaType.TM".
PositionNumber Indique le nombre de sous-modules virtuels de cette zone de transfert.
Type Indique le type de la zone de transfert, avec protection en écriture.
TransferAreaMappingRules Indique le tableau de routage de la zone de routage, avec protection en écriture.
transferArea.Delete();
}
Attribut Description
Décalage Décalage indiqué en bits dans la zone de routage auquel les données doivent être affectées. La longueur
du décalage selon la définition par les attributs "Begin" et "End".
Cible Indique le module ou le sous-module du périphérique IO contenant les données à affecter à la configuration
du périphérique IO, c'est-à-dire une zone de transfert de type "TM".
IoType L'attribut "IoType" ne peut être modifié que dans une zone de transfert de type "Input". En outre, un module
mixte pour cette zone de transfert doit être configuré comme "Cible". Vous pouvez tout d'abord spécifier si
les données des entrées (IoType.Input) doivent être lues ou si les données des sorties (IoType.Output)
doivent être lues/relues.
Begin Indique le début des données à lire avec l'attribut "Target".
End Indique la fin des données à lire avec l'attribut "Target".
route.Delete();
}
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal
● Un projet est ouvert.
Voir Ouvrir un projet
● Tous les appareils doivent être mis "hors ligne" avant la compilation.
Introduction
L'application TIA Portal Openness vous permet d'ajouter des modules/sous-modules et de
supprimer ou parcourir des zones de transfert pour coupleur PN/PN.
Remarque
Il est impossible de créer un sous-module sans numéro de position.
Attribut Description
Type Indique le type de la zone de transfert à créer. Les types suivants sont possibles :
TransferAreaType.None Valeur par défaut
TransferAreaType.IN Entrée de la zone de transfert
TransferAreaType.OUT Sortie de la zone de transfert
TransferAreaType.MSI Entrée commune de la zone de transfert
(MSI)
TransferAreaType.MSO Sortie commune de la zone de transfert
(MSO)
TransferAreaType.MSO_LOCAL Sortie locale commune de la zone de
transfert (MSO_LOCAL)
TransferAreaType.RE‐ Zone de transfert pour Record Data
CORD_WRITE_STO Write, jusqu'à huit enregistrements sont
mis en mémoire tampon
TransferAreaType.RE‐ La zone de transfert pour Record Data
CORD_WRITE_PUB Write écrase l'enregistrement précédent
TransferAreaType.RE‐ La zone de transfert pour Record Data
CORD_READ_STO Write lit l'enregistrement le plus ancien
dans le tampon
TransferAreaType.RE‐ La zone de transfert pour Record Data
CORD_READ_PUB Write lit le dernier enregistrement écrit
TransferAreaType.MSI_MSO Entrée commune de la zone de transfert
(MSI)/Sortie commune de la zone de
transfert (MSO)
TransferAreaType.IN_OUT Entrée de la zone de transfert/sortie de
la zone de transfert
TransferAreaType.LOCAL_RE‐ Zone de transfert pour le couplage local
CORD_STO d'enregistrements, jusqu'à huit enregis‐
trements sont mis en mémoire tampon
TransferAreaType.LOCAL_RE‐ Zone de transfert pour le couplage local
CORD_PUB d'enregistrements, l'enregistrement pré‐
cédent est écrasé
TransferAreaType.SUB_MSI Copier la zone de transfert pour l'entrée
commune (MSI)
TransferAreaType.SUB_MSO Copier la zone de transfert pour la sortie
commune (MSO)
TransferAreaType.SUB_LOCAL_RE‐ Zone de transfert pour Record Data
CORD_STO_READ Read pour la lecture de l'enregistrement
le plus ancien dans le tampon
TransferAreaType.SUB_LOCAL_RE‐ Zone de transfert pour Record Data
CORD_PUB_READ Read pour la lecture du dernier enregis‐
trement écrit
TransferAreaType.PROFISA‐ Zone de transfert avec entrée de 12 oc‐
FE_IN12_OUT6 tets et sortie de 6 octets
TransferAreaType.PROFISA‐ Zone de transfert avec entrée de 6 oc‐
FE_IN6_OUT12 tets et sortie de 12 octets
Certains attributs doivent être définis ou interrogés, mais tous les attributs peuvent être définis
ou interrogés avec les appels généraux "TransferArea.GetAttribute()" ou "SetAttribute()".
Utilisez par ex. le code de programme suivant :
Attribut Description
Name (string) Indique le nom de la zone de transfert.
Direction Indique le sens dans lequel les données de la zone de transfert sont transmises. Les sens
suivants sont possibles :
TransferAreaDirection.Lo‐ Les données de la zone de transfert sont transmises du périphé‐
calTo‐ Partner rique IO à l'automate de niveau supérieur.
TransferAreaDirection.part‐ Les données de la zone de transfert sont transmises de l'auto‐
nerTo‐ Local mate de niveau supérieur au périphérique IO.
TransferAreaDirection.bidi‐ Les données de la zone de transfert peuvent être transmises
rectional entre l'automate de niveau supérieur et le périphérique IO dans
les deux sens. L'attribut "LocalToPartnerLength" permet d'indi‐
quer la longueur des données de la zone de transfert transmises
du périphérique IO à l'automate de niveau supérieur. L'attribut
"PartnerToLocal‐ Length" permet de définir le volume de don‐
nées pouvant être transmises de l'automate de niveau supérieur
au périphérique IO.
Comment (string) Champ de texte pour un commentaire sur la zone de transfert
LocalToPartnerLength Indique la longueur des données d'entrée de la zone de transfert
PartnerToLocalLength Indique la longueur des données de sortie de la zone de transfert.
PositionNumber Indique le numéro d'emplacement de la zone de transfert.
ExtendedPositionNumber Indique le numéro de sous-emplacement de la zone de transfert
Type Indique le type de la zone de transfert
SharedDeviceAccessConfi‐ Commande l'accès à l'API
gured
UpdateAlarm Indique l'alarme de mise à jour de la zone de transfert.
RecordIndex Définit le numéro d'enregistrement que vous utilisez pour l'écriture de l'enregistrement
Remarque
Le numéro de position étendu n'est requis que pour les zones de transfert avec plusieurs sous-
modules comme MSI.
Pour appeler la première zone de transfert avec ce numéro de position, utilisez le code de
programme suivant :
Remarque
Si l'un de ces attributs n'est pas disponible, une exception est déclenchée.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une connexion à TIA Portal
● Un projet est ouvert.
Voir Ouvrir un projet
Introduction
TIA Portal Openness vous permet d'ajouter et de supprimer des modules/sous-modules
virtuels pour ET 200 SP PN HF.
Les propriétés suivantes sont prises en charge avec les modules virtuels :
Les propriétés suivantes sont prises en charge avec les sous-modules virtuels :
VIM1.SetAttribute("AddSubModules", (Int64)1);
VIM2.SetAttribute("AddSubModules", (Int64)2);
Remarque
Pour ajouter un sous-module, vous devez mettre la propriété de module "AddSubModules" sur
le nombre de sous-modules ajoutés. Si vous essayez d'ajouter plus de sous-modules que le
nombre autorisé, une exception est déclenchée.
SubModule3.Delete();
Remarque
Vous ne pouvez pas supprimer les deux premiers sous-modules.
7.26.1 Introduction
TIA Portal-Openness permet d'automatiser l'ingénierie de vos programmes que vous piloterez
via TIA Portal.
Vous trouverez dans cette aide des informations et des exemples de code pour ce programme
que vous créez. Il est également possible de créer et utiliser des programmes pour l'application
TIA Portal "SINUMERIK".
Informations complémentaires
Avant de compiler un programme unique pour SINUMERIK à partir des exemples de codes
énumérés ci-dessous, prendre connaissances des informations générales sur Openness,
présentes dans cette aide sous les mots clés suivants :
● Conditions pour TIA Portal Openness
● Installation de TIA Portal Openness
● Accès à TIA Portal
● Modèle d'objet TIA Portal Openness
● Étapes de programmation
Vue d'ensemble
Les appareils SINUMERIK suivants peuvent être créés dans TIA Portal Openness :
● NCU
● Module NX
● ADI4
Pour créer les appareils SINUMERIK, utiliser la méthode CreateWithItem() de la
Devices Collection.
Remarque
Tous les sous-composants intégrés d'une NCU SINUMERIK tels qu'AP, NCK, CP, HMI et
SINAMICS Integrated sont créés automatiquement et imbriqués au même niveau.
Utiliser les noms standard de châssis ci-dessous lors de la création d'un appareil au moyen
d'un identifiant d'élément d'appareil avec la méthode Device CreateWithItem :
Remarque
Les noms de paramètre peuvent être omis. Lorsque le nom est "Null" ou "String.Empty", le nom
standard est utilisé.
Il est possible d'utiliser des caractères génériques dans l'identifiant lors de la création des
appareils SINUMERIK. Les caractères génériques doivent être remplacés ultérieurement par
des caractères spécifiques à l'appareil. Exemple : en saisissant "OrderNumber:6FC5
372-0AA30-0AA0/V4.8", une SINUMERIK 840D sl NCU 720.3 PN avec la version de firmware
FW4.8 est créée.
Lorsque la valeur de cet élément de l'appareil est interrogée via l'AP intégré, la valeur "CPU (1)"
est retournée pour un appareil SINUMERIK.
Dans le modèle d'objets d'Openness, les composants suivants ont la fonction de modules de
tête :
● SINAMICS Integrated
● Module NX
● ADI4
Dans tous les autres cas, la valeur de l'attribut de classification
"DeviceItemClassification" est "None" (0).
L'exemple de code ci-dessous peut également être utilisé pour trouver un AP indépendamment
de la réalisation concrète (AP SINUMERIK, AP SIMATIC, AP logiciel intégrés au PC) sur la
base de la propriété "CPU" :
Trouver des AP
foreach (Device device in project.Devices)
{
DeviceItem rack = device.DeviceItem[0]; //additional necessary step in SINUMERIK side
foreach (DeviceItem deviceItem in rack.DeviceItems)
{
if (deviceItem.Classification == DeviceItemClassifications.CPU)
{
var softwareContainer = deviceItem.GetService<SoftwareContainer>();
// do something
}
}
}
Voir aussi
Création d'un module NX (Page 668)
Créer une NCU (Page 667)
Vue d'ensemble
Le diagramme ci-dessous donne une description des objets sous "Device" dans SINUMERIK
840D sl :
'HYLFH
5DFN'HYLFH,WHP
&3'HYLFH,WHP
31,(,QWHUIDFH'HYLFH,WHP
31,(3RUW'HYLFH,WHP
+0,'HYLFH,WHP
1&.'HYLFH,WHP
3/&'HYLFH,WHP
'3,QWHUIDFH'HYLFH,WHP
31,(,QWHUIDFH'HYLFH,WHP
31,(3RUW'HYLFH,WHP
31,(3RUW'HYLFH,WHP
03,'3,QWHUIDFH'HYLFH,WHP
'3,QWHJUDWHG,QWHUIDFH'HYLFH,WHP
6,1$0,&6,QWHJUDWHG3UR[\'HYLFH,WHP
Le diagramme ci-dessous donne une description des objets sous "Device" dans SINUMERIK
NX 10.3/15.3 :
'HYLFH
5DFN'HYLFH,WHP
+HDGPRGXOH'HYLFH,WHP
'ULYH2EMHFW&RQWDLQHU6HUYLFH
Le diagramme ci-dessous donne une description des objets sous "Device" dans ADI4 :
'HYLFH
5DFN'HYLFH,WHP
+HDGPRGXOH'HYLFH,WHP
$[LVVHSDUDWRU'HYLFH,WHP
$[LVVHSDUDWRU'HYLFH,WHP
$[LVVHSDUDWRU'HYLFH,WHP
$[LVVHSDUDWRU'HYLFH,WHP
%ODQNPRGXOH'HYLFH,WHP
%ODQNPRGXOH'HYLFH,WHP
%ODQNPRGXOH'HYLFH,WHP
%ODQNPRGXOH'HYLFH,WHP
%ODQNPRGXOH'HYLFH,WHP
','HYLFH,WHP
'2'HYLFH,WHP
'ULYH'HYLFH,WHP
'ULYH'HYLFH,WHP
'ULYH'HYLFH,WHP
'ULYH'HYLFH,WHP
(QFRGHU'HYLFH,WHP
(QFRGHU'HYLFH,WHP
(QFRGHU'HYLFH,WHP
(QFRGHU'HYLFH,WHP
Plus d'informations sur les modèles d'objet Openness TIA Portal, voir "TIA Portal Openness
API".
7.26.5 Référence
7.26.5.1 DriveObject
DriveObject
La classe DriveObject permet d'accéder à l'objet entraînement. L'objet entraînement
permet, par ex., d'accéder à ce télégramme.
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives
dans Siemens.Engineering.dll
Le tableau suivant décrit les propriétés de la classe :
Nom Description
GetAttribute Accède en lecture à un attribut d'un objet entraînement
SetAttribute Accède en écriture à un attribut d'un objet entraînement
GetEnumerator Permet l'itération sur l'ensemble des éléments présents
7.26.5.2 DriveObjectContainer
DriveObjectContainer
Le DriveObjectContainer est un service de l'objet entraînement (DeviceItem) de
l'appareil actuel (Device).
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives
dans Siemens.Engineering.dll
7.26.5.3 DriveObjectComposition
DriveObjectComposition
La classe DriveObjectComposition permet d'accéder aux télégrammes disponibles d'un
objet entraînement.
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives in Siemens.Engineering.dll
7.26.5.4 AddressComposition
AddressComposition
La classe AddressComposition représente l'adresse d'un télégramme.
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives in Siemens.Engineering.dll
Remarque
Pour renaviguer vers le télégramme via Address.Parent, appeler à la place du
Namespace Siemens.Engineering.MC.Drives.Telegram le
Namespace Siemens.Engineering.MC.DriveConfiguration.Telegram.
Pour plus d'informations sur les bibliothèques TIA Portal Openness, voir "Bibliothèques
standard".
Voir aussi
AddressIoType (Page 666)
AddressContext (Page 666)
7.26.5.5 AddressContext
AddressContext
Enum AddressContext contient des informations sur le contexte de l'adresse.
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives
dans Siemens.Engineering.dll
Le tableau suivant décrit les entrées Enum :
Nom Description
AddressContext.None Un contexte a été trouvé pour l'adresse
AddressContext.Device Le contexte est une adresse d'appareil
AddressContext.Head Le contexte est une adresse de tête
Pour plus d'informations sur les bibliothèques TIA Portal Openness, voir "Bibliothèques
standard".
7.26.5.6 AddressIoType
AddressIoType
Enum AddressIoType contient des informations sur le type de l'adresse.
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives
dans Siemens.Engineering.dll
Le tableau suivant décrit les entrées Enum :
Nom Description
AddressIoType.None Le type d'IO ne peut pas être utilisé
AddressIoType.Input Le type est une adresse d'entrée
AddressIoType.Output Le type est une adresse de sortie
AddressIoType.Diagnosis Le type est une adresse de diagnostic
AddressIoType.Substitute Le type est une adresse de remplacement
Pour plus d'informations sur les bibliothèques TIA Portal Openness, voir "Bibliothèques
standard".
7.26.6.1 Généralités
Les exemples de code suivants décrivent la procédure de base pour différents cas
d'application. Le code n'est pas nécessairement complet et compilable.
L'adresse DP est affectée au NX fixe dans Openness par le port DRIVE-CLiQ. Chaque
étiquette de port dispose d'une adresse DP Integrated fixe.
L'adresse DP doit être affectée au NX avant la connexion à la NCU.
Remarque
Pendant la création des archives, l'AP doit se trouver en mode hors ligne. Le mode Safety ne
doit pas être actif.
Les archives SINUMERIK sont créées via la propriété de projet TIA Portal HwUtilities avec
le service SinumerikArchiveProvider.
Appeler SinumerikArchiveProvider
Project project = ...;
SinumerikArchiveProvider archiveProvider =
project.HwUtilities.Find("SinumerikArchiveProvider") as
SinumerikArchiveProvider;
if (archiveProvider != null)
{
// Work with the provider
}
L'exemple suivant montre comment créer une archive AP contenant les informations sur le
matériel et tous les blocs de données :
try {
// The file extension is required
string archivePath = string.Format(@"D:\some_path\{0}.dsf", plc.Name);
L'exemple suivant montre comment mettre à jour des composantes logicielles d'une archive
AP déjà créée :
Remarque
Incidences sur la configuration des télégrammes
Le mode Safety Integrated utilisé a des incidences sur la configuration des télégrammes, étant
donné que le mode Safety Integrated plus (AP de sécurité) utilise d'autres télégrammes que
ceux utilisés lorsque le mode Safety Integrated est inactif.
Les télégrammes ajoutés ou modifiés sont toutefois conservés dès lors qu'ils sont compatibles
avec le mode Safety Integrated nouvellement sélectionné.
Après le changement de mode, s'assurer le cas échéant que les adaptations éventuelles sont
encore présentes dans la configuration des télégrammes.
Remarque
Lorsque Safety Integrated (AP de sécurité) est activé ou désactivé, l'AP doit se trouver en
mode hors ligne.
Appeler SafetyModeProvider
...
Siemens.Engineering.HW.Device ncu = ...;
try
{
SafetyModeProvider provider = ncu.GetService<SafetyModeProvider>();
//Perform the safety mode change:
provider.SetSafetyMode(SafetyMode.DbSI);
}
catch( (EngineeringException ex) )
{
// Handle safety mode change failure
}
L'exemple suivant montre comment appeler le réglage Safety Integrated actuel sur l'appareil :
7.27.1 Introduction
TIA Portal-Openness permet d'automatiser l'ingénierie de vos programmes que vous piloterez
via TIA Portal.
Vous trouverez dans cette aide des informations et des exemples de code pour ce programme
que vous créez. Il est également possible de créer et utiliser des programmes pour l'application
TIA Portal "SINUMERIK".
Informations complémentaires
Avant de compiler un programme unique pour SINUMERIK à partir des exemples de codes
énumérés ci-dessous, prendre connaissances des informations générales sur Openness,
présentes dans cette aide sous les mots clés suivants :
● Conditions pour TIA Portal Openness
● Installation de TIA Portal Openness
● Accès à TIA Portal
● Modèle d'objet TIA Portal Openness
● Étapes de programmation
Remarque
Tous les sous-composants intégrés d'une NCU SINUMERIK tels qu'AP, NCK, CP, HMI et
SINAMICS Integrated sont créés automatiquement et imbriqués au même niveau.
Remarque
Les noms de paramètre peuvent être omis. Lorsque le nom est "null" ou "String.Empty", le nom
standard est utilisé.
Il est possible d'utiliser des caractères génériques dans l'identifiant lors de la création des
appareils SINUMERIK. Les caractères génériques doivent être remplacés ultérieurement par
des caractères spécifiques à l'appareil.
Lorsque la valeur de cet élément de l'appareil est interrogée via l'AP intégré, la valeur "CPU (1)"
est retournée pour un appareil SINUMERIK.
Dans le modèle d'objets d'Openness, les composants suivants ont la fonction de module de
tête :
● SINAMICS Integrated
● Module NX
Dans tous les autres cas, la valeur de l'attribut de classification "DeviceItemClassification" est
"None" (0).
L'exemple de code ci-dessous peut également être utilisé pour trouver un AP indépendamment
de la réalisation concrète (AP SINUMERIK, AP SIMATIC, AP logiciel intégrés au PC) sur la
base de la propriété "CPU" :
Trouver des AP
Device ncuDevice = ...
DeviceItem plc = GetPlc(ncuDevice.DeviceItems);
...
DeviceItem GetPlc(DeviceItemComposition deviceItems)
{
if (deviceItems.Count == 0)
{
return null;
}
foreach (var deviceItem in deviceItems)
{
if (deviceItem.Classification == DeviceItemClassifications.CPU)
return deviceItem;
return null;
}
Voir aussi
Créer une NCU (Page 695)
Création d'un module NX (Page 695)
Vue d'ensemble
Le diagramme ci-dessous donne une description des objets sous "Device" dans
SINUMERIK ONE :
'HYLFH
5DFN'HYLFH,WHP
6,1$0,&6,QWHJUDWHG3UR[\'HYLFH,WHP
3/&'HYLFH,WHP
&DUGUHDGHUZULWHU'HYLFH,WHP
23&8$'HYLFH,WHP
31,(,QWHUIDFH'HYLFH,WHP
31,(3RUW'HYLFH,WHP
31,(3RUW'HYLFH,WHP
31,(,QWHUIDFH'HYLFH,WHP
31,(3RUW'HYLFH,WHP
'3,QWHUIDFH'HYLFH,WHP
1&.'HYLFH,WHP
'3,QWHJUDWHG,QWHUIDFH'HYLFH,WHP
&3'HYLFH,WHP
31,(,QWHUIDFH'HYLFH,WHP
31,(3RUW'HYLFH,WHP
31,(,QWHUIDFH'HYLFH,WHP
31,(3RUW'HYLFH,WHP
31,(,QWHUIDFH'HYLFH,WHP
31,(3RUW'HYLFH,WHP
+0,'HYLFH,WHP
Pour plus d'informations sur le modèle d'objet Openness TIA Portal, voir "TIA Portal Openness
API".
Namespace Assembly
Siemens.Engineering.MC.Drive Siemens.Engineering.MC.DriveConfiguration
Configuration (Page 679) dans Siemens.Engineering.dll
Siemens.Engineering.MC.Drive Siemens.Engineering.MC.Drives
s (Page 685) dans Siemens.Engineering.dll
Remarque
Le Namespace Siemens.Engineering.MC.DriveConfiguration met à disposition des
fonctions supplémentaires, comme la création et la suppression d'objets entraînement ou la
modification de leur ordre.
À long terme, le Namespace Siemens.Engineering.MC.DriveConfiguration est
conservé. Toutefois, pour des raisons de compatibilité, le
Namespace Siemens.Engineering.MC.Drives continuera à être pris en charge dans les
prochaines versions Openness.
Le diagramme ci-dessous donne une description des objets sous "Device" dans le Namespace
Siemens.Engineering.MC.Drives dans SINUMERIK NX 10.3/15.3 :
'HYLFH
5DFN'HYLFH,WHP
+HDGPRGXOH'HYLFH,WHP
'ULYH2EMHFW&RQWDLQHU6HUYLFH
Le diagramme ci-dessous donne une description des objets sous "Device" dans les
Namespaces Siemens.Engineering.MC.Drives et
Siemens.Engineering.MC.DriveConfiguration dans SINUMERIK NX 10.3/15.3 :
'HYLFH
5DFN'HYLFH,WHP
+HDGPRGXOH'HYLFH,WHP
'ULYH2EMHFW&ROOHFWLRQ6HUYLFH
7.27.5 Référence
DriveObject
DriveObject
La classe DriveObject permet d'accéder à l'objet entraînement. L'objet entraînement
permet, par ex., d'accéder à ce télégramme.
Namespace : Siemens.Engineering.MC.DriveConfiguration
Assembly : Siemens.Engineering.MC.DriveConfiguration
dans Siemens.Engineering.dll
Le tableau suivant décrit les propriétés de la classe :
Nom Description
GetAttribute Accède en lecture à un attribut d'un objet entraînement
GetAttributes Accède en lecture à tous les attributs d'un objet entraînement
GetAttributeInfos Accède en lecture aux informations sur les attributs d'un objet entraînement
SetAttribute Accède en écriture à un attribut d'un objet entraînement
SetAttributes Accède en écriture à tous les attributs d'un objet entraînement
Delete Supprime l'instance d'objet entraînement au cours de laquelle "Delete" est
appelé
DriveObjectCollection
DriveObjectCollection
Le DriveObjectCollection est un service de l'objet entraînement (DeviceItem) de
l'appareil actuel (Device).
Namespace : Siemens.Engineering.MC.DriveConfiguration
Assembly : Siemens.Engineering.MC.DriveConfiguration
dans Siemens.Engineering.dll
Le tableau suivant décrit les navigateurs de DriveObjectCollection :
Nom Description
GetAttribute Accède en lecture à un attribut de DriveObjectCollection
GetAttributes Accède en lecture à tous les attributs de DriveObjectCollection
GetAttributeInfos Accède en lecture aux informations sur les attributs
de DriveObjectCollection
SetAttribute Accède en écriture à un attribut de DriveObjectCollection
SetAttributes Accède en écriture à tous les attributs de DriveObjectCollection
DriveObjectComposition
DriveObjectComposition
La classe DriveObjectComposition permet d'accéder aux télégrammes disponibles d'un
objet entraînement et contient tous les objets entraînement d'une NCU ou d'un module NX.
Namespace : Siemens.Engineering.MC.DriveConfiguration
Assembly : Siemens.Engineering.MC.DriveConfiguration
dans Siemens.Engineering.dll
Nom Description
GetEnumerator Permet l'itération sur l'ensemble des éléments présents
Contains Détermine si l'instance spécifiée est présente dans l'ensemble des éléments.
TRUE : Le conteneur contient l'instance. FALSE : Le conteneur ne contient
pas l'instance
IndexOf Renvoie l'indice dans l'ensemble des éléments pour l'instance demandée.
Create Crée une classe DriveObjectComposition
Find Recherche une classe DriveObjectComposition
DriveObjectCategory
DriveObjectCategory
L'Enum DriveObjectCategory contient des catégories prédéfinies d'objets entraînement.
Un accès en lecture à DriveObjectCategory est possible.
Namespace : Siemens.Engineering.MC.DriveConfiguration
Assembly : Siemens.Engineering.MC.DriveConfiguration
dans Siemens.Engineering.dll
Le tableau suivant contient les catégories prédéfinies d'objets entraînement :
TelegramComposition
TelegramComposition
La classe TelegramComposition permet d'accéder aux télégrammes d'un objet
entraînement (DriveObject (Page 679)). La structure d'un télégramme peut être lue via la
classe Telegram (Page 683).
Toute modification apportée aux objets télégramme (p. ex. changement du télégramme Safety)
peut entraîner la suppression de l'objet télégramme correspondant et la création d'un nouvel
objet télégramme dans TelegramComposition. Dans ce cas, parcourir de nouveau
TelegramComposition pour retrouver le nouvel objet télégramme (Page 683) après la
modification.
Lorsque le type d'objet entraînement en question ne prend en charge aucun télégramme, la
valeur renvoyée de TelegramComposition est vide.
Namespace : Siemens.Engineering.MC.DriveConfiguration
Assembly : Siemens.Engineering.MC.DriveConfiguration
dans Siemens.Engineering.dll
Le tableau suivant décrit les propriétés de la classe :
Nom Description
Create(enum TelegramId Id) Crée un télégramme, le type de télégramme cor‐
respond à l'ID.
int IndexOf(TelegramType) Renvoie l'indice dans l'ensemble des éléments
pour l'instance demandée.
bool Contains Détermine si l'instance spécifiée est présente
dans l'ensemble des éléments.
TRUE: Le conteneur contient l'instance
FALSE: Le conteneur ne contient pas l'instance
Contains Détermine si l'instance spécifiée est présente
dans l'ensemble des éléments. TRUE : Le conte‐
neur contient l'instance. FALSE : Le conteneur ne
contient pas l'instance
IEnumerator GetEnumerator IEnumerator<DriveObject> permet l'itéra‐
tion sur l'ensemble des éléments présents
Telegram
Telegram
La classe Telegram permet d'accéder à la structure d'un télégramme d'un objet entraînement.
Namespace : Siemens.Engineering.MC.DriveConfiguration
Assembly : Siemens.Engineering.MC.DriveConfiguration
dans Siemens.Engineering.dll
Le tableau suivant décrit les propriétés de la classe :
Nom Description
GetSize(AddressIoType (Pa‐ Renvoie la taille des entrées ou des sorties du télégramme.
ge 693))
CanChangeSize(AddressIoType (Pa‐ Renvoie true si la taille du télégramme peut être modifiée
ge 693), Int32, bool) comme elle a été paramétrée. Les télégrammes standard
peuvent uniquement être agrandis.
La conservation de l'adresse de télégramme actuelle est pri‐
se en compte si l'option est paramétrée avec true.
CanSetSize (AddressIoType (Pa‐ Renvoie true si la taille du télégramme peut être modifiée
ge 693) Int32, bool) comme elle a été paramétrée.
SetSize Accède en écriture à la taille du télégramme
Delete Supprime l'instance de télégramme au cours de laquelle
"Delete" est appelé
GetAttribute Accède en lecture à un attribut de télégramme
GetAttributes Accède en lecture à tous les attributs de télégramme
GetAttributeInfos Accède en lecture aux informations relatives aux attributs de
télégramme
SetAttribute Accède en écriture à un attribut de télégramme
SetAttributes Accède en écriture à tous les attributs de télégramme
TelegramType
TelegramType
Enum TelegramType contient des types de télégrammes prédéfinis.
Namespace : Siemens.Engineering.MC.DriveConfiguration
Assembly : Siemens.Engineering.MC.DriveConfiguration
dans Siemens.Engineering.dll
Le tableau suivant décrit les entrées Enum :
Nom Description
MainTelegram Télégramme principal : p. ex. télégramme 136
SupplementaryTelegram Télégramme additionnel : p. ex. télégramme 701
AdditionalTelegram Extension : télégramme libre
SafetyTelegram Télégramme Safety : p. ex. télégramme 903
Remarque
Le télégramme de couple (TorqueTelegram) n'est pas pris en charge bien qu'il soit
disponible dans l'AP TIA Portal Openness dans le contexte de SINUMERIK.
TelegramId
TelegramId
L'Enum TelegramId contient les numéros de télégramme pertinents pour la communication
entre l'AP et l'entraînement. Les ID sont définis à l'aide de la norme PROFIdrive.
Namespace : Siemens.Engineering.MC.DriveConfiguration
Assembly : Siemens.Engineering.MC.DriveConfiguration
dans Siemens.Engineering.dll
DriveObject
DriveObject
La classe DriveObject permet d'accéder à l'objet entraînement. L'objet entraînement
permet, par ex., d'accéder à ce télégramme.
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives
dans Siemens.Engineering.dll
Le tableau suivant décrit les propriétés de la classe :
Nom Description
GetAttribute Accède en lecture à un attribut d'un objet entraînement
SetAttribute Accède en écriture à un attribut d'un objet entraînement
GetEnumerator Permet l'itération sur l'ensemble des éléments présents
Voir aussi
TelegramComposition (Page 687)
DriveObjectContainer
DriveObjectContainer
Le DriveObjectContainer est un service de l'objet entraînement (DeviceItem) de
l'appareil actuel (Device).
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives
dans Siemens.Engineering.dll
Le tableau suivant décrit les navigateurs du DriveObjectContainer :
DriveObjectCollection
DriveObjectCollection
Le DriveObjectCollection est un service de l'objet entraînement (DeviceItem) de
l'appareil actuel (Device).
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives
dans Siemens.Engineering.dll
DriveObjectComposition
DriveObjectComposition
La classe DriveObjectComposition permet d'accéder aux télégrammes disponibles d'un
objet entraînement.
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives in Siemens.Engineering.dll
TelegramComposition
TelegramComposition
La classe TelegramComposition permet d'accéder aux télégrammes d'un objet
entraînement (DriveObject (Page 685)). La structure d'un télégramme peut être lue via la
classe Telegram (Page 689).
Toute modification apportée aux objets télégramme (p. ex. changement du télégramme Safety)
peut entraîner la suppression de l'objet télégramme correspondant et la création d'un nouvel
objet télégramme dans TelegramComposition. Dans ce cas, parcourir de nouveau
TelegramComposition pour retrouver le nouvel objet télégramme (Page 689) après la
modification.
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives
dans Siemens.Engineering.dll
Le tableau suivant décrit les méthodes de la classe :
Nom Description
CanInsertAdditionalTelegram(Int32, Renvoie true si une extension peut être géné‐
Int32) rée conformément aux tailles paramétrées (tail‐
les d'entrée et de sortie).
InsertAdditionalTelegram(Int32, Int32) Génère, pour l'objet entraînement, une exten‐
sion conformément aux tailles paramétrées et
renvoie true si l'extension a pu être insérée.
En cas d'erreur,
une
EngineeringTargetInvocationExcepti
on est générée.
CanInsertSupplementaryTelegram(Int32) Renvoie true si un télégramme supplémentai‐
re peut être généré conformément au numéro
de télégramme paramétré.
InsertSupplementaryTelegram(Int32) Crée le télégramme additionnel avec le numéro
de télégramme paramétré et renvoie true, si le
télégramme a pu être ajouté.
En cas d'erreur,
une
EngineeringTargetInvocationExcepti
on est générée.
CanInsertSafetyTelegram(Int32) Renvoie true lorsqu'un télégramme Safety
peut être créé en fonction du numéro de télé‐
gramme paramétré.
InsertSafetyTelegram(Int32) Crée le télégramme additionnel avec le numéro
de télégramme paramétré et renvoie true, si le
télégramme a pu être ajouté.
En cas d'erreur,
une
EngineeringTargetInvocationExcepti
on est générée.
EraseTelegram(TelegramType) Renvoie true si le télégramme paramétré a pu
être supprimé.
Les télégrammes standard ne peuvent pas être
supprimés.
En cas d'erreur,
une
EngineeringTargetInvocationExcepti
on est générée.
Nom Description
Find(TelegramType) Renvoie l'objet Telegram (Page 689) s'il a pu
être trouvé via le type de télégramme paramétré.
null si le télégramme n'est pas trouvé.
Exemple
Telegram telegram =
telegrams.Find(TelegramType.MainTe
legram);
int IndexOf(TelegramType) Renvoie l'indice dans l'ensemble des éléments
pour l'instance demandée.
Parent Renvoie la référence à la classe de niveau su‐
périeur (DriveObject).
bool Contains Détermine si l'instance spécifiée est présente
dans l'ensemble des éléments.
TRUE: Le conteneur contient l'instance
FALSE: Le conteneur ne contient pas l'instance
IEnumerator GetEnumerator IEnumerator<DriveObject> permet l'itéra‐
tion sur l'ensemble des éléments présents
Telegram
Telegram
La classe Telegram permet d'accéder à la structure d'un télégramme d'un objet entraînement.
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives
dans Siemens.Engineering.dll
Le tableau suivant décrit les propriétés de la classe :
Nom Description
CanChangeTelegram(Int32) Renvoie true si le télégramme peut être modifié dans le type
standard paramétré.
GetSize(AddressIoType (Pa‐ Renvoie la taille des entrées ou des sorties du télégramme.
ge 693))
CanChangeSize(AddressIoType (Pa‐ Renvoie true si la taille du télégramme peut être modifiée
ge 693), Int32, bool) comme elle a été paramétrée. Les télégrammes standard
peuvent uniquement être agrandis.
La conservation de l'adresse de télégramme actuelle est pri‐
se en compte si l'option est paramétrée avec true.
ChangeSize(AddressIoType (Pa‐ Renvoie true si la taille du télégramme a pu être modifiée
ge 693), Int32, bool) comme elle a été paramétrée.
La conservation de l'adresse de télégramme actuelle est pri‐
se en compte si l'option est paramétrée avec true.
GetEnumerator Permet l'itération sur l'ensemble des éléments présents
TelegramType
TelegramType
Enum TelegramType contient des types de télégrammes prédéfinis.
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives
dans Siemens.Engineering.dll
Le tableau suivant décrit les entrées Enum :
Nom Description
MainTelegram Télégramme principal : p. ex. télégramme 136
SupplementaryTelegram Télégramme additionnel : p. ex. télégramme 701
AdditionalTelegram Extension : télégramme libre
SafetyTelegram Télégramme Safety : p. ex. télégramme 903
Remarque
Le télégramme de couple (TorqueTelegram) n'est pas pris en charge bien qu'il soit
disponible dans l'AP TIA Portal Openness dans le contexte de SINUMERIK.
AddressComposition
AddressComposition
La classe AddressComposition représente l'adresse d'un télégramme.
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives in Siemens.Engineering.dll
Le tableau suivant décrit les propriétés de la classe :
Remarque
Pour renaviguer vers le télégramme via Address.Parent, appeler à la place du
Namespace Siemens.Engineering.MC.Drives.Telegram le
Namespace Siemens.Engineering.MC.DriveConfiguration.Telegram.
Pour plus d'informations sur les bibliothèques TIA Portal Openness, voir "Bibliothèques
standard".
Voir aussi
AddressIoType (Page 693)
AddressContext (Page 693)
AddressContext
AddressContext
Enum AddressContext contient des informations sur le contexte de l'adresse.
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives
dans Siemens.Engineering.dll
Le tableau suivant décrit les entrées Enum :
Nom Description
AddressContext.None Un contexte a été trouvé pour l'adresse
AddressContext.Device Le contexte est une adresse d'appareil
AddressContext.Head Le contexte est une adresse de tête
Pour plus d'informations sur les bibliothèques TIA Portal Openness, voir "Bibliothèques
standard".
AddressIoType
AddressIoType
Enum AddressIoType contient des informations sur le type de l'adresse.
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives
dans Siemens.Engineering.dll
Le tableau suivant décrit les entrées Enum :
Nom Description
AddressIoType.None Le type d'IO ne peut pas être utilisé
AddressIoType.Input Le type est une adresse d'entrée
AddressIoType.Output Le type est une adresse de sortie
AddressIoType.Diagnosis Le type est une adresse de diagnostic
AddressIoType.Substitute Le type est une adresse de remplacement
Pour plus d'informations sur les bibliothèques TIA Portal Openness, voir "Bibliothèques
standard".
7.27.5.3 ArchiveProvider
ArchiveProvider
La classe ArchiveProvider sert à générer les archives AP.
Namespace : Siemens.Engineering.HW.Utilities
Assembly : Siemens.Engineering.HW.Utilities
dans Siemens.Engineering.dll
Le tableau suivant décrit les méthodes de la classe ArchiveProvider :
Remarque
Si Safety est activé, aucune archive ne peut être créée avec Openness.
7.27.6.1 Généralités
Les exemples de code suivants décrivent la procédure de base pour différents cas
d'application. Le code n'est pas nécessairement complet et compilable.
Créer un module NX
project.Devices.CreateWithItem("OrderNumber:6SL3040-1NC00-0AA0/
V5.2", "MyNXDevice", "TestDevice");
Une version de firmware NX différente de celle de SINAMICS Integrated ne peut pas être
affectée via Openness.
Le tableau suivant présente les compatibilités de version pour SINUMERIK ONE :
L'adresse DP est affectée au NX fixe dans Openness par le port DRIVE-CLiQ. Chaque
étiquette de port dispose d'une adresse DP Integrated fixe.
L'adresse DP doit être affectée au NX avant la connexion à la NCU.
Événements du NCK
Le module NCK est un DeviceItem selon le modèle d'objet SINUMERIK (Page 677).
Les attributs suivants du module NCK permettent d'accéder aux événements du NCK et de
configurer les événements du NCK dans TIA Portal Openness :
Tous les événements du NCK sont déclenchés via HardwareInterrupt (OB d'alarme de
process). Les OB d'alarme de process interrompent l'exécution cyclique du programme en
raison d'un événement matériel.
L'exemple suivant montre comment déterminer le nom d'événement pour le module NCK :
Définir le HardwareInterrupt
... DeviceItem nck = ...;
OB ob40 = ... try
{
nck.SetAttribute("HardwareInterruptNckToPlcSignalExchangeInterrupt", ob40);
}
catch( (EngineeringException ex) )
{
// Handle setting failure
}
Remarque
Pendant la création des archives, l'AP doit se trouver en mode hors ligne. Le mode Safety ne
doit pas être actif.
Les archives SINUMERIK sont créées via la propriété de projet TIA Portal HwUtilities avec
le service SinumerikArchiveProvider.
L'exemple suivant montre comment appeler le service SinumerikArchiveProvider :
Appeler SinumerikArchiveProvider
Project project = ...;
SinumerikArchiveProvider archiveProvider =
project.HwUtilities.Find("SinumerikArchiveProvider") as SinumerikArchiveProvider;
if (archiveProvider != null)
{
// Work with the provider
}
L'exemple suivant montre comment créer une archive AP contenant les informations sur le
matériel et tous les blocs de données :
try {
// The file extension is required
string archivePath = string.Format(@"D:\some_path\{0}.dsf", plc.Name);
L'exemple suivant montre comment mettre à jour des composantes logicielles d'une archive
AP déjà créée :
Remarque
Incidences sur la configuration des télégrammes
Le mode Safety Integrated utilisé a des incidences sur la configuration des télégrammes, étant
donné que le mode Safety Integrated plus (AP de sécurité) utilise d'autres télégrammes que
ceux utilisés lorsque le mode Safety Integrated est inactif.
Les télégrammes ajoutés ou modifiés sont toutefois conservés dès lors qu'ils sont compatibles
avec le mode Safety Integrated nouvellement sélectionné.
Après le changement de mode, s'assurer le cas échéant que les adaptations éventuelles sont
encore présentes dans la configuration des télégrammes.
Remarque
Lorsque Safety Integrated (AP de sécurité) est activé ou désactivé, l'AP doit se trouver en
mode hors ligne.
Appeler SafetyModeProvider
...
Siemens.Engineering.HW.Device ncu = ...;
try
{
SafetyModeProvider provider = ncu.GetService<SafetyModeProvider>();
//Perform the safety mode change:
provider.SetSafetyMode(SafetyMode.DbSI);
}
catch( (EngineeringException ex) )
{
// Handle safety mode change failure
}
L'exemple suivant montre comment appeler le réglage Safety Integrated actuel sur l'appareil :
Remarque
La NCU SINUMERIK et un SINAMICS Integrated se situent sur le même niveau dans le modèle
d'objet TIA Portal Openness et apparaissent comme deux appareils distincts sous
"DeviceComposition".
La NCU SINUMERIK contient un objet proxy SINAMICS Integrated avec des références à
SINAMICS Integrated.
Pour accéder à un appareil SINAMICS Integrated ou un module NX, naviguer depuis la NCU
SINUMERIK via le NCK vers l'interface DP Integrated. Déterminer ensuite le système maître
PROFIBUS et naviguer vers l'esclave connecté.
//Create telegram
const int tgrmId = 136;
drvObj.Telegrams.CreateTelegram(tgrmId);
safetyTgrm.SetAttribute("Failsafe_FMonitoringtime", 300);
Supprimer un télégramme
using Siemens.Engineering.MC.DriveConfiguration;
//Delete telegram
const int tgrmId = 136;
drvObj.Telegrams.DeleteTelegram(tgrmId);
Extension de télégrammes
L'exemple suivant montre comment insérer une extension et modifier la taille d'un télégramme
standard. Pour l'accès, un objet entraînement est nécessaire.
Remarque
La NCU SINUMERIK et un SINAMICS Integrated se situent sur le même niveau dans le modèle
d'objet TIA Portal Openness et apparaissent comme deux appareils distincts sous
"DeviceComposition".
La NCU SINUMERIK contient un objet proxy SINAMICS Integrated avec des références à
SINAMICS Integrated.
Pour accéder à un appareil SINAMICS Integrated ou un module NX, naviguer depuis la NCU
SINUMERIK via le NCK vers l'interface DP Integrated. Déterminer ensuite le système maître
PROFIBUS et naviguer vers l'esclave connecté.
//Add telegram
const int tgrmNumber = 136;
drvObj.Telegrams.InsertTelegram(tgrmNumber);
//Find telegram
Telegram telegram = drvObj.Telegrams.Find(TelegramType.MainTelegram);
safetyTgrm.SetAttribute("Failsafe_FMonitoringtime", 300);
Telegram telegram =
drvObj.Telegrams.Find(TelegramType.SupplementaryTelegram);
Supprimer un télégramme
using Siemens.Engineering.MC.Drives;
//Remove safety telegram
drvObj.Telegrams.EraseTelegram(TelegramType.SafetyTelegram);
Remarque
Un télégramme principal (MainTelegram) peut être modifié, mais pas supprimé.
Extension de télégrammes
L'exemple suivant montre comment insérer une extension et modifier la taille d'un télégramme
standard. Pour l'accès, un objet entraînement est nécessaire.
7.28.1 Introduction
TIA Portal-Openness permet d'automatiser l'ingénierie de vos programmes que vous piloterez
via TIA Portal.
Vous trouverez dans cette aide des informations et des exemples de code pour ce programme
que vous créez. Vous pouvez également créer et utiliser des programmes pour l'application
TIA Portal "Startdrive".
Avant de créer votre propre programme à partir des exemples de code répertoriés ci-après
pour Startdrive, prenez connaissance des informations globales sur Openness qui sont
disponibles sous les mots-clés suivants dans cette aide :
● Conditions pour TIA Portal Openness
● Installation de TIA Portal Openness
● Accès à TIA Portal
● Modèle d'objet TIA Portal Openness
● Étapes de programmation
Pour lire le TypeIdentifier d'un composant dans la fenêtre d'inspection, procédez comme suit :
1. Dans la vue des appareils du projet Startdrive, double-cliquez sur le composant souhaité.
La fenêtre d'inspection s'ouvre. La variante active du composant est affichée dans la liste.
2. Le TypeIdentifier correspondant est indiqué dans la colonne située tout à droite.
Exemple : OrderNumber:6SL3131-7TE23-6Axx
Copiez ce TypeIdentifier dans votre application Openness.
Pour lire le TypeIdentifier d'une Control Unit dans la fenêtre d'inspection, procédez comme
suit :
1. Dans la navigation du projet Startdrive, double-cliquez sur "Ajouter nouvel appareil".
La boîte de dialogue de même nom s'ouvre.
2. Sélectionnez le module de régulation souhaité dans la liste.
Le TypeIdentifier est maintenant affiché à droite dans la vue de détail (sous le numéro
d'article et le numéro de firmware) pour la Control Unit correspondante.
Exemple : OrderNumber:6SL3040-1MA01-0Axx/V5.2/S120
3. Copiez ce TypeIdentifier dans votre application Openness.
7.28.3 Références
7.28.3.1 AddressComposition
AddressComposition
La classe AddressComposition représente l'adresse d'un télégramme.
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives in Siemens.Engineering.dll
Le tableau suivant décrit la syntaxe de la classe :
Voir aussi
TelegramType (Page 724)
7.28.3.2 AddressContext
AddressContext
Enum AddressContext contient des informations sur le contexte de l'adresse.
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives
dans Siemens.Engineering.dll
Le tableau suivant décrit la syntaxe de la classe :
Nom Description
AddressContext.None Un contexte a été trouvé pour l'adresse
AddressContext.Device Le contexte est une adresse d'appareil
AddressContext.Head Le contexte est une adresse de tête
7.28.3.3 AddressIoType
AddressIoType
Enum AddressIoType contient des informations sur le type de l'adresse.
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives
dans Siemens.Engineering.dll
Le tableau suivant décrit la syntaxe de la classe :
Nom Description
AddressIoType.None Le type d'IO ne peut pas être utilisé
AddressIoType.Input Le type est une adresse d'entrée
AddressIoType.Output Le type est une adresse de sortie
AddressIoType.Diagnosis Le type est une adresse de diagnostic
AddressIoType.Substitute Le type est une adresse de remplacement
7.28.3.4 ConfigurationEntry
ConfigurationEntry
La classe ConfigurationEntry sert à l'enregistrement des données de paramétrage, qui
peuvent être déterminées d'après les ConfigurationEntryCompositions d'une
configuration de moteur ou de codeur.
Le tableau suivant décrit les propriétés de la classe :
7.28.3.5 DriveDomainFunctions
DriveDomainFunctions
La classe DriveDomainFunctions sert à la restauration des réglages d'usine ou à la
sauvegarde du contenu de la RAM vers la ROM.
Elle ne peut être appliquée qu'à un objet OnlineDriveFunctionInterface.
Pour les entraînements G120, il est possible d'accéder à l'objet DriveDomainFunctions
uniquement lorsque le Power Module est câblé avec l'appareil. Sinon, null ou une exception est
renvoyé.
Le tableau suivant décrit les méthodes de la classe :
Nom Description
PerformFactoryReset Cette méthode permet la restauration des réglages d'usine.
PerformRAMtoROMCopyAllDriveObject Les données de tous les objets entraînement sont écrites de la RAM sur la
carte mémoire/le disque dur.
7.28.3.6 DriveObject
DriveObject
La classe DriveObject permet l'accès à l'objet entraînement. L'objet entraînement permet
par ex. d'accéder aux paramètres d'entraînement ou au télégramme.
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives
dans Siemens.Engineering.dll
Le tableau suivant décrit la syntaxe de la classe :
Voir aussi
Déterminer un objet entraînement (Page 728)
7.28.3.7 DriveObjectActivation
DriveObjectActivation
La classe DriveObjectActivation sert à l'activation des modules ou à la détermination de
l'état du module. Elle peut être appliquée à DriveObjectFunctions
de DriveFunctionInterface ou OnlineDriveFunctionInterface.
Le tableau suivant décrit les méthodes de la classe :
Nom Description
ChangeActivationState(DriveObjectAc Modifie l'état d'activation de l'objet entraînement. Renvoie false lorsque
tivationState) l'opération ne peut pas être achevée.
Valeurs d'état possibles :
● Deactivate
● Activate
● DeactivateAndNotPresent
7.28.3.8 DriveObjectContainer
DriveObjectContainer
Le DriveObjectContainer est un service de l'objet entraînement (DeviceItem) de
l'appareil actuel (Device).
Le tableau suivant décrit les navigateurs du DriveObjectContainer :
7.28.3.9 DriveObjectTypeHandler
DriveObjectTypeHandler
La classe DriveObjectTypeHandler sert à la commutation du type d'objet entraînement
pour chaque objet entraînement et à la détermination du type d'objet entraînement ainsi que de
tous les types d'objet entraînement possibles de l'objet entraînement actuel. Elle ne peut être
appliquée qu'à DriveFunctionInterface.
Le tableau suivant décrit les méthodes de la classe :
Nom Description
ChangeDriveObjectType((target)Drive Modifie le type actuel de l'objet entraînement sur un nouveau type sélec‐
ObjectType) tionnable.
Renvoie false lorsque l'opération ne peut pas être achevée.
7.28.3.10 DriveParameter
DriveParameter
La classe DriveParameter permet l'accès à un paramètre d'entraînement. Tous les
paramètres de l'entraînement ne sont pas accessibles via Openness.
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives
dans Siemens.Engineering.dll
Le tableau suivant décrit la syntaxe de la classe :
Voir aussi
Lire et écrire des paramètres (Page 745)
7.28.3.11 DriveParameterComposition
DriveParameterComposition
La classe DriveParameterComposition permet d'accéder aux paramètres de
l'entraînement. Tous les paramètres de l'entraînement ne sont pas accessibles via Openness.
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives in Siemens.Engineering.dll
Le tableau suivant décrit la syntaxe de la classe :
Nom Description
Find(string) Renvoie l'objet DriveParameter (Page 715) recherché via le
nom.
null si le paramètre n'est pas trouvé
Exemple
Find("P108[1]");
Find(UInt16, Int32) Renvoie l'objet DriveParameter (Page 715) recherché via
l'indice de paramètre et de tableau.
null si le paramètre n'est pas trouvé
Exemples
● cu.Find(108, 1);
● cu.Find(51, -1);
WriteParameters(IEnumerable<s Écrit les valeurs dans les paramètres.
tring>, IEnumerable<string>, Avec le réglage ignoreErrors = true, le système tente,
bool) en cas d'erreur, d'écrire toutes les valeurs, puis il déclenche
une EngineeringTargetInvocationException.
Pour les entraînements SINAMICS G, les valeurs de para‐
mètres ne peuvent être écrites que lorsqu'un Power Module
(PM) est configuré.
Exemple
List<string> names = new List<string>();
List<string> values = new List<string>();
names.add("p300[0])");
values.add("17");
names.add("p5391[0])");
values.add("20");
7.28.3.12 EncoderConfiguration
EncoderConfiguration
La classe EncoderConfiguration enregistre les données de capteurs (codeurs) non
Siemens.
● L'objet ConfigurationEntryComposition doit être rempli par l'utilisateur.
● L'objet RequiredConfigurationEntries doit également être rempli.
Namespace : Siemens.Engineering.MC.Drives
Siemens.Engineering.MC.Drives.DFI
Siemens.Engineering.MC.Drives.Enum
Assembly : Siemens.Engineering.MC.Drives in Siemens.Engineering.dll
7.28.3.13 HardwareProjection
La classe HardwareProjection sert à la mise en service du moteur et du capteur. L'objet
peut se trouver dans DriveFunctionInterface et OnlineDriveFunctionInterface.
Pour les entraînements G120, la configuration peut être effectuée aussi bien en ligne qu'hors
ligne pour les moteurs et les capteurs. Pour les entraînements S120, la configuration n'est en
revanche possible qu'hors ligne.
Pour les groupes d'entraînement G120, il n'est possible d'accéder à l'objet
HardwareProjection que lorsque le Power Module est inséré dans le groupe
d'entraînement. Sinon, lors de l'appel des fonctions HardwareProjection, null ou une
exception est renvoyé.
Lors d'une configuration hors ligne, utilisez la configuration matérielle de
DriveFunctionInterface. Lors d'une configuration en ligne, utilisez la configuration
matérielle de OnlineDriveFunctionInterface.
Namespace : Siemens.Engineering.MC.Drives
Siemens.Engineering.MC.Drives.DFI
Siemens.Engineering.MC.Drives.Enums
Assembly : Siemens.Engineering.MC.Drives in Siemens.Engineering.dll
Le tableau suivant décrit les méthodes de la classe :
Nom Description
SetMotorType(MotorType type, Règle le type de moteur sur la Control Unit (uniquement pour
ushort driveDataSet) G120).
GetCurrentMotorConfiguration( Détermine la plage de configuration actuellement existante
ushort driveDataSet) en fonction du numéro d'enregistrement de l'entraînement.
ProjectMotorConfiguration(Mot Définit la configuration de moteur d'un groupe d'entraîne‐
orConfiguration motConfig, ment en fonction du numéro d'enregistrement de l'entraîne‐
ushort driveDataSet) ment.
SetEncoder(EncoderType type, Règle le capteur (codeur) sur la Control Unit (uniquement
EncoderInterface pour G120).
interfaceType,
AbsoluteIncrementalFlag
absIncFlag, RotaryLinearFlag
rotLinFlag, ushort
encDataSet)
Nom Description
GetCurrentEncoderConfiguratio Détermine la plage de configuration actuellement existante
n(ushort encDataSet) en fonction du numéro d'enregistrement du capteur.
ProjectEncoderConfiguration(E Définit la configuration de moteur d'un groupe d'entraîne‐
ncoderConfiguration ment en fonction du numéro d'enregistrement du capteur
encConfig, ushort encDataSet) (codeur).
7.28.3.14 MotorConfiguration
MotorConfiguration
La classe MotorConfiguration sert à la mise en service des moteurs et des capteurs.
Namespace : Siemens.Engineering.MC.Drives
Siemens.Engineering.MC.Drives.DFI
Siemens.Engineering.MC.Drives.Enums
Assembly : Siemens.Engineering.MC.Drives in Siemens.Engineering.dll
7.28.3.15 OnlineDriveObject
OnlineDriveObject
La classe OnlineDriveObject permet l'accès en ligne à l'objet entraînement. L'objet
entraînement permet d'accéder aux paramètres d'entraînement.
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives
dans Siemens.Engineering.dll
Le tableau suivant décrit la syntaxe de la classe :
Voir aussi
Déterminer un objet entraînement (Page 728)
Lire et écrire des paramètres (Page 745)
Lire et écrire des paramètres en ligne (Page 747)
7.28.3.16 OnlineDriveObjectContainer
OnlineDriveObjectContainer
Le OnlineDriveObjectContainer est un service de l'objet entraînement (DeviceItem)
de l'appareil actuel (Device).
Le tableau suivant décrit les navigateurs du OnlineDriveObjectContainer :
7.28.3.17 StartDriveDownloadCheckConfiguration
StartDriveDownloadCheckConfiguration
La classe StartDriveDownloadCheckConfiguration est dérivée de la
classe DownloadCheckConfiguration et a les mêmes propriétés. La
classe DownloadCheckConfiguration est décrite dans l'aide Openness standard.
Cette classe fournit à l'utilisateur les réglages de configuration via des case à cocher.
Le tableau suivant décrit les propriétés de la classe :
Voir aussi
Téléchargement (Page 730)
7.28.3.18 SafetyTelegram
SafetyTelegram
La classe SafetyTelegram correspond à un télégramme de l'objet entraînement. En cas
d'erreurs dans les attributs d'écriture,
l'exception EngineeringTargetInvocationException apparaît.
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives in Siemens.Engineering.dll
7.28.3.19 Telegram
Telegram
La classe Telegram permet d'accéder à la structure d'un télégramme d'un objet entraînement.
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives
dans Siemens.Engineering.dll
Le tableau suivant décrit la syntaxe de la classe :
Nom Description
CanChangeTelegram(Int32) Renvoie true si le télégramme peut être modifié dans le type
standard paramétré.
GetSize(AddressIoType (Page 711)) Renvoie la taille des entrées ou des sorties du télégramme.
Nom Description
CanChangeSize(AddressIoType (Pa‐ Renvoie true si la taille du télégramme peut être modifiée
ge 711), Int32, bool) comme elle a été paramétrée. Les télégrammes standard
peuvent uniquement être agrandis.
La conservation de l'adresse de télégramme actuelle est pri‐
se en compte si l'option est paramétrée avec true.
ChangeSize(AddressIoType (Pa‐ Renvoie true si la taille du télégramme a pu être modifiée
ge 711), Int32, bool) comme elle a été paramétrée.
La conservation de l'adresse de télégramme actuelle est pri‐
se en compte si l'option est paramétrée avec true.
7.28.3.20 TelegramComposition
TelegramComposition
La classe TelegramComposition permet d'accéder aux télégrammes d'un objet
entraînement. La structure d'un télégramme peut être lue via la classe Telegram (Page 722).
Notez que la classe TelegramComposition peut invalider des objets référencés. Par ex.,
après modification de la taille du télégramme, l'objet Telegram (Page 722) devient invalide.
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives in Siemens.Engineering.dll
Le tableau suivant décrit la syntaxe de la classe :
Nom Description
CanInsertAdditionalTelegr Renvoie true si une extension peut être générée conformément
am(Int32, Int32) aux tailles paramétrées (tailles d'entrée et de sortie).
CanInsertTorqueTelegram Lors de l'ajout d'un nouveau télégramme Torque avec un numéro
(Int32, telegramNumber) de télégramme déjà existant, vérifie si cela est possible.
CanInsertSupplementaryTel Renvoie true si un télégramme supplémentaire peut être généré
egram(Int32) conformément au numéro de télégramme paramétré.
EraseTelegram(TelegramTyp Supprime un télégramme avec un type de télégramme connu de
e) l'objet entraînement.
Renvoie true si le télégramme paramétré a pu être supprimé.
Si un télégramme Torque est utilisé comme type, l'objet "torque‐
Telegram" est supprimé.
Si un télégramme Safety Integrated est utilisé comme type, l'objet
"safetyTelegram" est supprimé.
Les télégrammes standard ne peuvent pas être supprimés.
En cas d'erreur,
une EngineeringTargetInvocationException est déclen‐
chée.
Nom Description
Find(TelegramType) Renvoie l'objet Telegram (Page 722) s'il a pu être trouvé via le type
de télégramme ou le type de télégramme Safety Integrated para‐
métré.
null si le télégramme n'est pas trouvé.
Si un télégramme Torque est utilisé comme type,
l'objet torqueTelegram est renvoyé s'il existe.
Si un télégramme Safety Integrated est utilisé comme type, l'ob‐
jet safetyTelegram est renvoyé s'il existe.
Exemple
Telegram telegram =
telegrams.Find(TelegramType.MainTelegram);
InsertAdditionalTelegram( Génère, pour l'objet entraînement, une extension conformément
Int32, Int32) aux tailles paramétrées et revoie true si l'extension a pu être
insérée.
En cas d'erreur,
une EngineeringTargetInvocationException est déclen‐
chée.
InsertTorqueTelegram Ajoute à un objet entraînement un nouveau télégramme Torque
(Int32, telegramNumber) avec un numéro de télégramme déjà existant.
InsertSafetyTelegram Ajoute un télégramme Safety Integrated avec son numéro de té‐
(Int32, telegramNumber) légramme par défaut à un objet entraînement.
InsertSupplementaryTelegr Génère le télégramme supplémentaire avec le numéro de télé‐
am(Int32) gramme paramétré et renvoie true si le télégramme a pu être
inséré.
En cas d'erreur,
une EngineeringTargetInvocationException est déclen‐
chée.
7.28.3.21 TelegramType
TelegramType
Enum TelegramType contient des types de télégrammes prédéfinis.
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives
dans Siemens.Engineering.dll
Le tableau suivant décrit la syntaxe de la classe :
Nom Description
MainTelegram ID du télégramme principal
SupplementaryTelegram ID du télégramme supplémentaire
AdditionalTelegram ID d'une extension
7.28.3.22 TorqueTelegram
TorqueTelegram
La classe TorqueTelegram correspond à un télégramme de l'objet entraînement. En cas
d'erreurs dans les attributs d'écriture,
l'exception EngineeringTargetInvocationException apparaît.
Namespace : Siemens.Engineering.MC.Drives
Assembly : Siemens.Engineering.MC.Drives in Siemens.Engineering.dll
Le tableau suivant décrit les propriétés de la classe :
Les exemples de code suivants décrivent la procédure de base pour différents cas
d'application. Le code n'est pas nécessairement complet et compilable.
// dfi can be null in case of the actual driveobject does not support it.
Device s120Device =
tiaproject.Devices.CreateWithItem(@"OrderNumber:6SL3246-0BA22-1FA0/4.7.6/"
, "Device_0", null);
Device s120Device =
tiaproject.Devices.CreateWithItem(@"OrderNumber:6SL3040-1MA01-0Axx/V4.8/
S120", "Device_0", null);
//S device
Project project = portal.Projects.Open("..."); //Destination folder to
open the project
DeviceItem item = project.Devices[0].Items[0];
DriveObject driveObject =
item.GetService<DriveObjectContainer>().DriveObjects[0];
//S device
Project project = portal.Projects.Open("..."); //Destination folder to
open the project
DeviceItem item = project.Devices[0].Items[0];
OnlineDriveObject onlineDriveObject =
item.GetService<OnlineDriveObjectContainer>().OnlineDriveObjects[0];
// dfi can be null in case of the actual driveobject does not support it.
// driveObjectTypeHandler can be null, if the actual driveObject does not support it.
//Call the ChangeDriveObjectType method with the current drive object type.
//The method parameter should be the target drive object type.
driveObjectTypeHandler.ChangeDriveObjectType(possibleDriveObjectTypes[0]);
7.28.4.8 Téléchargement
Après le lancement du téléchargement, vous devez adapter ou confirmer les réglages de
configuration. Les réglages de configuration sont fournis en tant qu'objets enfants de
l'objet DownloadConfiguration et disponibles dans trois types distincts :
● StartDriveDownloadCheckConfiguration
● DownloadSelectionConfiguration
● DownloadPasswordConfiguration
L'exemple suivant montre l'évaluation des différents types de réglages de configuration dans
PreDownload Delegate.
DownloadPasswordConfiguration downloadPasswordConfiguration =
configuration as DownloadPasswordConfiguration;
if (downloadPasswordConfiguration != null)
{
SecureString s = new SecureString();
string passwordText = "password";
foreach (var str in passwordText)
{
s.AppendChar(str);
}
downloadPasswordConfiguration.SetPassword(s);
return;
}
DownloadSelectionConfiguration downloadSelectionConfiguration =
configuration as DownloadSelectionConfiguration;
if (downloadSelectionConfiguration != null)
{
downloadSelectionConfiguration.SelectedIndex = 0;
return;
}
}
ConnectionConfiguration connConfiguration =
downloadProvider.Configuration;
ConfigurationMode configurationMode = connConfiguration.Modes.Find("PN/
IE");
ConfigurationPcInterface pcInterface = configurationMode.PcInterfaces[0];
ConfigurationSubnet subnet = pcInterface.Subnets.Find(/*subnet name*/);
IConfiguration configuration = subnet.Addresses.Find(/*IP address of the
device*/);
downloadProvider.Download(configuration, pre, post,
DownloadOptions.Software);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
Device device =
tiaproject.Devices.CreateWithItem(@"OrderNumber:6SL3040-1MA01-0Axx/V4.8/
S120", "Device_0", null); //Create the device
NetworkPort subModulDQ =
((IEngineeringServiceProvider)subModulDQInterface.DeviceItems[0]).GetServi
ce<NetworkPort>(); //We need the DriveCliq port of the DQ interface from
the submodul
NetworkPort cuDQ =
((IEngineeringServiceProvider)cuDQInterface.DeviceItems[0]).GetService<Net
workPort>(); //We need the DriveCliq port of the DQ interface
from the CU
Régler le type de capteur ou le numéro d'enregistrement du capteur hors ligne via la configuration matérielle
using Siemens.Engineering.MC.Drives
using Siemens.Engineering.MC.Drives.DFI
using Siemens.Engineering.MC.Drives.Enums;
Régler le type de capteur ou le numéro d'enregistrement du capteur hors ligne via la configuration matérielle
DeviceItem cuDeviceItem = m_Device.DeviceItems[1];
DriveObject cuDriveObject =
cuDeviceItem.GetService<DriveObjectContainer>().DriveObjects[0];
DriveFunctionInterface cuDriveFunctionInterface =
cuDriveObject.GetService<DriveFunctionInterface>();
HardwareProjection hardwareProjection = cuDriveFunctionInterface.HardwareProjection;
hardwareProjection.SetEncoder(
EncoderInterface.Terminal,
EncoderType.HTLTTL,
AbsoluteIncrementalFlag.Incremental,
RotaryLinearFlag.Rotary,
1);
Régler le type de capteur ou le numéro d'enregistrement du capteur en ligne via la configuration matérielle
using Siemens.Engineering.MC.Drives
using Siemens.Engineering.MC.Drives.DFI
using Siemens.Engineering.MC.Drives.Enums;
Régler le type de capteur ou le numéro d'enregistrement du capteur en ligne via la configuration matérielle
DeviceItem cuDeviceItem = m_Device.DeviceItems[1];
OnlineDriveObject cuOnlineDriveObject =
cuDeviceItem.GetService<OnlineDriveObjectContainer>().OnlineDriveObjects[0];
OnlineDriveFunctionInterface cuDriveFunctionInterface =
cuOnlineDriveObject.GetService<OnlineDriveFunctionInterface>();
HardwareProjection hardwareProjection = cuDriveFunctionInterface.HardwareProjection;
hardwareProjection.SetEncoder(
EncoderInterface.Terminal,
EncoderType.HTLTTL,
AbsoluteIncrementalFlag.Incremental,
RotaryLinearFlag.Rotary,
1);
encoderProjection.SetEncoder(
EncoderInterface.Terminal,
EncoderType.HTLTTL,
AbsoluteIncrementalFlag.Incremental,
RotaryLinearFlag.Rotary,
1);
EncoderConfiguration encoderConfiguration =
encoderProjection.GetCurrentEncoderConfiguration(1);
L'exemple suivant montre comment définir hors ligne la configuration actuelle du capteur.
DriveObject cuDriveObject =
cuDeviceItem.GetService<DriveObjectContainer>().DriveObjects[0];
DriveFunctionInterface cuDriveFunctionInterface =
cuDriveObject.GetService<DriveFunctionInterface>();
HardwareProjection hardwareProjection = cuDriveFunctionInterface.HardwareProjection;
hardwareProjection.SetEncoder(
EncoderInterface.Terminal,
EncoderType.HTLTTL,
AbsoluteIncrementalFlag.Incremental,
RotaryLinearFlag.Rotary,
1);
// GoOnline...
// To use these function in Online, you have to use the OnlineDriveFunctionInterface
OnlineDriveObject onlineDriveObject =
cuDeviceItem.GetService<OnlineDriveObjectContainer>().OnlineDriveObjects[0];
OnlineDriveFunctionInterface onlineDfi =
onlineDriveObject.GetService<OnlineDriveFunctionInterface>();
HardwareProjection hardwareProjection = onlineDfi.HardwareProjection;
hardwareProjection.SetEncoder(
EncoderInterface.Terminal,
EncoderType.HTLTTL,
AbsoluteIncrementalFlag.Incremental,
RotaryLinearFlag.Rotary,
1);
Effectuer une configuration de l'appareil hors ligne pour les groupes d'entraînement S120 ou G120
using Siemens.Engineering.MC.Drives
using Siemens.Engineering.MC.Drives.DFI
using Siemens.Engineering.MC.Drives.Enums;
DriveObject driveObject = ...
DriveFunctionInterface dfi = driveObject.GetService<DriveFunctionInterface>();
HardwareProjection hardwareProjection = dfi.HardwareProjection;
// dfi can be null in case of the actual driveobject does not support it.
// hardwareProjection can be null, if the actual driveObject does not support it.
// For example: On G120 drives, you have to use the CU as driveobject. On S120
// drives, you have to use the MotorModul as driveObject.
L'exemple suivant montre comment effectuer en ligne une configuration de l'appareil pour les
entraînements G120.
Effectuer une configuration de l'appareil en ligne pour les groupes d'entraînement G120
using Siemens.Engineering.MC.Drives
using Siemens.Engineering.MC.Drives.DFI
using Siemens.Engineering.MC.Drives.Enums;
OnlineDriveObject onlineDriveObject = ...
OnlineDriveFunctionInterface onlineDfi =
onlineDriveObject.GetService<OnlineDriveFunctionInterface>();
HardwareProjection hardwareProjection = onlineDfi.HardwareProjection;
Les exemples suivants montrent comment lire le type de moteur pour les entraînements G120
depuis l'entraînement :
L'exemple suivant montre comment effectuer une configuration de moteur pour les
entraînements G120 :
config.RequiredConfigurationEntries.ToList().ForEach(ce =>
{
switch (ce.Number)
{
case 305:
ce.Value = 20;
break;
case 307:
ce.Value = 30;
break;
case 311:
ce.Value = 200;
break;
case 304:
ce.Value = 450;
break;
case 310:
ce.Value = 50;
break;
case 335:
ce.Value = 1;
break;
default:
break;
}
});
bool result =
cuDriveFunctionInterface.HardwareProjection.ProjectMotorConfiguration(config, 0);
// For example: On G120 and S210 drives, you have to use the CU to get the
onlineDriveObject.
// Please, pay attention at S120 drives. Here you can use any module (CU, MotorModul,
lineModul) as onlineDriveObject but preferable the CU, because it will run on CU!
L'exemple suivant montre, pour les entraînements S120, S210 ou G120, comment copier le
paramétrage de la RAM vers la ROM pour ainsi l'enregistrer en mémoire non volatile.
//In case of S120 and S210 device you should generally get the CU driveobject.
DeviceItem cuDeviceItem = m_Device.DeviceItems[0];OnlineDriveObject cuDriveObject =
cuDeviceItem.GetService<OnlineDriveObjectContainer>().OnlineDriveObjects[0];
safetyTgrm.SetAttribute("Failsafe_FMonitoringtime", 300);
7.29.1 Introduction
TIA Portal-Openness permet d'automatiser l'ingénierie de vos programmes que vous piloterez
via TIA Portal.
Vous trouverez dans cette aide des informations et des exemples de code pour ce programme
que vous créez. Il est également possible de créer et d'utiliser des programmes pour
l'application TIA Portal "DCC".
Avant de compiler un programme unique pour DCC à partir des exemples de codes énumérés
ci-dessous, prenez connaissances des informations générales sur Openness, présentes dans
cette aide sous les mots clés suivants :
● Conditions pour TIA Portal Openness
● Installation de TIA Portal Openness
● Accès à TIA Portal
● Modèle d'objet TIA Portal Openness
● Étapes de programmation
Introduction
TIA Portal Openness V16 permet de programmer des applications qui automatisent l'ingénierie
dans TIA Portal.
Remarque
Sous-diagrammes
Les diagrammes qui contiennent des sous-diagrammes peuvent être importés avec
Openness. Néanmoins, il n'est pas possible d'accéder aux sous-diagrammes avec Openness.
Plus d'informations
Voir système d'information TIA "Openness : automatisation de la création de projet".
Vue d'ensemble
Le diagramme suivant décrit le modèle d'objet DCC Openness :
7.29.4 Références
7.29.4.1 DriveControlChartContainer
DriveParameter
DriveControlChartContainer est un service qui représente le conteneur de diagrammes DCC
sous un DriveObject de sorte qu'il puisse être appelé depuis le DriveObject correspondant. Si
le DriveObject ne provient pas d'un appareil pris en charge, le service n'est pas disponible.
7.29.4.2 DriveControlChartComposition
Propriétés de DriveControlChartComposition
DriveControlChartComposition montre une liste des diagrammes disponibles.
Voir aussi
Exceptions DriveControlChartComposition (Page 764)
DccImportResultData (Page 755)
DriveControlChart (Page 755)
DccImportOptions (Page 755)
7.29.4.3 DccImportOptions
DccImportOptions
Les réglages suivants sont possibles pour importer des diagrammes :
● DccImportOptions.None :
L'importation est réussie s'il n'y a pas de conflit de nom. Sinon, l'exception
DccImportChartWithSameNameAlreadyAvailableException est émise.
● DccImportOptions.RenameOnConflict :
S'il y a un conflit de nom des diagrammes, le nouveau diagramme importé reçoit un nom qui
est automatiquement généré par CFC. Si, par exemple, le diagramme nommé CFC_1
existe déjà au moment de l'importation, le nouveau diagramme importé est nommé CFC_2.
Voir aussi
DriveControlChartComposition (Page 754)
7.29.4.4 DccImportResultData
DriveParameter
DccImportResultData contient des informations relatives au résultat d'une importation de
diagrammes.
Voir aussi
DriveControlChartComposition (Page 754)
7.29.4.5 DriveControlChart
DriveControlChart Features
DriveControlChart correspond à un diagramme dans le conteneur de diagrammes (les sous-
diagrammes ne sont pas pris en charge par Openness).
Voir aussi
Exceptions DriveControlChart (Page 764)
DriveControlChartComposition (Page 754)
Supprimer des diagrammes (Page 760)
ImportDCBextensionlibrary
Le tableau suivant décrit les méthodes de ImportDCBextensionlibrary :
7.29.5.1 Généralités
Les exemples de code suivants décrivent la procédure de base pour différents cas
d'application. Le code n'est pas nécessairement complet et compilable.
Accès à DriveControlChartContainer
using Siemens.Engineering.MC.Drives;
using Siemens.Engineering.MC.Drives.DCC;
Project project = portal.Projects.Open("..."); //Destination folder to
open the project
DeviceItem item = project.Devices[0].Items[0];
DriveObject
driveObject = item.GetService<DriveObjectContainer>().DriveObjects[0];
DriveControlChartContainer
chartContainer = driveObject.GetService<DriveControlChartContainer>();
//chartContainer can be null in case the DriveObject does not support DCC.
// or looping...
foreach(DriveControlChart chart in charts)
{
...
}
try
{
DriveControlChartComposition charts = ...
DccImportResultData result = charts.Import(@"c:\Charts.dcc",
DccImportOptions.None);
}
catch (DccImportException exc)
{
}
Voir aussi
DCC Openness (Page 752)
try
{
DriveControlChart chart;
...
chart.Export(@"c:\CFC_1.dcc");
}
catch (DccExportException exc)
{
}
Voir aussi
DCC Openness (Page 752)
Voir aussi
DCC Openness (Page 752)
Voir aussi
DCC Openness (Page 752)
try
{
DriveControlChart chart;
...
chart.Delete();
}
{
}
Voir aussi
DCC Openness (Page 752)
DriveControlChart (Page 755)
try
{
DriveControlChart chart;
...
chart.OptimizeRunSequence();
}
catch (DccLicenseUnavailableException exc)
{
}
Voir aussi
DCC Openness (Page 752)
try
{
Project myProject;
...
myProject.ProjectLibrary.ImportDcbLibrary(@"c:\GMCV5_1_sinamics5_1_(5.1.15
).zip");
}
catch (DccImportException exc)
{
}
Voir aussi
DCC Openness (Page 752)
Si vous ne souhaitez pas examiner ou exploiter en détail les différentes causes des erreurs, la
solution la plus simple consiste à intercepter l'exception générale DccException :
try
{
Project myProject;
…
myProject.ProjectLibrary.ImportDcbLibrary(@"c:\GMCV5_1_sinamics5_1_(5.1.15
).zip");
...
DriveControlChartContainer chartContainer = driveObject.GetService<DriveC
ontrolChartContainer>();
chartContainer.Charts.Import(@"d:\Charts.dcc", DccImportOptions.None);
}
catch (DccException exc)
{
}
Interceptez toutes les exceptions pertinentes si vous voulez varier la réaction en fonction du
type d'erreur :
try
{
DriveControlChartContainer
chartContainer = driveObject.GetService<DriveControlChartContainer>();
chartContainer.Charts.Import(@"d:\Charts.dcc", DccImportOptions.None);
}
catch (DccImportLibraryIsMissingException missingLibExc)
{
}
catch (DccImportChartWithSameNameAlreadyAvailableException sameNameExc)
{
}
catch (DccImportException exc)
{
}
catch (DccException exc)
{
}
Exceptions
Exceptions pouvant être émises lors d'une exportation :
● DccExportException :
Émise pour tout type d'erreur d'exportation.
Voir aussi
DriveControlChart (Page 755)
Exceptions
Exceptions émises lors de l'importation :
● DccImportException :
Exception d'importation générale émise par DCC en cas d'erreur d'importation.
● DccImportBlockCreationException :
Émise lorsqu'un groupe ne peut pas être créé lors d'une importation.
● DccImportBlockTypeNotFoundException :
Émise lorsqu'un type de groupe DCB référencé ne peut être trouvé ni dans une bibliothèque
DCB standard ni dans une bibliothèque DCB Extension.
● DccImportChartCreationException :
● émise lorsqu'un diagramme ne peut pas être créé lors d'une importation.
● DccImportChartWithSameNameAlreadyAvailableException :
Émise lorsque le conteneur de diagrammes contient déjà un diagramme du même nom et
que DccImportOptions.None est utilisé.
● DccImportLibraryIsMissingException :
Émise lorsqu'une bibliothèque DCB Extension référencée n'existe pas dans le projet.
● DccImportFileAlreadyInUseException :
Émise lorsqu'un fichier à importer est déjà utilisé par un autre processus.
● DccImportDcbTypeDifferentVersionAlreadyUsedException :
Émise lorsqu'un type DCB est déjà utilisé dans une autre version de la même bibliothèque
DCB Extension dans l'appareil.
Voir aussi
DriveControlChartComposition (Page 754)
Exceptions
Exceptions émises par ImportDcbLibrary :
● DccImportException :
Émise pour tout type d'erreur d'importation.
● DccLibraryImportAlreadyAvailableException :
Émise lorsqu'une bibliothèque DCB Extension de la même version existe déjà dans le
projet.
● DccLibraryImportCorruptedStudioLibraryException :
Émise lorsque le fichier zip de la bibliothèque DCB Extension est compromis et ne peut pas
être importé.
● DccLibraryImportIntegrityBrokenException :
Émise lorsque l'intégrité du fichier zip de la bibliothèque DCB Extension est compromise.
● DccLibraryImportOverallPinLimitExceededException :
Émise lorsque la bibliothèque DCB Extension contient un type DCB dont le nombre de
broches dépasse le nombre de broches maximal.
● DccLibraryImportStandardLibraryAlreadyAvailableException :
Émise lorsque la bibliothèque DCB Extension sélectionnée pour l'importation est la
bibliothèque DCB standard déjà existante.
● DccLibraryImportUnsupportedLibraryTypeException :
Émise lorsque la bibliothèque DCB Extension sélectionnée n'est pas prise en charge par
DCC et par les entraînements SINAMICS.
7.30 Exceptions
Exceptions en cas d'accès à TIA Portal via des API TIA Portal Openness
Lors de l'exécution d'une application TIA Portal Openness avec la TIA Portal Openness API,
toutes les erreurs qui se sont produites sont signalées comme des exceptions. Ces exceptions
contiennent des informations qui vous aident à éliminer les erreurs survenues.
Code de programme
L'exemple suivant montre les possibilités que vous avez pour réagir à des exceptions :
try
{
...
}
catch(EngineeringSecurityException engineeringSecurityException)
{
Console.WriteLine(engineeringSecurityException);
}
catch(EngineeringObjectDisposedException engineeringObjectDisposedException)
{
Console.WriteLine(engineeringObjectDisposedException.Message);
}
catch(EngineeringNotSupportedException engineeringNotSupportedException)
{
Console.WriteLine(engineeringNotSupportedException.MessageData.Text);
Console.WriteLine();
foreach(ExceptionMessageData detailMessageData in
engineeringNotSupportedException.DetailMessageData)
{
Console.WriteLine(detailMessageData.Text);
}
}
catch (EngineeringTargetInvocationException)
{
throw;
}
catch (EngineeringException)
{
//Do not catch general exceptions
throw;
}
catch(NonRecoverableException nonRecoverableException)
{
Console.WriteLine(nonRecoverableException.Message);
}
Introduction
L'exception personnalisée est un mécanisme utilisé par un développeur d'application
Openness pour définir de nombreuses exceptions relatives au traitement de scénarios d'erreur
afin d'assurer un traitement d'erreur fiable à long terme. Grâce à l'assistance de
CustomException, le développeur peut créer avec l'API Openness ses propres exceptions
personnalisées dans EOM à l'aide de EOM Designer. Les utilisateurs de l'API Openness
interceptent ensuite ces exceptions dans le code de l'API Openness, en plus des exceptions
prédéfinies. Les exceptions définies par l'utilisateur dans EOM doivent être jointes à une action
Openness, qui peut déclencher l'exception personnalisée correspondante, afin que vous
puissiez intercepter l'exception. Faute de quoi, une exception
EngineeringTargetInvocationException est déclenchée.
Affectation
Chaque EOM Modeler doit affecter l'exception ServerException, qui fait partie des exceptions
CustomException, à une exception serveur dans le composant client de sorte qu'une
CustomException soit déclenchée dans le code Openness correspondant à l'utilisateur de l'API
Openness lorsque le composant client déclenche l'exception serveur. L'exception serveur est
indiquée sous forme de nom complet de l'exception correspondante sur le serveur (composant
client). L'exception serveur définie dans le client doit être dérivée de
Siemens.Automation.CommonServices.UserExceptionBase.
Niveau de publication
Le niveau de publication pour CustomException ne doit pas être "Elevated" ou "System" et le
niveau de publication pour une exception système Openness doit être "Published".
Extensions
L'exception personnalisée que vous avez créée doit être dérivée de
EngineeringTargetInvocationException ou d'une dérivée de
EngineeringTargetInvocationException. EOM Designer offre des possibilités d'extension de
l'exception.
Règles
Pour EOM Modeler, EOM Designer affiche des erreurs générales et des erreurs de générateur
survenues lors de la génération de l'Engineering Assembly en cas de violation des règles dans
les scénarios suivants :
● Erreur :
– Le nom de l'exception personnalisée doit se terminer par "Exception". Exemple :
MaxCharactersExceededException
– Le modificateur d'accès d'une exception personnalisée doit être "Public".
– Il doit être dérivé de EngineeringTargetInvocationException ou d'une autre dérivée de
EngineeringTargetInvocationException.
– Une exception doit être affectée à ServerException afin que l'exception puisse être
déclenchée côté client. Sinon, l'exception sera disponible dans EOM mais ne pourra pas
être déclenchée par un composant.
– ServerException mise à disposition doit être unique.
– Le niveau de publication pour CustomException ne doit pas être "Elevated" ou "System".
● Info
– Lorsque l'exception déclenchable ("Throwable") est jointe à une action "Create", elle est
seulement utilisée à des fins de documentation de l'action "Create".
Ces règles ne s'appliquent qu'aux exceptions CustomException qui ont été créées par des
utilisateurs Openness. Exemple : SampleException.
Les règles décrites ci-dessus ne s'appliquent pas aux exceptions système Openness ci-après :
● EngineeringException
● EngineeringSecurityException
● EngineeringObjectDisposedException
● EngineeringNotSupportedException
● EngineeringTargetInvocationException
● EngineeringRuntimeException
● EngineeringOutOfMemoryException
● EngineeringUserAbortException
● EngineeringDelegateInvocationException
● NonRecoverableException
Lorsqu'une exception personnalisée est jointe à une action spécifique comme "Create" ou
"Delete", l'exception déclenchable est seulement utilisée à des fins de documentation pour
l'API. Si une exception personnalisée affectée dans EOM correspondant à l'exception du
composant client est présente côté EOM, vous avez la possibilité d'intercepter l'exception
CustomException pour des actions spécifiques (par ex. l'action "Create").
Remarque
● En cas d'incompatibilité entre les niveaux de publication de l'action EOM et l'exception
personnalisée, OPNS Designer affiche une erreur.
● Les erreurs de compatibilité de niveaux de publication entraînent l'échec de génération de
l'Engineering Assembly.
Introduction
Vous pouvez exporter certaines données de configuration puis les réimporter après édition,
soit dans le même projet, soit dans un autre.
Remarque
L'utilisation de cette description pour éditer et exploiter manuellement le fichier source
n'entraîne aucune obligation ni garantie d'aucune sorte. Siemens décline donc toute
responsabilité en cas d'utilisation de cette description ou de parties de cette description.
situés dans le projet cible, les références ouvertes ne peuvent pas être résolues. Aucun objet
supplémentaire n'est créé pour la résolution des références ouvertes.
Restrictions
Le format d'exportation est interne et n'est valable que pour la version actuelle de TIA Portal
Openness. Le format d'exportation peut être modifié pour les versions ultérieures.
Toutes les erreurs survenant au cours de l'importation ou de l'exportation sont signalées
comme des exceptions.
Pour plus d'informations sur les exceptions, veuillez vous référer au chapitre Traitement des
exceptions (Page 765).
Voir aussi
Domaine d'utilisation de l'importation/exportation (Page 776)
Exportation de données de configuration (Page 778)
Introduction
La fonction d'importation/exportation vous permet d'exporter certains objets de manière ciblée.
Vous pouvez éditer les données exportées avec un programme externe ou les réutiliser telles
quelles dans d'autres projets TIA Portal.
Si vous structurez correctement le fichier d'importation, vous pouvez également importer sans
exportation préalable des données de configuration créées en externe.
Remarque
L'importation de données de configuration créées en externe avec des erreurs de code ou de
structure erronée peut provoquer des erreurs inattendues.
Domaine d'application
Exporter et importer des données est utile pour les tâches suivantes :
● éditer des données de configuration en externe,
● importer des données de configuration générées en externe, telles que des listes de textes
et des variables,
● distribuer à différents projets des données de configuration prédéfinies, p. ex. une vue de
processus modifiée qui doit être utilisée dans plusieurs projets.
● Pour la réplication et l'adaptation de la configuration matérielle entre le projet TIA Portal et
un programme ECAD.
Voir aussi
Notions élémentaires sur l'importation/exportation (Page 773)
Application
L'importation SimaticML est utilisable avec toutes les versions à partir de TIA Portal Openness
V14 SP1. Vous pouvez importer vos anciens fichiers d'exportation au moins dans les deux
versions supérieures.
Chaque version de l'API Openness permet d'importer des fichiers SIMATIC-ML depuis la
version correspondante et depuis toute version antérieure prise en charge. Par exemple,
l'importation de fichiers SIMATIC-ML V14 SP1, V15 et V15.1 dans Openness API V16 est prise
en charge.
Le tableau ci-après indique un exemple de quelle version de SIMATIC-ML est importée depuis
quelle version de l'API Openness.
Remarque
Si ces informations de version ne sont pas présentes dans le fichier SimaticML, le système
utilise la version de modèle actuelle.
Introduction
Pour éditer un fichier XML destiné à l'importation de données de configuration, vous utilisez un
éditeur XML ou un éditeur de texte.
Si vous effectuez des modifications importantes ou si vous créez vous-même des structures
d'objet, il est recommandé d'utiliser un éditeur XML disposant d'une fonction de complément
automatique.
Remarque
La modification du contenu XML requiert de solides connaissances de la structure et des règles
de validation dans XML. Evitez les erreurs de validation et ne modifiez manuellement la
structure XML qu'exceptionnellement.
Introduction
Les données de configuration sont à chaque fois exportées dans un fichier XML par objet de
départ (racine).
L'édition du fichier d'exportation requiert des connaissances en XML. Pour une édition
simplifiée, utilisez un éditeur XML.
Exemple
Vous avez une vue de processus qui contient un champ E/S. Une variable externe est
configurée pour ce champ E/S. Si vous exportez la vue de processus, la vue et le champ E/S
sont exportés. La variable et la liaison utilisée par la variable ne sont pas exportées, seule une
référence ouverte est exportée.
Remarque
L'exportation de types d'objet de la bibliothèque n'est pas prise en charge.
Vous pouvez créer des objets comme type dans la bibliothèque. Les instances du type d'objet
utilisées dans le projet peuvent être éditées avec l'application TIA Portal Openness comme
d'autres objets. Si vous exportez des objets, les instances sont exportées sans les informations
de type.
Si vous réimportez ces objets dans le projet, les instances des types d'objet sont écrasées et
l'instance est coupée du type d'objet.
Le fichier d'exportation ne contient pas nécessairement tous les attributs d'un objet. C'est vous
qui définissez les données à exporter :
● ExportOptions.None
Ce paramétrage n'exporte que les données modifiées ou différentes des données standard.
Le fichier d'exportation contient, de plus, toutes les valeurs obligatoires pour une
importation ultérieure des données.
● ExportOptions.WithDefaults1
De plus, les valeurs par défaut sont exportées.
● ExportOptions.WithReadOnly1
De plus, les valeurs protégées en écriture sont exportées.
1
: vous pouvez combiner ces deux options avec la syntaxe suivante :
Export(path,ExportOptions.WithDefaults |
ExportOptions.WithReadOnly);
Le contenu du fichier d'exportation est entièrement en anglais. Indépendamment de cela, les
textes de projet sont exportés et importés dans toutes les langues disponibles.
Dans le fichier d'exportation, les données de configuration sont toutes structurées comme
objets XML.
Voir aussi
Notions élémentaires sur l'importation/exportation (Page 773)
Exporter des blocs (Page 896)
Introduction
Les données de configuration sont importées depuis un fichier XML exporté au préalable et
édité ou bien depuis un fichier XML que vous créez vous-même. Les données contenues dans
ce fichier sont contrôlées lors de l'importation. Cela garantit que l'importation ne provoquera
pas une incohérence des données de configuration dans TIA Portal.
Restrictions
● Tous les objets racine dans le fichier d'importation doivent être du même type, par ex. tables
de variables, blocs, etc.
● Si plusieurs objets racine sont indiqués dans un fichier d'importation et que l'un de ces
objets n'est pas valide, le contenu du fichier d'importation n'est pas importé en entier.
● Lors de l'importation de textes, les langues du projet correspondantes doivent être
paramétrées dans le projet cible pour éviter que l'importation n'échoue. Si nécessaire, vous
pouvez modifier les paramètres linguistiques via TIA Portal Openness.
● Si vous indiquez, dans le fichier d'importation, des attributs d'un objet invalides non
éditables dans l'interface utilisateur graphique de TIA Portal, l'importation est annulée.
● Seul les pointeurs de zone sous "separately for each connection" peuvent être importés ou
exportés.
● L'importation de types d'objet de la bibliothèque n'est pas prise en charge. Vous pouvez
créer des objets comme type dans la bibliothèque. Les instances du type d'objet utilisées
dans le projet peuvent être éditées avec l'application TIA Portal Openness comme d'autres
objets. Si vous exportez des objets, les instances sont exportées sans les informations de
type. Si vous réimportez ces objets dans le projet, les instances des types d'objet sont
écrasées et l'instance est coupée du type d'objet.
● L'importation de blocs de sécurité n'est pas prise en charge.
Remarque
Plages de valeurs pour les attributs graphiques en fonction de l'appareil
Si les valeurs d'attributs graphiques se situent en dehors de la plage de valeurs valide, ces
valeurs sont remises aux valeurs maximales possibles pour l'appareil IHM lors de l'importation.
Les paramétrages suivants peuvent être effectués pour définir le comportement d'importation :
● ImportOptions.None
Ce paramètre permet d'importer les données de configuration sans écrasement.
Si un objet existe déjà dans le projet lors de l'importation depuis un fichier XML, le processus
est annulé par une exception.
● ImportOptions.Override
Ce paramètre est utilisé pour l'importation des données de configuration avec écrasement
automatique.
Vous pouvez décider d'écraser les objets existants au sein du projet pendant l'importation.
Les objets pertinents sont supprimés du projet avant l'importation et recréés avec des
valeurs par défaut. Lors de l'importation, ces valeurs par défaut sont écrasées par des
valeurs issues de l'importation. Si l'objet existant et le nouvel objet ne sont pas dans le
même groupe, ces valeurs ne peuvent pas être écrasées. Pour éviter des conflits de noms,
l'importation est annulée et une exception est générée.
Voir aussi
Notions élémentaires sur l'importation/exportation (Page 773)
Introduction
L'exportation de données de configuration de TIA Portal vers le fichier XML ne contient pas de
graphique sélectionné ni de graphique référencé par un objet. Ils sont enregistrés séparément
lors de l'exportation. Dans le fichier XML, les graphiques sont référencés avec un chemin relatif
et le nom de fichier. Dans le fichier XML, une référence à un graphique est structurée comme
objet et contient, comme les autres objets, une liste d'attributs ainsi qu'une liste de liens le cas
échéant.
Lors de l'exportation de graphiques, un nouveau dossier est créé dans le dossier du fichier
d'exportation. Le nom du dossier est construit en connectant le nom du fichier XML avec des
"fichiers". Ce dossier contient les graphiques exportés. Si ce dossier existe déjà, un nouveau
dossier est créé, dont le nom est complété avec un numéro d'ordre.
Les graphiques sont enregistrés dans le même format de fichier que dans le projet. Le format
n'est ni modifié, ni converti, et la résolution ainsi que la profondeur de couleur restent
également inchangées.
L'identifiant "default" est utilisé comme extension de fichier pour la langue sélectionnée comme
langue par défaut.
Si le dossier contient déjà un fichier du même nom, le nom de fichier du graphique exporté est
complété par un numéro d'ordre.
Voir aussi
Notions élémentaires sur l'importation/exportation (Page 773)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Vous avez le choix entre exporter un graphique individuel ou exporter tous les graphiques de
la bibliothèque de graphiques d'un projet dans toutes les langues. Un fichier XML contenant
toutes les entrées du graphique du projet concernées est créé lors de l'exportation et référencé
avec les graphiques exportés. Les graphiques concernés sont stockés avec le fichier XML
dans le même répertoire du système de fichiers.
Pour que les graphiques exportés ("*.jpg", "*.bmp", "*.png", "*.ico" etc.) puissent être modifiés,
ces graphiques ne sont pas protégés en écriture.
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Un fichier XML est stocké avec les différentes versions linguistiques d'un graphique dans un
répertoire de votre système de fichiers.
Vous pouvez référencer tous les graphiques dans un chemin relatif de votre fichier XML.
Vous pouvez désormais importer toutes les versions linguistiques d'un graphique contenu
dans le fichier XML dans la bibliothèque de graphiques.
Veuillez également tenir compte de ce qui suit Importation de données de configuration
(Page 780).
Code du programme
Pour importer un ou plusieurs graphiques, modifiez le code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Dans TIA Portal, les textes de projet se trouvent sous le nœud "Langues et ressources" d'un
projet. Ces textes sont exportés dans un fichier *.xlsx qui peut, par exemple, être utilisé pour
des traductions. Les restrictions valables pour l'interface utilisateur s'appliquent également à
l'exportation et l'importation de textes de projet. Restrictions valables :
● Les textes exportés peuvent être importés uniquement dans le projet dont ils ont été
exportés.
● Les textes ne peuvent être traduits que dans les langues existant dans le projet. Si
nécessaire, vous pouvez ajouter des langues du projet via TIA Portal Openness.
● Seuls les textes existants peuvent être réimportés. Une fois que des textes ont été
supprimés du projet d'origine ou créés à nouveau, l'importation de ces textes échoue.
Vous devez définir les paramètres suivants :
Remarque
Les textes multilingues sont exportés avec l'objet de niveau supérieur auquel ils appartiennent.
Les textes multilingues ne peuvent pas être exportés de manière explicite.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Dans TIA Portal, les textes de projet se trouvent sous le nœud "Langues et ressources" d'un
projet. Vous pouvez importer des textes de projet d'un fichier *.xlsx, ce qui peut servir à des fins
de traduction, par exemple. Les restrictions valables pour l'interface utilisateur s'appliquent
également à l'exportation et l'importation de textes de projet. Restrictions valables :
● Les textes exportés peuvent être importés uniquement dans le projet dont ils ont été
exportés.
● Les textes traduits peuvent être importés uniquement dans les langues disponibles dans le
projet dont ils ont été exportés.
● Seuls les textes existants peuvent être réimportés. Une fois que des textes ont été
supprimés du projet d'origine ou créés à nouveau, l'importation de ces textes échoue.
Vous devez définir les paramètres suivants :
Remarque
Les textes multilingues sont importés avec l'objet de niveau supérieur auquel ils appartiennent.
Les textes multilingues ne peuvent pas être importés de manière explicite.
Code de programme
Des paramètres de l'exemple utilisé, il résulte le code de programme suivant pour l'importation
de textes de projet :
L'importation de textes de projet fournit en retour un objet qui affiche l'état de l'importation et
indique le chemin où le journal d'importation est enregistré. Pour accéder à ces attributs, vous
pouvez utiliser les codes suivants :
Introduction
Les données du fichier d'exportation issues de l'importation/exportation sont organisées au
moyen d'une structure de base.
,QIRUPDWLRQV
VXUOH
GRFXPHQW
2EMHWJUDSKLTXH
+PL6FUHHQ6FUHHQ,' ಯಯ!
$WWULEXWH/LVW!
$FWLYH/D\HU!$FWLYH/D\HU!
$WWULEXWVGH
%DFN&RORU!%DFN&RORU!
O
REMHWJUDSKLTXH
1DPH!6FUHHQB1DPH!
$WWULEXWH/LVW!
/LQN/LVW!
2EMHWJUDSKLTXH /LHQVGH 7HPSODWH7DUJHW,' ಯ#2SHQ/LQNಯ!
O
REMHWJUDSKLTXHYHUV 1DPH!7HPSODWHB1DPH!
G
DXWUHVREMHWV 7HPSODWH!
/LQN/LVW!
2EMHFW/LVW!
2EMHWV
VXERUGRQQ«V 2EMHFW/LVW!
+PL6FUHHQ6FUHHQ!
Voir aussi
Notions élémentaires sur l'importation/exportation (Page 773)
Objets
La structure de base est la même pour tous les objets.
Chaque objet du fichier XML débute par son type, p. ex. "Hmi.Screen.Button" et un ID. L'ID est
automatiquement générée durant l'exportation.
Attributs
Chaque objet comprend des attributs qui sont contenus dans une section appelée
"AttributeList". Chaque attribut est structuré comme élément XML, p. ex. "BackColor". La
valeur d'un attribut est structurée comme contenu XML, p. ex "204, 204, 204".
Pour référencer des objets, chaque objet reçoit au besoin une section appelée "LinkList". Cette
section contient des liaisons à d'autres objets à l'intérieur ou à l'extérieur du fichier XML.
Chaque liaison est structurée comme élément XML. La désignation d'une liaison est prédéfinie
par l'objet cible dans le fichier modèle. Chaque liaison comprend également l'attribut
"TargetID". Si l'objet cible se trouve dans le fichier XML, la valeur de l'attribut "TargetID" est l'ID
de l'objet référencé, précédé de dièse "#". Si l'objet cible ne se trouve pas dans le fichier XML,
la valeur de l'attribut "TargetID" est égale à "@OpenLink". La référence à l'objet proprement
dite est structurée comme un élément XML subordonné.
8.3.3 Cycles
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
L'interface TIA Portal Openness API prend en charge l'exportation de tous les cycles d'un
appareil IHM connu vers un fichier XML. La génération du fichier d'export correspondant
indique que l'export est terminé.
Code du programme
Pour exporter des cycles d'un appareil IHM vers un fichier XML, modifiez le code de
programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Si vous utilisez ImportOptions.None, le numéro de la composition (Composition count)
vous permet de détecter les cycles effectivement importés. Vous avez accès à ces cycles
importés.
Remarque
Les cycles standard ont des attributs qui ne peuvent être édités dans l'interface utilisateur. Si
vous indiquez dans le fichier d'importation que ces attributs doivent être modifiés, l'importation
déclenche une NonRecoverableException et ferme TIA Portal.
Code du programme
Pour importer un cycle ou plusieurs cycles dans un appareil IHM depuis un fichier XML,
modifiez le code de programme suivant :
Voir aussi
Importation de données de configuration (Page 780)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une liaison à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouverture d'un projet (Page 109)
Utilisation
Un fichier XML est exporté par table de variables IHM. L'API prend en charge ce processus
d'exportation. L'exportation de tables de variables est aussi disponible dans les sous-dossiers.
Code du programme : Exporter toutes les tables de variables IHM à partir d'un dossier indiqué
Pour exporter toutes les tables de variables IHM d'un dossier défini, modifiez le code de
programme suivant :
if (table != null)
{
FileInfo info = new FileInfo(string.Format(@"C:\OpennessSamples\TagTables\{0}.xml",
table.Name));
table.Export(info, ExportOptions.WithDefaults);
}
}
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une liaison à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouverture d'un projet (Page 109)
Code du programme
Pour importer la table de variables IHM d'un fichier XML dans un dossier personnalisé ou un
dossier système, modifiez le code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une liaison à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouverture d'un projet (Page 109)
Utilisation
Les types d'objet de modèle d'objet suivants peuvent exister sous la forme d'éléments
subordonnés d'une variable HMI et sont pris en compte à l'exportation :
Code du programme
Pour exporter une seule variable d'une table de variables IHM vers un fichier XML, modifiez le
code de programme suivant :
if (myTag != null)
{
FileInfo info = new FileInfo(string.Format(@"C:\OpennessSamples\Tags\{0}.xml",
myTag.Name));
myTag.Export(info, ExportOptions.WithDefaults);
}
}
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une liaison à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouverture d'un projet (Page 109)
Utilisation
Les types d'objet de modèle d'objet suivants peuvent exister sous la forme d'éléments
subordonnés d'une variable HMI et être pris en compte à l'importation :
Code du programme
Pour importer une variable IHM dans une table de variables IHM depuis un fichier XML,
modifiez le code de programme suivant :
Introduction
L'exportation/importation des variables IHM suivantes présentent des particularités :
● Variables IHM externes avec liaison intégrée
● Variables IHM avec le type de données "UDT"
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une liaison à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Pour importer une variable IHM du type de données "UDT", utilisez la structure XML suivante :
8.3.5 Scripts VB
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Tous les dossiers personnalisés de niveau inférieur sont pris en compte au cours de
l'exportation. Pour chaque script VB exporté est créé un fichier XML spécifique.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Pour chaque script VB exporté est créé un fichier XML spécifique.
Code du programme : Exporter tous les scripts VB à partir d'un dossier système
Pour exporter tous les scripts VB du dossier système, modifiez le code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Les importations groupées sont prises en charge : Sinon, vous pouvez aussi utiliser un code de
programme avec une boucle Foreach (Exporter des scripts VB (Page 802)).
Code du programme
Pour importer un script VB dans un appareil IHM depuis un fichier XML, modifiez le code de
programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
L'exportation de listes de textes et de graphiques inclut toutes les entrées des listes. Les listes
de textes et de graphiques peuvent être exportées séparément.
Les listes de textes d'un appareil IHM sont exportées. Pour chaque liste de textes exportée, un
fichier XML spécifique est créé.
Code du programme
Pour exporter des listes de textes d'un appareil IHM, modifiez le code de programme suivant :
//Export TextLists
private static void ExportTextLists(HmiTarget hmitarget)
{
TextListComposition text = hmitarget.TextLists;
foreach (TextList textList in text)
{
FileInfo info = new FileInfo(string.Format(@"D:\Samples\Export\{0}.xml",
textList.Name);
textList.Export(info, ExportOptions.WithDefaults);
}
}
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
L'interface API prend en charge l'importation d'une liste de textes dans un appareil IHM depuis
un fichier XML.
Code du programme
Pour importer une liste de textes dans un appareil IHM depuis un fichier XML, modifiez le code
de programme suivant :
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une liaison à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● Exportation standard de listes de textes
Voir Exporter des listes de textes à partir d'un pupitre opérateur (Page 805)
● Importation standard de listes de textes
Voir Importer des listes de textes dans un pupitre opérateur (Page 806)
Utilisation
Une liste de textes peut aussi contenir des textes formatés Cela concerne pour l'essentiel les
formatages suivants :
● Formatage de texte
● Références aux autres objets dans le texte
Les formatages textuels purs dans une liste de textes à exporter conduisent à un format
d'exportation XML étendu. Les références aux objets sont exprimés sous la forme d'Open
Links. De même que les listes de textes à importer avec des textes formatés.
Les formats d'exportation XML étendus peuvent aussi nettement se complexifier. A titre
d'exemple, d'autres liens que le seul nom de l'objet peuvent parfois exister dans la liste de
textes, p. ex. via un Open Link vers une variable API d'un autre appareil. Si tel est le cas, toutes
les informations doivent être codées en une chaîne de caractères pour supprimer l'Open Link.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
L'exportation de listes de textes et de graphiques inclut toutes les entrées des listes. Les listes
de textes et de graphiques peuvent être exportées séparément.
Un fichier XML est créé par liste de graphiques. Les objets graphiques globaux contenus dans
les listes de graphiques sont exportés sous la forme d'Open Links.
Code du programme
Pour exporter des listes de graphiques d'un pupitre opérateur, modifiez le code de programme
suivant :
//Exports GraphicLists
private static void ExportGraphicLists(HmiTarget hmitarget)
{
GraphicListComposition graphic = hmitarget.GraphicLists;
foreach (GraphicList graphicList in graphic)
{
FileInfo info = new FileInfo(string.Format(@"D:\Samples\Export\{0}.xml",
graphicList.Name));
graphicList.Export(info, ExportOptions.WithDefaults);
}
}
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
L'interface API prend en charge l'importation d'une liste de graphiques dans un appareil IHM
depuis un fichier XML.
Tous les objets graphiques référencés de la liste de graphiques sont inclus dans l'importation.
Les références aux graphiques globaux ne sont pas incluses. Si les graphiques globaux
référencés existent dans le projet cible, les références aux graphiques globaux sont rétablies
lors de l'importation.
Code du programme
Pour importer une liste de graphiques dans un appareil IHM depuis un fichier XML, modifiez le
code de programme suivant :
8.3.8 Connexions
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une liaison à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouverture d'un projet (Page 109)
Utilisation
L'interface API prend en charge l'exportation de toutes les liaisons d'un appareil IHM vers un
fichier XML.
Remarque
Exporter des connexions intégrées
L'exportation de connexions intégrées n'est pas prise en charge.
Code du programme
Pour exporter toutes les connexions d'un appareil IHM vers un fichier XML, modifiez le code de
programme suivant :
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une liaison à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouverture d'un projet (Page 109)
Utilisation
L'interface API prend en charge l'importation de toutes les liaisons d'un appareil IHM dans un
appareil IHM depuis un fichier XML. Si vous souhaitez importer plusieurs liaisons de
communication, importez à chaque fois le fichier XML pour la connexion correspondante.
Remarque
Si vous importez une liaison dans un projet dans lequel une liaison intégrée est déjà configurée,
cette liaison n'est pas écrasée. L'importation est annulée et une Exception est déclenchée.
Code du programme
Pour importer une seule liaison d'un appareil IHM dans un appareil IHM depuis un fichier XML,
modifiez le code de programme suivant :
8.3.9 Vues
Utilisation
Vous pouvez exporter et importer les vues suivantes par le biais d'API TIA Portal Openness :
Vous pouvez exporter ou importer les objets de vue suivants par le biais d'API TIA Portal
Openness :
Voir aussi
Notions élémentaires sur l'importation/exportation (Page 773)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Un autre code de programme est nécessaire pour exporter toutes les vues agrégées de tous
les dossiers personnalisés d'un appareil IHM.
Code du programme : exporter toutes les vues d'un appareil quel que soit l'utilisateur
Pour exporter toutes les vues, modifiez le code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Les données suivantes d'une vue sont exportées :
Vue Données
Attributs ActiveLayer, BackColor, Height, Width, Name, Number, HelpText
Ouvrir des liens Template
Compositions ● Layers
● Animations
Toutes les animations basées sur Runtime Advanced configurées sont ex‐
portées.
● Events
Tous les événement basés sur Runtime Advanced configurés sont exportés.
● Softkeys
Toutes les touches programmables configurées sont exportées.
Remarque
le nom de la couche dans TIA Portal est un texte vide par défaut.
Si vous ne modifiez pas le nom de la couche dans TIA Portal, le nom de la couche exportée est
vide. Dans ce cas, le nom de la couche affiché dans TIA Portal dépend de la langue de
l'interface utilisateur.
Si vous modifiez le nom de la couche dans TIA Portal, le nom modifié sera affiché dans toutes
les langues correspondantes.
Couche Données
Attributs Name, Index, VisibleES
Compositions ScreenItems (avec éléments graphique)
Code du programme
Pour exporter une seule vue à partir du dossier utilisateur ou du dossier système d'un appareil
IHM, modifiez le code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Les vues ne peuvent être importées que dans un type donné d'appareil IHM. L'appareil IHM et
l'appareil à partir duquel les vues ont été exportées sont du même type d'appareil.
Les données suivantes d'une vue sont exportées :
Vue Données
Attributs ActiveLayer, BackColor, Height, Width, Name, Number, HelpText
Ouvrir des liens Templates
Compositions ● Layers
● Animations
Toutes les animations configurables pour des vues sont importées.
● Events
Toutes les animations configurables pour des événements sont importées.
● Softkeys
Toutes les animations configurables pour des touches programmables sont
importées.
Remarque
Si vous avez indiqué un texte vide pour le nom de la couche avant l'importation, le nom de la
couche affiché dans TIA Portal dépend de la langue de l'interface utilisateur après l'importation.
Si vous avez attribué un nom à la couche, le nom indiqué est affiché dans toutes les langues
correspondantes après l'importation.
Couche Données
Attributs Name, Index
Compositions ScreenItems
Restrictions
● Lorsque la largeur et la hauteur d'une vue ne correspondent pas aux dimensions de
l'appareil, le processus d'importation est interrompu et une Exception est déclenchée.
L'ajustement des éléments graphiques compris n'est pas pris en charge. C'est pourquoi,
certains éléments graphiques peuvent se trouver en-dehors des limites de la vue. Si tel est
le cas, un avertissement du compilateur est émis.
● Le numéro de vue doit être univoque pour toutes les vues de l'appareil. L'importation d'une
vue est annulée si une vue avec un numéro de vue qui a déjà été créé dans l'appareil, est
trouvé. Si vous n'avez pas encore attribué de numéro à la vue, un numéro de vue univoque
est affecté à la vue pendant le processus d'importation.
● L'ordre des éléments graphiques au sein de l'ordre Z doit être univoque et sans lacunes
pour chaque couche dans la vue. C'est pourquoi une vérification de la cohérence, qui répare
l'ordre si nécessaire, est effectuée après l'importation de la vue. Ce processus peut
entraîner la modification d'"Indices de tabulation" pour certains éléments graphiques.
Vous pouvez modifier manuellement l'ordre Z des éléments graphiques dans le fichier XML.
L'élément graphique au premier emplacement se trouve tout à la fin de l'ordre Z.
Remarque
Vous pouvez modifier les valeurs de largeur et hauteur d'un élément graphique dans le fichier
XML si l'attribut "Adapter la taille au contenu" est activée pour l'élément graphique.
Remarque
L'importation de types de vue de la bibliothèque n'est pas prise en charge
À partir de WinCC V12 SP1, vous pouvez créer une vue en tant que type dans la bibliothèque.
Les instances du type de vue utilisées dans le projet peuvent être éditées avec l'application TIA
Portal Openness comme d'autres vues. Si vous exportez des vues, les instances des types de
vue sont exportées sans les informations de type.
Si vous réimportez ces vues dans le projet, les instances du type de vue sont écrasées et
l'instance est remplacée par le type de vue.
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Les données suivantes de la fenêtre permanente sont exportées :
Couche Données
Attributs Name, Index
Compositions ScreenItems (avec éléments graphiques)
Code du programme
Pour exporter une fenêtre permanente d'un appareil IHM vers un fichier XML, modifiez le code
de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Les données suivantes de la fenêtre permanente sont importées :
Couche Données
Attributs Name, Index
Compositions ScreenItems (avec éléments graphiques)
Lorsque la largeur et la hauteur d'une vue ne correspondent pas aux dimensions de l'appareil,
le processus d'importation est interrompu et une Exception est déclenchée. L'ajustement des
éléments d'appareil compris (éléments graphiques) n'est pas pris en charge. C'est pourquoi,
certains éléments d'appareil peuvent se trouver en-dehors des limites de la vue. Si tel est le
cas, un avertissement du compilateur est émis.
L'ordre des éléments d'appareil dans la fenêtre permanente doit être univoque et ne présenter
aucune lacune. C'est pourquoi une vérification de la cohérence, qui répare l'ordre si
nécessaire, est effectuée après l'importation de la fenêtre permanente. Ce processus peut
entraîner la modification d'"Indices de tabulation" pour certains éléments d'appareil.
Code du programme
Pour importer une fenêtre permanente dans un appareil IHM depuis un fichier XML, modifiez
le code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Un fichier XML est créé par modèle de vue.
Les exportations groupées n'étant pas prises en charge, vous devez énumérer tous les
modèles de vue et les exporter séparément. Ce faisant, veillez à ce que les noms utilisés pour
les modèles de vue correspondent aux conventions de dénomination de fichiers de votre
système de fichiers.
Code de programme : exporter tous les modèles de vue d'un dossier défini
Pour exporter tous les modèles de vue, modifiez le code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Les données suivantes du modèle de vue sont exportées :
Couche Données
Attributs Name, Index
Compositions ScreenItems (avec éléments graphiques)
Code du programme : exporter tous les modèles de vue d'un dossier personnalisé
Pour exporter tous les modèles de vue d'un certain dossier, modifiez le code de programme
suivant :
Code de programme : exporter tous les modèles de vue d'un dossier défini
Pour exporter tous les modèles de vue, modifiez le code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Les données suivantes d'un modèle de vue sont importées :
Couche Données
Attributs Name, Index
Compositions ScreenItems (avec éléments graphiques)
Lorsque la largeur et la hauteur d'un modèle de vue ne correspondent pas aux dimensions de
l'appareil, le processus d'importation est interrompu et une Exception est déclenchée.
L'ajustement des éléments graphiques compris n'est pas pris en charge. C'est pourquoi,
certains éléments graphiques peuvent se trouver en-dehors des limites de la vue. Si tel est le
cas, un avertissement du compilateur est émis.
L'ordre des éléments d'appareil dans le modèle de vue doit être univoque et ne présenter
aucune lacune. C'est pourquoi une vérification de la cohérence, qui répare l'ordre si
nécessaire, est effectuée après l'importation du modèle de vue. Ce processus peut entraîner
la modification d'"Indices de tabulation" pour certains éléments graphiques.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Les données suivantes de la vue contextuelle sont exportées :
Couche Données
Attributs Name, Index, VisibleES
Compositions ScreenItems
Tous les objets graphiques exportables sont exportés.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Les données suivantes de la vue contextuelle sont importées :
Couche Données
Attributs Name, Index, VisibleES
Compositions ScreenItems
Tous les objets graphiques importables sont importés.
Restrictions
Lorsque l'appareil ne prend pas en charge les vues contextuelles, le processus de copie est
annulé et une exception est déclenchée.
Lorsque la largeur et la hauteur d'une vue contextuelle ne correspondent pas aux dimensions
de l'appareil, le processus d'importation est interrompu et une Exception est déclenchée.
● Hauteur minimale = 1 pixel
● Largeur minimale = 1 pixel
● Hauteur maximale = six fois la hauteur de l'écran de l'appareil
● Largeur maximale = deux fois la largeur de l'écran de l'appareil
● Pour les appareils avec la version de Runtime V13 SP1, la hauteur et la largeur maximales
correspondent à la hauteur et à la largeur de l'écran de l'appareil.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Les données et valeurs suivantes de la vue Slide-in sont exportées :
Modèles de Données
vue
Attributs Activate false
ActiveLayer 0
BackColor (182 ; 182 ; 182)
GridColor (0, 0, 0)
Dimension 427
L'attribut "Dimension" indique soit la largeur, soit la hauteur
de la vue Slide-in, en fonction du type de vue encastrable.
LineColor1 (223 ; 223 ; 223)
LineColor2 (32 ; 32 ; 32)
OperatableAreaColor (128 ; 128 ; 128)
SlideinType En haut, en bas, à gauche, à droite
Les vues Slide-in n'ont pas de nom mais un SlideinType.
Visibility FadeOut
Compositions Layers
Remarque
Les vues Slide-in n'ont pas de nom mais un SlideinType.
Couche Données
Attributs Name,
Index
VisibleES
Compositions ScreenItems Tous les objets graphiques exportables sont exportés.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Les données et valeurs suivantes d'une vue Slide-in sont importées :
Couche Données
Attributs Name, Index, VisibleES
Compositions ScreenItems
Tous les objets graphiques importables sont importés.
Restrictions
● Lorsque l'appareil ne prend pas en charge les vues Slide-in, l'importation est annulée et une
exception est déclenchée.
● Si une vue Slide-in est référencée par un autre élément, celle-ci doit être référencée par
openlink et non par SlideinType, par ex. dans la fonction système "ShowSlideinScreen").
Le tableau suivant représente l'attribut "SlideinType" avec l'openlink correspondant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Les données suivantes d'une instance de bloc d'affichage sont exportées dans une vue :
Vue Données
Attributs Left, Top, Width, Height, ObjectName, Resizing, TabIndex, FaceplateTypeName
Attributs d'interfaces Tous les attributs d'interface configurés d'une instance de bloc d'affichage sont
exportés en tant qu'éléments graphiques exportables.
Compositions ● Animations
Toutes les images animées sont exportées.
Les animations de variables sont basées sur les attributs de l'interface.
● Événements
Tous les événements configurés sont exportés.
Tenez compte des consignes suivantes pour les attributs exportés d'instances de blocs
d'affichage :
● Resizing
L'attribut "Resizing" est exporté dans tous les cas, quelles que soient les options
d'exportation.
● FaceplateTypeName
L'attribut "FaceplateTypeName" identifie le type correspondant et la version du bloc
d'affichage, par ex. "Faceplate_1 V 0.0.2".
Remarque
Type de bloc d'affichage dans un dossier de bibliothèque
Si un type de bloc d'affichage se trouve dans un dossier de bibliothèque, vous avez besoin
du chemin et du nom complets pour identifier le type de bloc d'affichage. Le mot-clé "@$@"
est utilisé pour séparer les dossiers et/ou les noms des types de bloc d'affichage, par ex.
"Folder_1@$@SubFolder_1@$@Faceplate_1 V 0.0.2".
Les données suivantes d'éléments graphiques dans une instance de bloc d'affichage sont
exclues de l'exportation :
Code du programme
Pour exporter une seule vue avec une instance de bloc d'affichage, modifiez le code de
programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Les données suivantes d'une instance de bloc d'affichage sont importées sur une vue :
Vue Données
Attributs Left, Top, Width, Height, ObjectName, Resizing, TabIndex, FaceplateTypeName
Attributs d'interfaces Tous les attributs d'interface configurés d'une instance de bloc d'affichage sont
importés en tant qu'éléments graphiques importables.
Compositions ● Animations
Toutes les images animées sont importées.
Les animations de variables sont basées sur les attributs de l'interface.
● Événements
Tous les événement configurés sont importés.
Les données suivantes d'éléments graphiques dans une instance de bloc d'affichage sont
exclues de l'exportation et de l'importation :
Restrictions
● Bloc d'affichage, événement ou attribut de l'interface inconnu
Si un faceplate type name, un event name ou un interface attribute name n'existant pas
dans le projet est indiqué dans le fichier d'importation, l'importation est annulée et une
exception est déclenchée.
● Comportement de mise à l'échelle d'une instance de bloc d'affichage
L'attribut "Resizing" est importé dans tous les cas, quelles que soient les options
d'exportation.
Exemples :
Si "Resizing" est réglé sur "KeepRatio", l'attribut "Height" est utilisé pour calculer la valeur
d'attribut "Width".
– La taille d'un type de bloc d'affichage est de 100 x 100 pixels. Si une instance de bloc
d'affichage ayant une taille de 300 x 100 pixels est importée et que la valeur "FixedSize"
est paramétrée sur l'attribut "Resizing", l'importation est réussie et la taille du bloc
d'affichage est réglée sur 100 x 100 pixels.
– La taille d'un type de bloc d'affichage est de 100 x 50 pixels. Si une instance de bloc
d'affichage ayant une taille de 100 x 100 pixels est importée et que la valeur "KeepRatio"
est paramétrée sur l'attribut "Resizing", l'importation est réussie et la taille du bloc
d'affichage est réglée sur 200 x 100 pixels.
Remarque
Comportement de mise à l'échelle des instances de bloc d'affichage importées
Les valeurs de "Resizing" et les valeurs des attributs d'interface peuvent influer sur la taille
des instances de bloc d'affichage importées et même sur la taille des éléments graphiques
qui y sont incorporés.
Pour éviter toute modification intempestive de la mise en forme d'une instance de bloc
d'affichage, importez-la dans sa taille initiale et sans les valeurs d'attribut "Width" et
"Height".
Code du programme : Importer des images avec une instance de bloc d'affichage
Pour importer une vue avec une instance de bloc d'affichage, modifiez le code de programme
suivant :
Conditions :
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une connexion à TIA Portal
● Vous avez ouvert un projet avec votre application TIA Portal Openness.
Voir Ouvrir un projet
Application
Avec TIA Portal Openness, vous pouvez exporter la table de visualisation et la table de forçage
permanent depuis TIA Portal dans SIMATIC ML et importer la table de visualisation et la table
de forçage depuis SIMATIC ML.
Code de programme : Exporter une table de visualisation et une table de forçage permanent
Vous pouvez modifier le code de programme suivant pour exporter la table de visualisation :
SoftwareContainer softwareContainer =
((IEngineeringServiceProvider)item).GetService<SoftwareContainer>();
PlcSoftware plcSoftware = softwareContainer.Software as PlcSoftware;
PlcWatchTableComposition exportWatchTables =
plcSoftware.PlcWatchAndForceTableGroup.WatchTables;
PlcWatchTable watchTable = exportWatchTables.Find(watchTableName);
if(watchTable != null)
{
watchTable.Export((FileInfo) fileInfo, ExportOptions.None);
}
Remarque
Les options d'exportation doivent être paramétrées dans la table de visualisation (None,
WithDefaults, WithReadOnly, WithDefaultsAndReadOnly). Une table de visualisation possède
une seule propriété publiée, son nom. Il est publié à la lecture.
Vous pouvez modifier le code de programme suivant pour exporter la table de forçage
permanent :
SoftwareContainer softwareContainer =
((IEngineeringServiceProvider)item).GetService<SoftwareContainer>();
PlcSoftware plcSoftware = softwareContainer.Software as PlcSoftware;
PlcForceTableComposition exportForceTables =
plcSoftware.PlcWatchAndForceTableGroup.ForceTables;
PlcForceTable forceTable = exportForceTables[0];
forceTable.Export((FileInfo) fileInfo, ExportOptions.None);
Remarque
Dans chaque situation, il n'existe qu'une seule table de forçage permanent, dont le nom est
protégé en écriture.
Code de programme : Importer une table de visualisation et une table de forçage permanent
Vous pouvez modifier le code de programme suivant pour importer la table de visualisation :
SoftwareContainer softwareContainer =
((IEngineeringServiceProvider)item).GetService<SoftwareContainer>();
PlcSoftware plcSoftware = softwareContainer.Software as PlcSoftware;
PlcWatchTableComposition importWatchTables =
plcSoftware.PlcWatchAndForceTableGroup.WatchTables;
IList<PlcWatchTable> WatchTables = importWatchTables.Import((FileInfo)fileInfo,
ImportOptions.None);
Remarque
La table de visualisation importée est ajoutée à la liste des tables de visualisation. Dans la table
de visualisation, les options d'importation requises doivent être paramétrées (None, Override).
Les tables de forçage permanent peuvent être importées de la même façon, cependant, une et
une seule table de forçage permanent est autorisée. Si, à la place de Override, vous utilisez
l'option None et qu'une table de forçage permanent (non vide) est présente, l'importation
échoue avec l'exception suivante RecoverableException: : Une seule table de forçage
permanent peut être importée. Utilisez l'option d'importation Override, pour écraser la table
existante.
8.5.1 Blocs
Principe de base
Les données du fichier d'exportation issues de l'importation/exportation sont organisées au
moyen d'une structure de base. Chaque fichier d'importation doit répondre aux conditions
structurelles de base.
Le fichier d'exportation contient toutes les variables et constantes traitées de la section
d'interface d'un bloc exporté. Tous les attributs avec "ReadOnly = "TRUE"" et "Informative
= "TRUE"" sont exclus.
Quand les informations sont redondantes, elles doivent être identiques dans le fichier XML
d'importation et dans le fichier de projet. Autrement, l'importation lance une exception
récupérable.
Les données de projet contiennent plus de données que le fichier XML d'importation, par ex.
un type externe peut avoir des membres supplémentaires.
Seules les valeurs accessibles en écriture peuvent être importées via TIA Portal Openness
XML.
En fonction des paramètres d'exportation réglés dans TIA Portal Openness, le fichier
d'exportation contient un jeu déterminé d'attributs et d'éléments. Le fichier XML exporté avec
des versions ultérieures du produit n'est pas compatible avec la procédure d'importation dans
des versions antérieures de TIA Portal.
Structure de base
La section d'interface d'un bloc exporté est contenue dans l'élément <Interface> dans la
SimaticML d'un bloc. L'objet racine est l'élément <Sections> qui représente la section
d'interface d'un bloc exporté. Dans la description ci-dessous, les éléments figurent dans l'ordre
requis pour le fichier de saisie.
● Section
La section représente un paramètre particulier ou des données locales d'un bloc de
programme.
● Membre
Le membre représente les variables ou constantes utilisées dans le bloc de programme.
Selon le type de données d'une variable, les membres peuvent être imbriqués ou posséder
d'autres sous-éléments structurels.
Par exemple, pour le type de données "ARRAY", l'élément structurel "Subelement Path"
représente l'indice de composants d'un élément du tableau.
Seuls sont exportés les membres qui ont été édités par l'utilisateur.
● AttributeList
La <AttributeList> englobe tous les attributs définis d'un membre. Les attributs
déterminés par le système ou affectés d'une valeur par défaut ne figurent pas dans la
structure XML.
Les attributs de membre <ReadOnly> et <Informative> ne sont écrits dans le fichier
d'exportation XML que s'ils ont la valeur VRAI.
● StartValue
L'élément <StartValue> est écrit seulement quand la valeur par défaut de la variable ou
de la constante est déterminée par l'utilisateur.
● Commentaire
L'élément <Comment> est écrit quand il est déterminé par l'utilisateur. Les commentaires
d'une variable ou d'une constante sont exportés comme textes multilingues :
Attributs
● Attributs principaux
Les attributs principaux sont écrits dans l'élément <Member> dans la structure XML.
Le tableau ci-dessous indique les attributs principaux d'une variable ou d'une constante
dans la section Interface du bloc.
Variables écrasées
Quand une variable est écrasée par un nouveau type de données, les membres sont
représentés dans la structure XML du nouveau type de données. La structure XML ci-dessous
montre un type de données WORD qui est écrasé par un ARRAY of BYTE.
Interface de bloc
Tous les attributs avec ReadOnly = "TRUE" et Informative = "FALSE" sont exclus. La
structure XML d'une interface de bloc dépend des paramètres d'exportation réglés dans TIA
Portal Openness
● ExportOptions.None
Avec ce réglage, seules sont exportées les données modifiées ou celles qui n'ont pas leur
valeur par défaut.
Quand la définition de l'attribut n'indique pas de valeur par défaut, l'attribut est toujours écrit.
Le fichier d'exportation contient aussi toutes les valeurs obligatoires pour l'importation
ultérieure des données.
● ExportOptions.WithDefaults
Les attributs suivants sont toujours écrits :
– Name
– Datatype
– HmiAccessible exporté comme ExternalAccessible
– HmiVisible exporté comme ExternalVisible
– ExternalWritable
– SetPoint (si existant)
– Offset (si existant)
– PaddedSize (si existant)
Tous les autres attributs sont écrits seulement quand ils n'ont pas leur valeur par défaut.
L'élément <StartValue n'est écrit dans XML que s'il a été déterminé explicitement.
● ExportOptions.ReadOnly
Pour les interfaces de bloc, ce paramètre n'entraîne pas un résultat probant. Combiné à
d'autres paramètres, il n'a aucune influence sur le résultat.
Introduction
Pour importer un fichier XML personnalisé ou édité par le biais de TIA PortalOpenness avec
succès dans TIA Portal, le fichier doit respecter des schémas définis.
Chaque fichier XML se compose de deux parties principales :
● Interface
● Unité de compilation
La section qui suit propose une description des schémas à respecter par les fichiers.
Interface
Une interface peut contenir plusieurs segments (par ex. Input, InOut, Static) : Vous trouverez
tous ces segments dans le répertoire suivant :
● C:\Programmes\Siemens\Automation\Portal V*\PublicAPI\V*\Schemas
\SW.InterfaceSections_v3.xsd
● C:\Programmes\Siemens\Automation\Portal V*\PublicAPI\V*\Schemas
\SW.Interface.Snapshot .xsd
Unité de compilation
Il existe des schémas différents pour les unités de compilation des blocs GRAPH, CONT/LOG,
LIST et SCL. Vous trouverez les schémas correspondants dans les répertoires suivants :
● GRAPH : C:\Programmes\Siemens\Automation\Portal V*\PublicAPI\V*\Schemas
\SW.PlcBlocks.Graph_v4.xsd
● CONT/LOG : C:\Programmes\Siemens\Automation\Portal V*\PublicAPI\V*\Schemas
\SW.PlcBlocks.LADFBD_v3.xsd
● LIST : C:\Programmes\Siemens\Automation\Portal V*\PublicAPI\V*\Schemas
\SW.PlcBlocks.STL_v3.xsd
● SCL : C:\Pogrammes\Siemens\Automation\Portal V*\PublicAPI\V*\Schemas\
SW.PlcBlocks.SCL_v2.xsd
Sous-schémas
Il existe les définitions de schéma supplémentaires suivantes, utilisées par toutes les unités de
compilation :
● Accès
● Généralités
Accès
Le nœud d'accès décrit par ex. :
● membres locaux/globaux et utilisations constantes
● Appels de FB, FC, d'instructions
● DB pour les appels
Vous trouverez le schéma d'accès dans le répertoire suivant :
C:\Programmes\Siemens\Automation\Portal V*\PublicAPI\V*\Schemas
\SW.PlcBlocks.Access_v3.xsd
Généralités
Regroupe les attributs et éléments généraux utilisés, par ex. commentaires de toutes sortes,
textes et jetons.
Vous trouverez le schéma général dans le répertoire suivant :
C:\Pogrammes\Siemens\Automation\Portal V*\PublicAPI\V*.\Schemas\SW.Common_v2.xsd
Remarque
V* fait référence à la version installée de TIA Portal.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir d'un projet (Page 109)
Application
TIA Portal Openness vous permet d'exporter les DB avec des valeurs d'instantané au format
XML et de comparer les valeurs de différents instantanés. Sur la base des résultats de la
comparaison, vous pouvez modifier manuellement différentes valeurs initiales dans l'interface
utilisateur et les enregistrer pour une restauration ultérieure. Le schéma
"SW.Interface.Snapshot.xsd" vous assiste dans l'évaluation ou le traitement du fichier
XMLexporté.
Code de programme
Modifiez le code de programme suivant pour exporter des valeurs d'instantanés avec le service
d'instantané :
Remarque
L'exportation de valeurs d'instantané avec le service d'instantané dépend de l'exportation via
l'interface standard d'Openness et n'influence donc pas l'exportation existant déjà des
membres de l'interface. Le fichier XML exporté ne peut plus être importé.
<SnapshotValues xlmns="http://www.siemens.com/automation/Openness/SW/Interface/Snapshot/
v1"></SnapshotValues>
Voir aussi
Ouvrir un projet (Page 109)
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une liaison à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouverture d'un projet (Page 109)
● L'API n'est pas en ligne.
Utilisation
Le fichier XML qui en résulte ressemble au fichier d'exportation d'un bloc sans protection know-
how. Avec PlcBlockProtectionProvider, vous pouvez débloquer un bloc à protection know-how
en entrant le mot de passe dans l'API Openness, puis en exportant un bloc KHP complet avec
son code. Un bloc peut être importé, puis à nouveau être protégé par un mot de passe via l'API.
Lorsque le bloc est exporté sans déblocage, seule l'interface de bloc publique est exportée.
● Bloc TIA Portal -> Débloquer -> Exporter le fichier sans protection
● Importer le fichier sans protection -> Bloquer -> Bloc TIA Portal
La liste d'attributs du bloc indique que le bloc correspondant possède une protection know-how.
Code du programme
Pour exporter les données visibles d'un bloc doté d'une protection know-how vers un fichier
XML, modifiez le code de programme suivant :
Nouvelle ligne
De nouvelles lignes dans les blocs SCL sont représentées par des variables NewLine XML.
● Contient l'attribut non signé Num avec la valeur par défaut 1.
● L'attribut Num n'est pas réglé sur la valeur 0.
● Pris en charge uniquement pour SCL.
Vide
Les espaces dans les blocs SCL sont représentés par des variables Blank XML .
● Contient l'attribut non signé Num avec la valeur par défaut 1.
● L'attribut Num n'est pas réglé sur la valeur 0.
● Pris en charge uniquement pour SCL.
● Ne prend pas en charge l'attribut Integer, qui est disponible dans les autres langages de
STEP 7.
Sur la base de l'indentation sélectionnée, celle-ci est effectuée dans le XML file importé du bloc
SCL.
Commentaire
Les commentaires sur ligne unique et plusieurs lignes dans les blocs SCL sont représentés par
des variables LineComment XML .
● Seule la variable LineComment (pour commentaire unilingue) est pris en charge par SCL.
● La variable Comment (pour commentaire multilingue) n'est pas pris en charge par SCL.
● Contient l'attribut Inserted avec la valeur par défaut false.
● Inserted="false" affiche "//" un commentaire sur une seule ligne dans les blocs SCL.
● Inserted="true" affiche "(**)" un commentaire sur plusieurs lignes dans les blocs SCL.
● NoClosingBracket="true" affiche des commentaires sans parenthèses dans les blocs SCL.
Cet attribut est facultatif et a la valeur par défaut false.
● XML n'indique aucune hiérarchie de commentaires dans les blocs SCL.
Région
Les régions dans les blocs SCL sont sont représentées par des variables Token XML.
● La balise Text XML représente le nom de la région (region_name).
● La casse (majuscule et minuscule) n'a pas d'importance pour l'attribut Text de la balise
Token XML.
● La casse est prise en compte lors de la procédure d'importation et l'éditeur affiche les mots-
clés tels qu'ils sont configurés dans les paramètres de TIA Portal.
● Si le mot-clé end_region se termine par ";" (point-virgule) dans le bloc SCL, le caractère ";"
est présent dans la variable Text XML.
Pragma
LesPragma dans les blocs SCL sont représentés par des variables Token XML. Les
paramètres sont affichés dans la balise XML Access avec l'attribut Scope en tant que
LiteralConstant.
<ConstantTypeInformative="true">STRING</
ConstantType>
</Constant>
</Access>
Constante littérale : Typé #Out := int#10; <Access Scope="TypedConstant">
<Constant>
<ConstantValue>int#10</ConstantValue>
</Constant>
</Access>
Format de XML après exportation avec réglage ExportOp‐
tions.ReadOnly.
<Access Scope="TypedConstant">
<Constant>
<ConstantValue>int#10</ConstantValue>
<StringAttribute Name="Format"
Informative="true">Dec_signed</
StringAttribute>
<StringAttribute Name="FormatFlags"
Informative="true">TypeQualifier</
StringAttribute>
</Constant>
</Access>
Constante locale #Out := #mylocal; <Access Scope="LocalConstant">
<Constant Name="mylocal" />
</Access>
Format de XML après exportation avec réglage ExportOp‐
tions.ReadOnly
<Access Scope="LocalConstant">
<Constant Name="mylocal">
<ConstantType Informative="true">Int</
ConstantType>
<ConstantValue Informative="true">10</
ConstantValue>
<StringAttribute Name="Format"
Informative="true">Dec_signed</
StringAttribute>
</Constant>
</Access>
<Access Scope="GlobalConstant">
<Constant Name="myglobal">
<ConstantType Informative="true">Int</
ConstantType>
<ConstantValue Informative="true">10</
ConstantValue>
<StringAttribute Name="Format"
Informative="true">Dec_signed</
StringAttribute>
</Constant>
</Access>
Les constantes d'adresse ne sont pas prises en charge dans les blocs SCL et sont ignorées
dans ce tableau.
Variables
Les variables locales et globales dans les blocs sont représentées par des variables Access
XML.
● L'attribut Scope possède les valeurs de LocalVariable et de GlobalVariable.
● La balise XML permettant d'attribuer la valeur 10 est ignorée ici.
<Access Scope="GlobalVariable">
<Symbol>
<Component Name="Tag_3" />
<Address Area="Memory" Type="Int"
BitOffset="96" Informative="true" />
</Symbol>
</Access>
Expressions
Les expressions simples dans les blocs SCL sont représentées par les variables Access XML.
L'attribut Scope possède la valeur de LocalVariable pour les expressions.
<Blank Num="4"/>
<Token Text=";" />
<NewLine />
<Blank Num="2"/>
<Access Scope="LiteralConstant">
<Constant>
<ConstantValue>2</ConstantValue>
<ConstantType
Informative="true">LINT</ConstantType>
</Constant>
</Access>
<Token Text=".." />
<Blank Num="2"/>
<Access Scope="LiteralConstant">
<Constant>
<ConstantValue>4</ConstantValue>
<ConstantType
Informative="true">LINT</ConstantType>
</Constant>
</Access>
<Blank />
<LineComment>
<Text> Statement section case 2 to 4</Text>
</LineComment >
<NewLine />
<Blank Num="4"/>
<Token Text=";" />
<NewLine />
<Blank Num="2"/>
<Token Text="ELSE" />
<NewLine />
<Blank Num="4"/>
<Token Text=";" />
<NewLine />
Attributs de référencement
Les attributs de référencement de blocs SCL sont représentées par l'attribut AccessModifier de
la balise Component.
● Pour la référence simple, AccessModifer est réglé sur la valeur Reference.
● Pour la référence Array, AccessModifier est réglé sur la valeur ReferenceToArray..
Accès global
Dans les instructions SCL, les variables et les constantes pour l'accès global sont mises entre
guillemets. Les commentaires entre les variables et des parties d'adresse sont représentés par
la balise LineComment XML.
<Access Scope="GlobalVariable">
<Symbol>
<Component
Name="Data_block_1" />
<Token Text="." />
<Component Name="Static_1" /
>
</Symbol>
</Access>
Format de XML après exportation avec réglage
ExportOptions.ReadOnly
<Access Scope="GlobalVariable">
<Symbol>
<Component
Name="Data_block_1" />
<Token Text="." />
<Component Name="Static_1" /
>
<Address Area="DB"
Type="Word" BlockNumber="1"
BitOffset="0" Informative="true" />
</Symbol>
</Access>
Utilisation de guillemets et de #
Les guillemets utilisés au premier niveau décrivent le type de variable et font office de
séquences Escape pour les caractères spéciaux dans les instructions SCL. Si les guillemets
sont utilisés dans le premier niveau, définissez la variable en tant que variable globale. Si les
guillemets sont utilisés après #, ils représentent la séquence d'échappement de caractères
spéciaux comme # ou d'espaces.
● Dans le fichier XML, la balise BooleanAttributes avec l'attribut Name est utilisée pour
représenter l'utilisation différente. Le Name contient des valeurs telles que HasQuotes et
HasHash.
● # est spécifié pour définir la structure dans l'attribut d'étendue.
● Ces valeurs s'appliquent uniquement à SCL.
● Les valeurs par défaut pour ces balises sont initialement FALSE, mais les valeurs ne sont
jamais exportées, y compris avec le paramètre ExportOptions.WithDefaults.
Tableau
SCL permet l'insertion de commentaires dans les indices de tableau avec "[" et "]". Dans le
fichier XML, l'attribut AccessModifier dans la balise Component sert à marquer la présence de
tableaux.
● Si Accessmodifier comporte la valeur Array, une balise Access subordonnée est obligatoire
afin d'indiquer la variable d'indice du tableau.
● La valeur par défaut de AccessModifier est None.
Accès absolu
SCL permet différents types d'accès, par ex. l'accès absolu, décalage absolu, mixte (base de
données et variable membre), par tranche, périphérique et direct. L'accès absolu est
représenté dans XML par la balise Address.
● Le signe % dans DB n'est pas écrit dans XML . Il est créé automatiquement lors de
l'importation.
● Des espaces sont autorisés entre les parties de l'adresse.
<Access Scope="Address">
<Address Area="DB" BlockNumber="20"
BitOffset="83" Type="Bool" />
</Access>
<Access Scope="Address">
<Symbol>
<Address Area="DB"
BlockNumber="20" />
<Token Text="." />
<Address Area="DB"
BitOffset="83" Type="Bool"/>
</Symbol>
</Access>
Accès périphérique
L'accès périphérique est représenté par la balise Token.
<Access Scope="Call">
<CallInfo BlockType="FB">
<Instance
Scope="LocalVariable">
<Component
Name="Callee_Instance" />
</Instance>
<Token text="(" />
<Parameter Name="Input_1">
<Blank />
<Token text=":=" />
<Blank />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</
ConstantType>
<ConstantValue>5</
ConstantValue>
</Constant>
</Access>
</Parameter>
<Token text=")" />
</CallInfo>
</Access>
<Token text=";" />
Format de XML après exportation avec réglage
ExportOptions.ReadOnly
<Access Scope="Call">
<CallInfo BlockType="FB">
<IntegerAttribute
Name="BlockNumber"
Informative="true">1</
IntegerAttribute>
<DateAttribute
Name="ParameterModifiedTS"
Informative="true">2016-10-24T08:27:
34</DateAttribute>
<Instance
Scope="LocalVariable">
<Component
Name="Callee_Instance" />
</Instance>
<Token text="(" />
<Parameter Name="Input_1">
<StringAttribute
Name="InterfaceFlags"
Informative="true">S7_Visible</
StringAttribute>
<Blank />
<Token text=":=" />
Appel de fonction
Appel absolu
Dans SCL, l'appel peut être lancé via l'adresse absolue du DB. L'attribut Name du nœud
CallInfo est vide en raison de l'adresse absolue.
Une exception récupérable est déclenchée par l'importation si
● un nœud "Address" avec une valeur valide de l'attribut Name est disponible ;
● le nœud "Address" n'est pas disponible et n'est pas une valeur valide de l'attribut Name.
Instruction
L'instruction dans le bloc SCL est vérifiée dans la bibliothèque système lors du processus
d'importation et les versions d'instructions ne sont pas exportées lors du processus
d'exportation.
Le type d'instruction général est donné ci-dessous.
<Access Scope="LocalVariable">
<Symbol>
<Component Name="myInt" />
</Symbol>
</Access>
<Blank />
<Token text=":=" />
<Blank />
<Access Scope="Call">
<Instruction Name="ATTACH">
<Token text="(" />
<Parameter Name="OB_NR">
<Blank />
<Token text=":=" />
<Blank />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>OB_ATT</
ConstantType>
<ConstantValue>1</
ConstantValue>
</Constant>
</Access>
</Parameter>
<Token text="," />
<Blank />
<Parameter Name="EVENT">
<Blank />
<Token text=":=" />
<Blank />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>EVENT_ATT</
ConstantType>
<ConstantValue>15</
ConstantValue>
</Constant>
</Access>
</Parameter>
<Token text="," />
<Blank />
<Parameter Name="ADD">
<Blank />
<Token text=":=" />
<Blank />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Bool</
ConstantType>
<ConstantValue>TRUE</
ConstantValue>
Conversion
Avec les fonctions de conversion, le vrai nom de l'instruction et son modèle ne sont pas
exportés. Au lieu de cela, le nom utilisé dans le bloc SCL est exporté.
Constante d'alarme
Les constantes d'alarme ne sont utilisées que dans les API S7 400 , et le code XML exporté est
similaire à d'autres langages.
<Access Scope="Call">
<CallInfo Name="Block_1"
BlockType="FB">
<Instance Scope="GlobalVariable">
<Component Name="Block_1_DB" />
</Instance>
<NamelessParameter>
<Access Scope="AlarmConstant">
<Constant>
<ConstantType>C_Alarm_8</
ConstantType>
<ConstantValue>16#0000_0001</
ConstantValue>
</Constant>
</Access>
</NamelessParameter >
</CallInfo>
</Access>
Format de XML après exportation avec réglage
ExportOptions.ReadOnly
<Access Scope="Call">
<CallInfo Name="Block_1"
BlockType="FB">
<Instance Scope="GlobalVariable">
<Component Name="Block_1_DB" />
</Instance>
<NamelessParameter>
<Access Scope="AlarmConstant" >
<Constant>
<ConstantValue>16#00000001</
ConstantValue>
<ConstantType>C_Alarm</
ConstantType>
<StringAttribute
Name="Format"
Informative="true">Hex</
StringAttribute>
</Constant>
</Access>
</NamelessParameter>
</CallInfo>
</Access>
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
Dans TIA Portal Openness, vous pouvez importer et exporter des commentaires multilingues
dans l'éditeur SCL selon l'une des méthodes suivantes :
● Lors de l'exportation de SCL dans Openness, tous les commentaires multilingues et les
traductions correspondantes, dépendant des langues du projet activées, sont exportés
dans le même fichier XML Openness.
● Lors de l'importation de Openness dans SCL, tous les commentaires multilingues et les
traductions correspondantes, dépendant des langues du projet activées, sont réimportés à
partir du même fichier XML Openness. Cela doit être affiché dans la zone de texte pour le
projet. La langue est alors activée si elle n'était pas activée lors de l'importation dans le
projet.
● Après l'importation, vous devez vérifier si tous les commentaires multilingues présents dans
l'éditeur SCL sont liés aux commentaires correspondants dans le texte du projet.
Exemple
La figure suivante montre un exemple de commentaire multilingue dans l'éditeur SCL:
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Exporter des blocs (Page 896)
Exporter des blocs avec protection know-how (Page 854)
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une liaison à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouverture d'un projet (Page 109)
● Le projet contient un bloc système.
Utilisation
Seuls les blocs système visibles sont disponibles dans la composition des blocs, donc pas de
SFB ni de SFC. Le fichier XML qui en résulte ressemble au fichier d'exportation d'un bloc.
Code du programme
Pour exporter les données visibles d'un bloc vers un fichier XML, modifiez le code de
programme suivant :
<Steps>
<Step Number="1" Init="true" Name="Step1" MaximumStepTime="T#10S" WarningTime="T#7S">
<StepName>
<MultiLanguageText Lang="de-DE">stepDE</MultiLanguageText>
<MultiLanguageText Lang="en-US">stepEN</MultiLanguageText>
<MultiLanguageText Lang="it-CH">stepIT</MultiLanguageText>
</StepName>
..
</Step>
..
</Steps>
<Transitions>
<Transition IsMissing="false" Name="Trans1" Number="1" ProgrammingLanguage="LAD">
<TransitionName>
<MultiLanguageText Lang="de-DE">transDE</MultiLanguageText>
<MultiLanguageText Lang="en-US">transEN</MultiLanguageText>
<MultiLanguageText Lang="it-CH">transIT</MultiLanguageText>
</TransitionName>
..
</Transition>
..
</Transitions>
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API n'est pas en ligne.
Utilisation
La TIA Portal Openness API prend en charge l'importation de blocs avec les langages de
programmation "LIST", "LOG", "GRAPH", "SCL" ou "CONT" à partir d'un fichier XML. Les types
de bloc suivants sont pris en charge :
● Blocs fonctionnels (FB)
● Fonctions (FC)
● Blocs d'organisation (OB)
● Blocs de données globaux (DB)
Remarque
Importation de blocs de données optimisés
Les blocs de données optimisés sont uniquement pris en charge par les CPU à partir de
S7-1200. Si vous importez des blocs de données optimisés dans une S7-300 ou S7-400, une
exception est déclenchée et l'importation échoue.
Réaction à l'importation
Pour l'importation d'un bloc, les règles à respecter sont les suivantes :
● Le fichier XML peut contenir moins de données que le bloc se trouvant dans le projet, par
ex. moins de paramètres.
● Les informations redondantes telles que les informations d'appel doivent être identiques
dans le projet et dans le fichier XML. Faute de quoi, une exception est lancée.
● Les données du fichier XML peuvent être "incohérentes" en ce qui concerne leur capacité
à être compilées dans TIA Portal.
● Les attributs possédant les attributs "ReadOnly=True" et "Informative=True" ne sont pas
importés.
● Les DB d'instance manquants ne sont pas automatiquement créés.
● Si aucun numéro de bloc n'est indiqué dans le fichier XML, il est automatiquement attribué.
● Si le bloc ne figure pas dans le projet et si aucune information de version n'est indiquée dans
le fichier XML, la version "0.1" est attribuée.
Code de programme
Modifiez le code de programme suivant :
//Import blocks
private static void ImportBlocks(PlcSoftware plcSoftware)
{
PlcBlockGroup blockGroup = plcSoftware.BlockGroup;
IList<PlcBlock> blocks = blockGroup.Blocks.Import(new FileInfo(@"D:\Blocks
\myBlock.xml"), ImportOptions.Override);
}
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une liaison à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouverture d'un projet (Page 109)
● L'API n'est pas en ligne.
Utilisation
L'interface API prend en charge l'exportation de blocs et types de données utilisateur cohérents
vers un fichier XML.
Le fichier XML se voit attribuer le nom du bloc. Les types de bloc suivants sont pris en charge :
● Blocs fonctionnels (FB)
● Fonctions (FC)
● Blocs d'organisation (OB)
● Blocs de données globaux (DB)
Les types de langages de programmation suivants sont pris en charge :
● LIST
● LOG
● CONT
● GRAPH
● SCL
Vous trouverez plus d'informations dans le système d'informations du TIA Portal, sous "Aperçu
des attributs du bloc".
Remarque
Sous certaines conditions, l'attribut MemoryLayout est protégé en écriture.
Attributs valables pour les blocs de programme (hors OB) et les blocs DB et UDT.
Les attributs suivants sont exportés pour les blocs de programme (hors OB) et les blocs DB et
UDT sous une unité avec les ExportOptions sélectionnées :
Importation sous unité Importation non sous unité Importation non sous unité
(sans SWImportOp‐ (avec SWImportOp‐
tions.IgnoreUnitAttributes) tions.IgnoreUnitAttributes)
Exportation XML sous unité 'Access' utilisé et défini RecoverableException dé‐ 'Access' ignoré
clenchée
Exportation XML non sous 'Access' contient la valeur par 'Access' est manquant 'Access' est manquant
unité défaut
Code de programme
Pour exporter un bloc dépourvu de protection Know-how vers un fichier XML, modifiez le code
de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API n'est pas en ligne.
Application
Avec l'API Openness, vous pouvez utiliser pour des objets STEP 7 un nouveau mode
d'importation dans lequel vous pouvez également importer des blocs et des UDT si un objet
correspondant manque.
L'interface Openness prend en charge le nouveau mode d'importation dans les conditions
suivantes :
Code de programme
Vous pouvez utiliser le nouveau module grâce à une nouvelle surcharge de la méthode Import
correspondante. La nouvelle surcharge indique un paramètre supplémentaire qui accepte une
valeur de la nouvelle énumération sélectionnée SWImportOptions. Pour permettre
l'importation, vous pouvez également utiliser
SWImportOptions.IgnoreMissingReferencedObject si l'objet de la référence manque.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
Application
Avec l'API Openness, vous pouvez également importer des objets et des UDT lorsque des
données d'instance sont perdues en raison d'une modification de structure dans les objets
correspondants.
L'interface Openness prend en charge le nouveau mode d'importation dans les conditions
suivantes :
Code de programme
Vous pouvez utiliser le nouveau module grâce à une nouvelle surcharge de la méthode Import
correspondante. La nouvelle surcharge indique un paramètre supplémentaire qui accepte une
valeur de la nouvelle énumération sélectionnée SWImportOptions. Pour permettre
l'importation, même s'il existe des modifications structurelles et qu'une perte de données risque
de se produire, utilisez "SWImportOptions.IgnoreStructuralChanges".
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
L'attribut 'Access' est uniquement présent pour les blocs, les types d'API et les tables de
variables qui se trouvent sous une unité. C'est pourquoi il est contenu dans le fichier XML
exporté. Le fichier XML exporté du même bloc, du même type ou de la même table de variables
dans un environnement hors de l'unité ne contient pas l'attribut.
Les règles d'importation XML d'Openness n'autorisent pas les fichiers XML avec des attributs
inconnus/non définis. En raison de ces règles, les fichiers XML exportés d'un objet dans un
environnement sous une unité ne peuvent pas être importés dans un environnement hors
d'une unité. Cela génèrerait une restriction importante de l'utilisabilité. C'est pourquoi
l'extension suivante est définie.
Trois paramètres sont transmis en fonction de la surcharge de la méthode import (). Ceux-ci
sont :
Code de programme :
Code de programme : L'objet est exporté d'une unité et importé dans une unité
Les exemples suivants montrent le comportement de la nouvelle option d'importation à l'aide
de blocs. Le même comportement vaut cependant aussi pour les types d'API et les tables de
variables.
Modifiez le code de programme suivant pour exporter un bloc pour lequel l'attribut 'Access' est
mis à la valeur 'Unpublished' (valeur par défaut) et les ExportOptions.WithDefaults et les
SWImportOptions.None sont :
block1.SetAttribute("Access", UnitAccessType.Unpublished);
block1.Export(new FileInfo("somepath"), ExportOptions.WithDefaults);
block1.Delete();
plcUnit2.BlockGroup.Blocks.Import(new FileInfo("somepath"), ImportOptions.None,
SWImportOptions.None);
Modifiez le code de programme suivant pour exporter un bloc pour lequel l'attribut 'Access' est
mis à la valeur 'Unpublished' (valeur par défaut) et les ExportOptions.WithDefaults et les
SWImportOptions.IgnoreUnitAttributes sont :
block1.SetAttribute("Access", UnitAccessType.Unpublished);
block1.Export(new FileInfo("somepath"), ExportOptions.WithDefaults);
block1.Delete();
plcUnit2.BlockGroup.Blocks.Import(new FileInfo("somepath"), ImportOptions.None,
SWImportOptions.IgnoreUnitAttributes);
Modifiez le code de programme suivant pour exporter un bloc pour lequel l'attribut 'Access' est
mis à la valeur 'Published' et les ExportOptions.None et les SWImportOptions.None sont :
block1.SetAttribute("Access", UnitAccessType.Published);
block1.Export(new FileInfo("somepath"), ExportOptions.None);
block1.Delete();
plcUnit2.BlockGroup.Blocks.Import(new FileInfo("somepath"), ImportOptions.None,
SWImportOptions.None);
Modifiez le code de programme suivant pour exporter un bloc pour lequel l'attribut 'Access' est
mis à la valeur 'Published' et les ExportOptions.None et les
SWImportOptions.IgnoreUnitAttributes sont :
block1.SetAttribute("Access", UnitAccessType.Published);
block1.Export(new FileInfo("somepath"), ExportOptions.None);
block1.Delete();
plcUnit2.BlockGroup.Blocks.Import(new FileInfo("somepath"), ImportOptions.None,
SWImportOptions.IgnoreUnitAttributes);
Remarque
Dans toutes les sections de code de programme ci-dessus avec des scénarios d'erreur,
aucune exception récupérable n'est déclenchée et l'opération d'importation réussit.
Code de programme : L'objet est exporté d'une unité et importé dans un environnement hors d'une unité
Modifiez le code de programme suivant pour exporter un bloc pour lequel l'attribut 'Access' est
mis à la valeur 'Unpublished' (valeur par défaut) et les ExportOptions.WithDefaults et les
SWImportOptions.None sont :
block1.SetAttribute("Access", UnitAccessType.Unpublished);
block1.Export(new FileInfo("somepath"), ExportOptions.WithDefaults);
block1.Delete();
plcUnit2.BlockGroup.Blocks.Import(new FileInfo("somepath"), ImportOptions.None,
SWImportOptions.None);
Remarque
Dans le code de programme ci-dessus, l'opération d'importation échoue et une exception
récupérable est déclenchée.
Modifiez le code de programme suivant pour exporter un bloc pour lequel l'attribut 'Access' est
mis à la valeur 'Unpublished' (valeur par défaut) et les ExportOptions.WithDefaults et les
SWImportOptions.IgnoreUnitAttributes sont :
block1.SetAttribute("Access", UnitAccessType.Unpublished);
block1.Export(new FileInfo("somepath"), ExportOptions.WithDefaults);
block1.Delete();
plcUnit2.BlockGroup.Blocks.Import(new FileInfo("somepath"), ImportOptions.None,
SWImportOptions.IgnoreUnitAttributes);
Remarque
Dans le code du programme ci-dessous, l'opération d'importation réussit et aucune exception
n'est déclenchée.
Modifiez le code de programme suivant pour exporter un bloc pour lequel l'attribut 'Access' est
mis à la valeur 'Published' et les ExportOptions.None et les SWImportOptions.None sont :
block1.SetAttribute("Access", UnitAccessType.Published);
block1.Export(new FileInfo(„somepath"), ExportOptions.None);
block1.Delete();
plcUnit2.BlockGroup.Blocks.Import(new FileInfo("somepath"), ImportOptions.None,
SWImportOptions.None);
Remarque
Dans le code de programme ci-dessus, l'opération d'importation réussit et une exception
récupérable est déclenchée.
Modifiez le code de programme suivant pour exporter un bloc pour lequel l'attribut 'Access' est
mis à la valeur 'Published' et les ExportOptions.None options d'importation
SWImportOptions.IgnoreUnitAttributes sont :
block1.SetAttribute("Access", UnitAccessType.Published);
block1.Export(new FileInfo(„somepath"), ExportOptions.None);
block1.Delete();
plcUnit2.BlockGroup.Blocks.Import(new FileInfo("somepath"), ImportOptions.None,
SWImportOptions.IgnoreUnitAttributes);
Remarque
Dans toutes les sections de code de programme ci-dessus, aucune exception récupérable
n'est déclenchée et l'opération d'importation réussit.
L'objet est exporté de l'environnement hors d'une unité et importé dans une unité
Le fichier XML exporté ne contient pas l'attribut Openness 'Access' ; à l'importation, l'attribut a
la valeur par défaut 'Unpublished'.
L'objet est exporté d'un environnement hors d'une unité et importé dans un environnement hors d'une
unité
Le fichier XML exporté ne contient pas l'attribut Openness 'Access' ; à l'importation du fichier,
rien ne se produit.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une liaison à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouverture d'un projet (Page 109)
Utilisation
Un fichier XML est exporté par table des variables API.
L'interface TIA Portal Openness API prend en charge l'exportation de toutes les tables de
variables API du groupe système et de ses sous-groupes.
Code du programme
Pour exporter toutes les tables de variables API du groupe système et de ses sous-groupes,
modifiez le code de programme suivant :
Voir aussi
Exportation de données de configuration (Page 778)
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une liaison à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouverture d'un projet (Page 109)
Code du programme
Pour importer des tables de variables API ou une structure de dossiers avec des tables de
variables API dans le groupe système ou un groupe personnalisé depuis un fichier XML,
modifiez le code de programme suivant :
Voir aussi
Remarques sur la performance de TIA Portal Openness (Page 45)
8.5.2.3 Exporter des variables ou constantes individuelles d'une table de variables API
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une liaison à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouverture d'un projet (Page 109)
Utilisation
L'interface API prend en charge l'exportation d'une variable ou d'une constante depuis une
table de variables API vers un fichier XML. Ce faisant, veillez à ce que les noms utilisés pour
les tables des variables correspondent aux conventions de dénomination de fichiers de votre
système de fichiers.
Le commentaire d'une variable ou d'une constante n'est exporté que si au moins une langue
est définie pour le commentaire. Si le commentaire n'est pas défini pour toutes les langues du
projet, il est uniquement exporté pour les langues du projet définies.
Remarque
Constantes système API
Les constantes système API sont exclues de l'exportation et de l'importation.
Code de programme
Pour exporter une variable ou une constante déterminée d'une table de variables API vers un
fichier XML, modifiez le code de programme suivant :
plcConstant.Export(new FileInfo(string.Format(@”D:\Samples\{0}.xml”,
plcConstant.Name)), ExportOptions.WithDefaults);
}
Voir aussi
Exportation de données de configuration (Page 778)
Remarques sur la performance de TIA Portal Openness (Page 45)
8.5.2.4 Importer une seule variable ou constante dans une table de variables API
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une liaison à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouverture d'un projet (Page 109)
Utilisation
Lors d'un appel d'importation, vous pouvez importer soit des variables soit des constantes.
Remarque
Les constantes peuvent uniquement être importées comme constantes utilisateur.
Code du programme
Pour importer des groupes de variables ou certaines variables ou constantes depuis un fichier
XML, modifiez le code de programme suivant :
tagTable.UserConstants.Import(new FileInfo(@"D:\Samples\myConstants.xml"),
ImportOptions.Override);
}
Voir aussi
Exportation de données de configuration (Page 778)
Remarques sur la performance de TIA Portal Openness (Page 45)
Objets technologiques
Le tableau suivant indique les objets technologiques disponibles pour l'importation et
l'exportation.
Principe de base
Les données dans le fichier XML d'importation/exportation sont organisées en référence à un
format de fichier XML Openness. Chaque fichier d'importation doit répondre aux conditions
structurelles.
Le fichier d'exportation contient toutes les variables et constantes traitées de la section
d'interface d'un objet technologique exporté. Les données de projet peuvent contenir plus de
données que le fichier XML d'importation, par exemple des références externes. Celles-ci
doivent être exportés séparément. Seules les valeurs accessibles en écriture peuvent être
importées par TIA Portal Openness XML.
En fonction des paramètres d'exportation dans TIA Portal Openness, le fichier d'exportation
contient un jeu déterminé d'attributs et d'éléments. Les fichiers d'exportation de versions
supérieures de TIA Portal ne sont pas compatibles avec les versions antérieures de TIA Portal
et ne peuvent pas être importés dans ces versions. Les fichiers SimaticML exportés avec la
dernière version TechObject sont également pris en charge pour les versions plus récentes.
Attributs
Le format SimaticML est largement adopté par le format d'exportation/importation des blocs
d'utilisateurs.
Les attributs supplémentaires suivants sont particulièrement importants :
● OfSystemLibElement
● OfSystemLibVersion
● Interface
L'attribut Interface contient tous les membres du bloc de données de l'objet technologique,
y compris les éléments de structure et les versions.
Les données technologiques qui ne sont pas mémorisées dans le bloc de données lui-même
sont mémorisées dans un attribut supplémentaire ParameterData.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouverture d'un projet (Page 109)
● Un projet contient l'objet technologique à exporter.
● L'API n'est pas en ligne.
Utilisation
L'API Openness de TIA Portal prend en charge l'exportation de tous les objets technologiques
du tableau Vue d'ensemble des objets technologiques et des versions (Page 915) dans un
fichier XML. Vous ne pouvez exporter que des objets technologiques cohérents. HWCN ou
TagTable ne sont pas exportés avec l'objet technologique, mais doivent être exportés
séparément. Vous pouvez vérifier la cohérence d'un objet technologique avec l'attribut
IsConsistent. Ce mémento peut être défini lors d’une compilation réussie de l’objet
technologique correspondant. La génération du fichier d'exportation correspondant indique
que l'exportation est terminé.
Exceptions
● Si vous essayez d'exporter un objet technologique incohérent, une exception est
déclenchée.
● Si vous essayez d'exporter l'objet technologique qui ne prend pas en charge la
fonctionnalité d'exportation, une exception est déclenchée. Cette exception est également
déclenchée sur les anciennes versions d'objet technologique qui ne prennent pas en
charge l'exportation.
● Si vous essayez d'exporter l'objet technologique alors que vous êtes dans le mode en ligne,
une exception est déclenchée.
Autres paramètres
La plupart des paramètres d'objets technologiques pour la commande de mouvement sont
directement assignés à des variables de bloc de données, mais il existe également quelques
autres paramètres qui ne sont pas directement assignés à des blocs de données. Voir
aussi Attributs spécifiques pour TO_PositioningAxis et TO_CommandTable (Page 922),
Attributs spécifiques pour les objets technologiques d'axe et de codeur (Page 925), Attributs
spécifiques pour les objets technologiques came, piste de came et palpeur de mesure
(Page 929).
Code du programme
void Export(FileInfo path, ExportOptions options);
Le paramètre path décrit le chemin d'accès et le nom de fichier du fichier d'exportation à créer.
Le paramètre (ExportOptions options) spécifie les options pour l'exportation (Page 778).
Attributs Description
ExportOptions.None N'exporte que des paramètres modifiés.
ExportOptions.WithDefaults Cette option exporte les paramètres qui ont leur valeur par défaut. La
valeur par défaut elle-même n'est pas exportée. Le même comportement
est également défini pour les parties de l'exportation XML spécifiques à
l'objet technologique. Les valeurs par défaut correspondantes exportées
sont définies pour chaque type d'objet technologique.
ExportOptions.WithReadOnly Cette option exporte des attributs et des valeurs supplémentaires à titre
d'information. Lors de l'importation, les valeurs protégées en écriture ne
sont pas réécrites dans le bloc de données. Les valeurs protégées en
écriture correspondantes exportées sont définies pour chaque type d'ob‐
jet technologique.
ExportOptions.WithDefaults | ExportOptions.Wi‐ Combinaison des deux options ci-dessus.
thReadOnly
Pour rechercher un objet technologique et l'exporter dans un fichier XML, modifiez le code du
programme suivant :
Pour exporter un objet technologique OutputCam dans un fichier XML, modifiez le code du
programme suivant :
// Export OutputCam
private static void ExportTechnologicalObject(FileInfo path, ExportOptions options,
PlcSoftware plcSoftware, String nameOfTO)
{
//Retrieve service OutputCamMeasuringInputContainer
OutputCamMeasuringInputContainer container =
technologyObject.GetService<OutputCamMeasuringInputContainer>();
//Get access to TO_OutputCam container
TechnologicalInstanceDBComposition outputcamCamtrackContainer = container.OutputCams;
//Find technology object TO_OutputCam
TechnologicalInstanceDB outputCam = outputcamCamtrackContainer.Find("OutputCamName");
// Export
outputCam.Export(path, options);
}
Conditions
Utilisation
L'API Openness de TIA Portal prend en charge l'importation d'objets technologiques à partir
d'un fichier XML.
Exceptions
Si les données d'importation contiennent des paramètres qui ne sont pas définis pour le type
d'objet technologique concerné, une EngineeringTargetInvocationException sera signalée.
Si la valeur d'un paramètre a un format incorrect et ne peut pas être convertie dans le type du
paramètre, une EngineeringTargetInvocationException est signalée. L'importation est
effectuée, mais un défaut est généré lors de la compilation.
Connexion ouverte
Les connexions ouvertes sont créées dans TIA Portal lorsqu'une balise connectée avec un
objet technologique est supprimée. Le comportement ultérieur de connexions ouvertes est
identique au comportement de connexions ouvertes créées par la suppression d'une variable
connectée. Si l'objet technologique partenaire est manquant lors de l'importation, une
connexion ouverte est créée. Ceci s'applique également aux types d'objets technologiques qui
ne peuvent pas être utilisés pour certaines connexions.
Code du programme
IList<SW.TechnologicalObjects.TechnologicalInstanceDB>
Import(FileInfo path, ImportOptions options);
Pour importer un ou plusieurs objets technologiques d'un fichier XML, modifiez le code du
programme suivant : Pour plus d'informations sur les ImportOptions , voir Importation de
données de configuration (Page 780).
// Import TO
technologicalObjects.Import(path, options);
}
Utilisation
L'API prend en charge l'exportation et l'importation d'objets technologiques.
Les paramètres de TO_PositioningAxis et TO_CommandTable, qui sont membres du bloc de
données, sont exportés dans la section "Interface" du fichier d'exportation. Des paramètres
supplémentaires sont exportés dans la section "ParameterData" du fichier d'exportation. Le
chapitre suivant montre tous les paramètres supplémentaires.
Pour une liste contenant toutes les variables disponibles, voir la description fonctionnelle
SIMATIC STEP 7 S7-1200 Motion Control sur Internet (https://support.industry.siemens.com/
cs/ww/fr/view/109754206).
Remarque
Les informations sur le type de données ne sont exportées que pour les paramètres
appartenant à la section "Interface".
Références externes
Pour Analog/ProfiDrive :
Un ensemble explicite des paramètres suivants doit être exécuté via l'API de paramètre
Openness d'objet technologique pour connecter le PIP au OB-Servo.
● _Actor.Interface.ProfiDriveOutName
● _Actor.Interface.ProfiDriveInName
● _Sensor[1].Interface.ProfiDriveOutName
● _Sensor[1].Interface.ProfiDriveInName
Utilisation
L'API prend en charge l'importation et l'exportation d'objets technologiques. La section
suivante décrit les attributs spécifiques.
Actor.Interface.EnableTor‐ X X -
queData
Sensor[n].Existent1) - X -
Sensor[n].Interface.Number 1)
- X -
Sensor[n].Type1) - X -
Sensor.Interface.Number - - X
Sensor.Type - - X
CrossPlcSynchronousOpera‐ - X X
tion.Interface[1].EnableLea‐
dingValueOutput
Paramètres correspondant aux membres du bloc de données de l'objet technologique pour TO_SpeedAxis,
TO_PositioningAxis, TO_SynchronousAxis et TO_ExternalEncoder
1) S7-1500 CPU : n=1 ; S7-1500T CPU : 1≤n≤4
_Properties.UseHighResolu‐ false - X X
tionPositionValues
_CrossPlcSynchronousOpera‐ true - X X
tion.ActivateLocalLeadingVa‐
lueDelayTimeCalculation
_Units.LengthUnit 1013 (mm) - X X
_Units.VelocityUnit 1062 (mm/s) 1083 (1/mm) X X
_Units.TorqueUnit 1126 (Nm) X X -
_Units.ForceUnit 1120 (N) - X -
_Actor.Interface.Telegram 0 X X -
_Sensor[n].Interface.Telegram1) 0 - X -
_Sensor.Interface.Telegram 0 - - X
_Actor.DataAdaptionOffline false X X -
_Sensor[n].DataAdaptionOffli‐ false - X -
ne1)
_Sensor.DataAdaptionOffline false - - X
Paramètres correspondants à des paramètres technologiques supplémentaires renvoyant à des variables pour
TO_SpeedAxis, TO_PositioningAxis, TO_SynchronousAxis et TO_ExternalEncoder .
1) S7-1500 CPU : n=1 ; S7-1500T CPU : 1≤n≤4
Attributs spécifiques pour les objets technologiques came, piste de came et palpeur de mesure
Conditions
● L'application TIA Portal Openness est reliée à TIA Portal.
Voir Établir une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouverture d'un projet (Page 109)
Utilisation
L'API prend en charge l'importation et l'exportation d'objets technologiques. La section
suivante décrit les attributs spécifiques.
Paramètres correspondant aux membres du bloc de données de l'objet technologique pour TO_OutputCam et
TO_MeasuringInput
TO_CamTrack n'a pas d'élément dans l'attribut ParameterData. Le paramètre
"_AssociatedObject" n'est pas utilisé lors de l'exportation.
Utilisation
L'API prend en charge l'importation et l'exportation d'objets technologiques. La section
suivante décrit les attributs spécifiques.
Exporter TO_Cam
Pour le type d'objet technologique TO_Cam, l'attribut EOM ParameterData contient les
paramètres tels que décrits dans les tableaux suivants. Les paramètres correspondant aux
paramètres TO DB ont le type de données et la valeur par défaut tels que définis dans la TO
DB.
Éléments XML
Utilisation
L'API prend en charge l'importation et l'exportation d'objets technologiques. La section
suivante décrit les attributs spécifiques.
Exporter TO_Kinematics
Pour le type d'objet technologique TO_Kinematics, l'attribut EOM ParameterData contient les
paramètres suivants.
Les paramètres suivants correspondant aux paramètres TO DB ont défini le type de données
et la valeur par défaut tels que définis dans le TO DB: :
● Kinematics.TypeOfKinematics
● MotionQueue.MaxNumberOfCommands
Les paramètres suivants ont le même type de données dans SimaticML que les
TechnologicalParameterscorrespondants dans l'API Openness :
● _X_Minimum
● _X_Maximum
● _Y_Minimum
● _Y_Maximum
● _Z_Minimum
● _Z_Maximum
● _A3_Maximum
Éléments XML
Utilisation
L'API prend en charge l'importation et l'exportation d'objets technologiques. La section
suivante décrit les attributs spécifiques.
Exporter TO_LeadingAxisProxy
Pour le type d'objet technologique TO_LeadingAxisProxy, l'attribut EOM ParameterData
contient des paramètres supplémentaires _Interface.AddressIn. Le TechnologicalParameter
supplémentaire renvoie à une variable. Ici, les mêmes règles que celles décrites sousAttributs
spécifiques pour les objets technologiques d'axe et de codeur (Page 925) s'appliquent.
Exporter
Pour le type d'objet technologique PID_Compact, tous les paramètres correspondent aux
membres du bloc de données de l'objet technologique et ont le type de données et la valeur par
défaut tels que définis dans le bloc de données de l'objet technologique. L'attribut
EOM ParameterData est vide.
Importation
Les paramètres suivants pour PID_Compact ne font pas partie de l'importation :
● PhysicalUnit
● PhysicalQuantity
● _Config.OutputSelect
● _Retain.CtrlParams.SetByUser
Ces paramètres ont la valeur par défaut après l'importation.
Remarque
Restaurez manuellement les réglages associés après l'importation d'un fichier d'exportation
PID_Compact. Cela peut être fait à l'aide de la fonction Écrire le paramètre (Page 553).
Exporter
Pour les types d'objet technologique PID_3Step et PID_Temp, tous les paramètres
correspondent aux membres du bloc de données de l'objet technologique et ont le type de
données et la valeur par défaut tels que définis dans le bloc de données de l'objet
technologique. L'attribut EOM ParameterData est vide.
Importation
Les paramètres suivants pour PID_3Step et PID_Temp ne font pas partie de l'importation :
● PhysicalUnit
● PhysicalQuantity
Ces paramètres ont la valeur par défaut après l'importation. Si vous souhaitez le modifier, vous
devez utiliser la fonction Écrire le paramètre (Page 553).
Remarque
Restaurez manuellement les réglages associés après une importation d'un fichier
d'exportation PID_3Step ou PID_Temp.
8.5.3.8 Comptage
défaut tels que définis dans le bloc de données de l'objet technologique. L'attribut EOM
ParameterData est vide.
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir AUTOHOTSPOT
● Un projet est ouvert.
Voir AUTOHOTSPOT
● L'API n'est pas en ligne.
Code de programme
Pour exporter un type de données utilisateur vers un fichier XML, modifiez le code de
programme suivant :
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
AUTOHOTSPOT
● Un projet est ouvert.
AUTOHOTSPOT
● L'API n'est pas en ligne.
Utilisation
L'interface API prend en charge l'importation de types de données utilisateur à partir d'un fichier
XML.
<Section Name="Input">
<Member Name="Input1" Datatype=quot;myudt1">
<Sections>
<Section Name="None">
<Member Name="MyUDT1Member1" Datatype="bool"/>
<Member Name="MyUDT1Member2" Datatype="myudt1">
<Sections...
Remarque
Syntaxe pour les types de données personnalisés d'éléments
Si le type de données personnalisé d'un élément présente une mauvaise syntaxe dans le
fichier d'importation pour types de données utilisateur, une exception est déclenchée.
Assurez-vous que " est utilisé pour noter les types de données personnalisés.
Code du programme
Pour importer un type de données utilisateur, modifiez le code de programme suivant :
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir AUTOHOTSPOT
● Un projet est ouvert.
Voir AUTOHOTSPOT
● L'API n'est pas en ligne.
Utilisation
TIA Portal Openness vous permet d'exporter des données API dans un fichier au format OPC
UA XML. En paramètre d'entrée de l'action, vous avez besoin d'un chemin de répertoire absolu
dans lequel sera enregistré le fichier XML.
Code de programme
Modifiez le code de programme suivant pour exporter des données API dans un fichier au
format OPC UA XML.
Introduction
AutomationML est un format de données neutre basé sur XML pour l'enregistrement et
l'échange d'informations d'ingénierie d'une installation et qui est proposé sous forme de
standard ouvert. L'objectif d'AutomationML est la connexion du paysage hétérogène des outils
d'ingénierie modernes dans leurs différentes disciplines telles que la conception mécanique
d'installations, la conception électrique, IHM, API, la commande de robots.
Le modèle de classification utilisé pour l'exportation et l'importation de données CAx est basé
sur les normes AML suivantes :
● Whitepaper AutomationML partie 1 – AutomationML Architecture, octobre 2014
● Whitepaper AutomationML partie 2 – AutomationML Architecture, octobre 2014
● Whitepaper AutomationML partie 4 – AutomationML Logic, mai 2010
● Whitepaper AutomationML – AutomationML Communication, septembre 2014
● Whitepaper AutomationML – AutomationML and eCl@ss Integration, novembre 2015
● Recommandations d'utilisation : Automation Project Configuration - AR_001E Version
1.0.0, Mai 2017
Schéma
Le modèle d'échange de données AutomationML est décrit par le schéma CAEX, version 2.15.
Vous pouvez télécharger ce fichier sur la page d'accueil AutomationML e.V. (https://
www.automationml.org/o.red.c/dateien.html)
Introduction
Pruning (élagage) décrit le processus d'optimisation du contenu par la suppression de certains
éléments qui ne doivent pas nécessairement être indiqués. Avec des outils externes comme
EPLAN, les informations de sous-modules créées automatiquement n'ont aucune signification
quant à EPLAN dans une configuration matérielle. C'est pourquoi ces outils génèrent un fichier
AML en supprimant de la configuration matérielle les informations de sous-modules créées
automatiquement. Ce fichier est appelé Pruned AML.
$XWRPDWLRQ3URMHFW
3URMHFW1DPH
3URMHFW0DQXIDFWXUHU
3URMHFW6LJQ
3URMHFW5HYLVLRQ
3URMHFW,QIRUPDWLRQ
'HYLFH,WHP
1DPH
7\SH1DPH 7DJ7DEOH 7DJ8VHU)ROGHU
'HYLFH,WHP7\SH
3RVLWLRQ1XPEHU 1DPH 1DPH
%XLOW,Q $VVLJQ7R'HIDXOW
7\SH,GHQWLILHU
)LUPZDUH9HUVLRQ
3ODQW'HVLJQDWLRQ,(&
/RFDWLRQ,GHQWLILHU,(&
&RPPHQW
$GGUHVV>Q@6WDUW$GGUHVV/HQJWK,27\SH
&KDQQHO 7DJ
7\SH 1DPH
,R7\SH 'DWD7\SH
1XPEHU /RJLFDO$GGUHVV
/HQJWK &RPPHQW
&RPPXQLFDWLRQ,QWHUIDFH
/DEHO
Remarque
CAx exporte et importe la version de AR APC dans un fichier AML conformément à la
version de TIA Portal qui est installée.
● Hiérarchie d'instance
Cette zone contient l'ordre hiérarchique des éléments internes exportés.
Éléments internes
Tous les objets dans la hiérarchie d'instance du fichier AML sont InternalElements.
L'élément interne AutomationProject contient tous les éléments internes de toutes les
classifications de rôles. Chaque élément interne prend en charge un ensemble d'attributs.
L'attribut <TypeIdentifier> identifie chaque type d'objet d'un objet matériel pouvant être
créé via TIA Portal Openness.
Remarque
Objets automatiquement créés
Les objets automatiquement créés peuvent uniquement être créés par d'autres objets. Ils n'ont
aucun attribut ni aucun identifiant de type. Ils sont inclus dans le fichier exporté mais vous ne
pouvez pas lancer l'exportation d'un objet spécifique automatiquement créé.
À la fin de l'élément AML d'un élément interne, ce qui suit est défini :
● Classification des rôles
L'élément SupportedRoleClass définit le type d'objet d'un élément interne. Le type
d'objet est défini dans la bibliothèque de classification des rôles qui représente la norme
AML pour le modèle d'objet TIA Portal Openness et TIA Portal.
● Liens internes
L'élément InternalLink définit les partenaires de communication d'une connexion.
Attributs
Les attributs sont affectés à des éléments internes comme suit :
● Exporter seulement
L'attribut, tel que le nom de type de l'élément de l'appareil, est défini en interne par TIA
Portal. Si celui-ci est présent dans un fichier d'importation, il est ignoré par TIA Portal lors
de l'importation.
● Importer seulement
L'attribut peut influer sur le comportement de l'importation. Si cet attribut est absent du
fichier d'importation, le comportement correspondra à la valeur par défaut de l'attribut.
Voir aussi
Identifiants de type AML (Page 948)
Éléments internes
La chaîne TypeIdentifier est constituée des parties suivantes :
● <TypeIdentifierType>:<Identifier>
Les valeurs suivantes de TypeIdentifierType sont admissibles ici :
● OrderNumber sert à indiquer des modules physiques
● GSD sert à indiquer des appareils basés sur GSD/GSDML
● System sert à indiquer des systèmes et des appareils génériques
Les formats suivants pour les identifiants de type sont pris en charge pour l'importation/
exportation CAx :
● GSD.<GsdName>/<GsdType>
Exemples :
GSD:SIEM8139.GSD/DAP
GSD:GSDML-V2.31-SIEMENS-SINAMICS_DCP-20140313.XML/D
● <GsdName>/<GsdType>/<GsdId>
Exemple :
GSD:SIEM8139.GSD/M/4
GSD:GSDML-V2.31-SIEMENS-SINAMICS_G110M-20140704.XML/M/IDM_DRIVE_47
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API est hors ligne.
Application
Vous pouvez dans TIA Portal exporter et importer des informations sur la BaseUnit de TIA
Portal pour faciliter l'échange d'informations avec d'autres outils tels que EPLAN.
Pour l'exportation d'un projet de et l'importation de celui-ci dans TIA Portal, deux types de
BaseUnit sont pris en charge :
● BaseUnit en simple
● BaseUnit en double
module, c'est-à-dire le module possédant le préfixe IX301, n'est inséré dans aucun sous-
module inférieur.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
TIA Portal vous permet d'exporter les appareils avec plusieurs châssis possédant une
connexion de châssis d'extension au fichier AML et de les réimporter afin d'obtenir la même
configuration d'appareil que celle qui a été créée dans le projet TIA Portal.
Exemple : appareil avec plusieurs châssis possédant une connexion de châssis d'extension
Structure AML
Dans TIA Portal les connexions de châssis d'extension entre plusieurs châssis sont structurées
directement sous les modules émetteur et récepteur (tous deux étant des objets DeviceItem).
Toutefois, conformément à la recommandation AR APC, ces connexions sont structurées
comme des liaisons port à port sous un port de communication. Pour respecter cette
recommandation, une CommunicationInterface et un CommunicationPort factices sont insérés
dans le module IM.
L'exemple suivant montre une structure d'élément partielle du fichier AML exporté pour la
configuration de l'appareil ci-dessus :
Remarque
L'interface de châssis d'extension n'est donc exportée que si des connexions de châssis
d'extension existent. De même, le nombre de ports factices sur l'interface de châssis
d'extension dépend des ports abonnés de la connexion de châssis présents au niveau de
module. Dans l'exemple ci-dessus, le module "IM 460-0_1" prend en charge deux ports (IM 46x
SenderPort_1 et IM 46x SenderPort_2). Mais dans TIA Portal un seul port de liaison est
configuré. C'est pourquoi le fichier AML exporté ne contient qu'un seul port sous l'interface de
châssis d'extension.
ExternalInterface-
L'élément interne <ExternalInterface> doit être inséré sous l'élément interne
<CommunicationPort> qui participe à la liaison.
Lien interne
Les liaisons de châssis d'extension sont représentées à l'aide de variables <InternalLink>. Les
variables <InternalLink> doivent être insérées sous l'élément supérieur commun des différents
châssis (par ex. appareil). Le nom du lien doit être unique dans l'élément supérieur commun.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
À l'aide de TIA Portal Openness vous pouvez appeler, ajouter et supprimer des relations pour
les châssis d'extension. Vous pouvez ainsi aussi utiliser la prise en charge de TIA Portal
Openness pour la réalisation de relations pour des châssis d'extension lors de l'importation/
exportation CAx.
Code de programme
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Dans TIA Portal, vous pouvez exporter votre configuration dans un fichier AML, dans l'éditeur
"Appareils et réseaux". Cette fonction basée sur TIA Portal Openness permet d'exporter des
données de matériel du niveau projet ou appareils.
TIA Portal Openness offre les moyens suivants pour exporter des données CAx :
● Fonction d'exportation
La fonction d'exportation est accessible par le service CaxProvider. Pour le
service CaxProvider, appelez la méthode GetService pour l'objet Project.
● Interface de ligne de commande
Vous exécutez "Siemens.Automation.Cax.AmiHost.exe" sous "C:\Programmes\Siemens
\Automation\Portal V..\Bin\" en transmettant des arguments spécifiques dans la ligne de
commande.
● 6GK5 414-3FC10-2AA2
● 6GK5 495-8BA00-8AA2
● 6GK5 496-4MA00-8AA2
● 6GK5 602-0BA00-2AA3
● 6GK5 602-0BA10-2AA3
● 6GK5 612-0BA00-2AA3
● 6GK5 612-0BA10-2AA3
● 6GK5 613-0BA00-2AA3
● 6GK5 623-0BA10-2AA3
● 6GK5 627-2BA10-2AA3
● System:Device.Scalance/S627
● System:IPIProxy.Device
● System:IPIProxy.Rack
if(caxProvider != null)
Pour exporter toutes les données CAx au niveau du projet, modifiez le code de programme
suivant :
Pour exporter toutes les données CAx au niveau du projet, modifiez le code de programme
suivant :
Pour exporter toutes les données CAx au niveau projet via la ligne de commande, modifiez le
code de programme suivant :
//please adapt the path and the extension apx to the installed version of
TIA Portal
Siemens.Automation.Cax.AmiHost.exe -p "D:\Temp\MyProject.apx" -m "AML" -e
"D:\Import\CAx_Export.aml"
Pour exporter des données CAx au niveau appareil via la ligne de commande, modifiez le code
de programme suivant :
//please adapt the path and the extension apx to the installed version of
TIA Portal
Siemens.Automation.Cax.AmiHost.exe -p "D:\Temp\MyProject.apx" -d "S7300/
ET200M station_1" -m "AML" -e "D:\Import\CAx_Export.aml"
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Utilisation
Dans TIA Portal, vous pouvez importer votre configuration dans un fichier AML, dans l'éditeur
"Appareils et réseaux". Cette fonction permet d'importer des données de matériel du niveau
projet ou appareils.
TIA Portal Openness offre les moyens suivants pour exporter des données CAx :
● Fonction d'importation
La fonction d'importation est accessible par le service CaxProvider. Pour le
service CaxProvider, appelez la méthode GetService pour l'objet Project.
● Ligne de commande
Vous exécutez "Siemens.Automation.Cax.AmiHost.exe" sous "C:\Programmes\Siemens
\Automation\Portal V..\Bin\" en transmettant des arguments spécifiques dans la ligne de
commande :
if(caxProvider != null)
{
// Perform Cax export and import operation
}
Importation CAx
Pour importer des données CAx dans un projet de TIA Portal, utilisez la méthode Import avec
les paramètres suivants :
Pour importer des données CAx via la ligne de commande, modifiez le code de programme
suivant :
//please adapt the path and the extension apx to the installed version of
TIA Portal
Siemens.Automation.Cax.AmiHost.exe -p "D:\Temp\MyProject.apx" -m "AML" -i
"D:\Import\CAx_Export.aml"
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API est hors ligne.
Application
Entre TIA Portal et d'autres outils d'ingénierie, p. ex. un outil CAD comme EPLAN, des données
de sous-modules peuvent être échangées dans le procédé Round-Trip, une hiérarchie
commune des sous-modules devant être conservée dans le fichier AML durant l'exportation et
l'importation. Par exemple, les sous-modules comme l'adaptateur de bus doivent présenter
dans TIA Portal une autre hiérarchie interne que dans d'autres applications (p. ex. des outils
CAD comme EPLAN).
L'exemple suivant montre un extrait de la structure de fichier ALM générée à l'exportation d'un
BusAdapter comme sous-module depuis TIA Portal.
<Value>1</Value>
</Attribute>
<Attribute Name="BuiltIn" AttributeDataType="xs:boolean">
<Value>true</Value>
</Attribute>
<InternalElement ID="8fb775eb-96c6-48d6-af8a-96ba72418830" Name="IE1">
<Attribute Name="Type" AttributeDataType="xs:string">
<Value>Ethernet</Value>
</Attribute>
<Attribute Name="NetworkAddress" AttributeDataType="xs:string">
<Value>192.168.0.1</Value>
</Attribute>
<Attribute Name="SubnetMask" AttributeDataType="xs:string">
<Value>255.255.255.0</Value>
</Attribute>
<Attribute Name="IpProtocolSelection" AttributeDataType="xs:string">
<Value>Project</Value>
</Attribute>
<SupportedRoleClass RefRoleClassPath="AutomationProjectConfigurationRoleClassLib/Node" />
</InternalElement>
<InternalElement ID="f28a3d93-d821-4556-9df1-a45f0e4ff6a6" Name="Port_1">
<Attribute Name="Label" AttributeDataType="xs:string">
<Value>P1 R</Value>
</Attribute>
<Attribute Name="PositionNumber" AttributeDataType="xs:int">
<Value>1</Value>
</Attribute>
<Attribute Name="BuiltIn" AttributeDataType="xs:boolean">
<Value>true</Value>
</Attribute>
<SupportedRoleClass RefRoleClassPath="AutomationProjectConfigurationRoleClassLib/
CommunicationPort" />
</InternalElement>
<InternalElement ID="ad6a0faa-3b70-4528-8c54-8183018b6714" Name="Port_2">
<Attribute Name="Label" AttributeDataType="xs:string">
<Value>P2 R</Value>
</Attribute>
<Attribute Name="PositionNumber" AttributeDataType="xs:int">
<Value>2</Value>
</Attribute>
<Attribute Name="BuiltIn" AttributeDataType="xs:boolean">
<Value>true</Value>
</Attribute>
<SupportedRoleClass RefRoleClassPath="AutomationProjectConfigurationRoleClassLib/
CommunicationPort" />
</InternalElement>
...
Remarque
CAx exporte et importe la version de AR APC dans un fichier AML conformément à la version
de TIA Portal qui est installée.
Remarque
● Le nouveau comportement concernant la hiérarchie d'exportation n'est valable qu'à partir
de la version V15.1.
● La hiérarchie dans le fichier ALM ne doit pas influencer la hiérarchie interne dans TIA Portal
après l'importation.
● Des fichiers ALM générés avec d'anciennes versions de TIA Portal doivent également être
importés sans erreur.
● Ce comportement en liaison à la modification / la conversion de la hiérarchie est valable
pour les sous-modules insérés et non-insérés.
● Les détails du nœud qui sont dupliqués à partir du nœud de l'interface primaire sont gérés
comme suit :
– Attributs de nœuds : les détails concernant les attributs de nœuds, qui sont définis
pendant le traitement de l'interface primaire, sont écrasés.
– Liaison sous-réseau : une liaison est déjà établie est ignorée de manière implicite ; sinon,
la liaison concernée est établie.
● Si le fichier AML contient des détails sur la liaison réseau IO de l'interface secondaire,
– L'établissement de la liaison est ignoré si la liaison existe déjà et l'utilisateur en est
informé via un message correspondant dans l'onglet "Info".
– La liaison est établie si elle ne l'est pas déjà.
La configuration suivante montre la configuration d'un périphérique IO avec des connexions
maître-esclave et des liaisons topologiques.
L'exemple suivant montre l'extrait d'un fichier AML généré lors de l'exportation pour la
configuration ci-dessus :
</Attribute>
<Attribute Name="BuiltIn" AttributeDataType="xs:boolean">
<Value>true</Value>
</Attribute>
<ExternalInterface ID="81a7d9df-99b8-4eca-8e72-404b22bd05e7"
Name="LogicalEndPoint_Interface" RefBaseClassPath="CommunicationInterfaceClassLib/
LogicalEndPoint" />
<InternalElement ID="83eb7d69-8cd5-4217-a07a-0c656d215ec7" Name="IE1">
...
Remarque
● L'exportation de fichiers ALM sans nettoyage est toujours prise en charge dans TIA Portal.
● L'importation de fichiers ALM avec ou sans nettoyage est toujours prise en charge dans
TIA Portal.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
Lors de l'importation CAx dans TIA Portal, vous pouvez configurer la liaison entre voie et
variable sans indiquer l'adresse de début d'un module E/S et /ou l'adresse logique de la
variable dans le fichier AML.
L'exemple AML suivant montre le fichier XML qui doit être créé sans attributs pour l'adresse de
début et l'adresse logique.
<Value>Input</Value>
</Attribute>
<Attribute Name="Number" AttributeDataType="xs:int">
<Value>1</Value>
</Attribute>
<Attribute Name="Length" AttributeDataType="xs:int">
<Value>1</Value>
</Attribute>
</ExternalInterface>
<SupportedRoleClass RefRoleClassPath="AutomationProjectConfigurationRoleClassLib/
DeviceItem" />
</InternalElement>
<SupportedRoleClass RefRoleClassPath="AutomationProjectConfigurationRoleClassLib/
DeviceItem" />
<InternalLink Name="Link To Tag_1" RefPartnerSideA="29e0bb63-0050-46e3-968a-
fcecf4eb050a:Channel_DI_0" RefPartnerSideB="9564bcc2-8ea0-4be7-a950-5c55b34e474a:Tag_1" />
<InternalLink Name="Link To Tag_2" RefPartnerSideA="29e0bb63-0050-46e3-968a-
fcecf4eb050a:Channel_DI_0" RefPartnerSideB="9564bcc2-8ea0-4be7-a950-5c55b34e474a:Tag_2" />
<InternalLink Name="Link To Tag_3" RefPartnerSideA="29e0bb63-0050-46e3-968a-
fcecf4eb050a:Channel_DI_1" RefPartnerSideB="9564bcc2-8ea0-4be7-a950-5c55b34e474a:Tag_2" />
<InternalLink Name="Link To Tag_4" RefPartnerSideA="29e0bb63-0050-46e3-968a-
fcecf4eb050a:Channel_DI_2" RefPartnerSideB="9564bcc2-8ea0-4be7-a950-5c55b34e474a:Tag_2" />
</InternalElement>
<SupportedRoleClass RefRoleClassPath="AutomationProjectConfigurationRoleClassLib/
Device" />
</InternalElement>
<SupportedRoleClass RefRoleClassPath="AutomationProjectConfigurationRoleClassLib/
AutomationProject" />
</InternalElement>
</InstanceHierarchy>
</CAEXFile>
Nom Description
ChannelIoType Entrée (E) ou sortie (S)
ByteAddress ByteAddress est calculé comme suit :
StartAddress du module E/S * 8 + BitOffsetAddress du module E/S + (Channel‐
Number * ChannelLength) / 8
BitAddress BitAddress est calculé comme suit :
(BitOffsetAddress du module E/S + (ChannelNumber * ChannelLength)) % 8
Remarque
● Lorsqu'une variable s'applique à plusieurs modules : L'algorithme ci-dessus fournit
plusieurs adresses octet basées sur l'adresse de début des modules, ainsi qu'un tableau
d'adresses bit par adresse octet correspondant aux différents numéros de voies. Puis,
l'algorithme sélectionne dans le tableau la plus petite adresse octet et la plus petite adresse
bit correspondant à cet octet pour calculer l'adresse logique de la variable. Aussitôt que
l'adresse logique de la variable est affectée, la propriété globale est automatiquement prise
en compte par TIA Portal lors de l'importation.
● Seul un nombre réduit de configurations d'appareils (par ex. modules ASI) prennent en
charge l'attribut d'adresse BitOffset dans TIA Portal. Avec les modules ne prenant pas en
charge l'attribut d'adresse BitOffset, c'est la valeur par défaut "0"qui est considérée pour le
calcul ci-dessus.
La liste suivante contient les types de données variables qui prennent en charge, l'adresse de
bit dans TIA Portal :
Lors de l'importation CAx, si une variable booléenne est configurée pour un type de voie, le
calcul de l'adresse logique tient compte de l'adresse BitOffset. L'adresse logique et l'adresse
BitOffset sont actualisées comme adresse logique des variables dans l'interface utilisateur de
TIA Portal.
Nom Description
ChannelIoType Entrée (E) ou sortie (S)
TagDataType TagDataType est une abréviation du type de données.
Exemple : W pour Mot et B pour Bit
ByteAddress ByteAddress est calculé comme suit :
StartAddress du module E/S + (ChannelNumber * ChannelLength) / 8
L'algorithme décrit ci-dessus est utilisé pour calculer avec précision l'adresse logique d'une
variable dans les cas suivants :
● La longueur du type de données indiqué dans la variable doit être égale à celle de la voie
à laquelle le type de données est affecté.
● En cas d'affectation d'une variable du type "Octet" par exemple à une voie analogique d'une
longueur de 2 octets, lors de l'importation d'un fichier AML sans adresse logique des
variables dans TIA Portal, il faudra toujours attribuer la variable au premier octet de la voie,
indépendamment de l'octet auquel elle était initialement affectée.
Remarque
● Lorsqu'une variable s'applique à plusieurs modules : L'algorithme ci-dessus fournit
plusieurs adresses octet basées sur l'adresse de début des modules. Puis, l'algorithme
sélectionne dans le tableau la plus petite adresse octet pour calculer l'adresse logique de
la variable. Aussitôt que l'adresse logique avec la plus petite adresse octet de la variable est
affectée, la propriété globale est automatiquement gérée par TIA Portal lors de
l'importation. Lorsque l'attribut StartAddress pour le module E/S n'est pas indiqué dans le
fichier AML, la valeur standard est attribuée par TIA Portal et est ensuite utilisée pour le
calcul ci-dessus.
● Lorsque l'attribut StartAddress pour le module E/S n'est pas indiqué dans le fichier AML, la
valeur standard est attribuée par TIA Portal et est ensuite utilisée pour le calcul ci-dessus.
Après une importation réussie, la configuration de variables suivante a été créée pour
l'exemple décrit ci-dessus dans TIA Portal.
Les voies doivent être configurées avec les variables comme représenté ci-dessous.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Si l'opération CAx est exécutée via la ligne de commande, la boîte de dialogue suivante est
affichée en cas de non-disponibilité de TIA Openness.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API est hors ligne.
Utilisation
Vous pouvez échanger des données de configuration entre TIA Portal et d'autres outils
d'ingénierie tels qu'un outil de planification électrique comme EPLAN ou l'outil de sélection TIA
Selection Tool. Pour identifier les appareils à importer et exporter, on utilise un identifiant global
unique, AML GUID.
Pendant les processus Round-Trip, l'AML GUID pour les objets physiques, tels que les
appareils et les éléments d'appareils qui ne sont pas intégrés (par ex. CPU ou modules), reste
stable. Ce qui n'est pas le cas pour les objets virtuels comme les variables, les voies, etc.
Pendant la première exportation à partir de TIA Portal, l'AML GUID est généré de manière
aléatoire pour un appareil ou un élément d'appareil non intégré mais stabilisé ensuite.
Si vous exportez un appareil à partir d'un outil technique dans un projet TIA Portal vide, AML
GUID est ajouté dans le commentaire de l'objet matériel. Lorsque le paramètre correspondant
est activé dans TIA Portal sous "Outils > Paramètres > CAx > Paramètres d'importation", l'AML
GUID est ajouté dans la langue d'édition actuelle. Le processus Round-Trip ne prend en
charge qu'une langue d'éditeur pour les AML GUID. Si vous importez ou exportez des
données, utilisez toujours la langue d'édition dans laquelle vous avez commencé le Round Trip.
AML GUID reste identique pour cet objet matériel pour toutes les importations et exportations
suivantes. Les modifications effectuées sur l'objet matériel sont appliquées.
Les noms d'objets doivent être uniques au sein d'un projet TIA Portal. L'importation d'un
appareil ou d'un élément d'appareil dans un projet TIA Portal dans lequel un objet avec le
même nom existe déjà entraînerait un conflit de nom. Lors de l'importation, vous avez la
possibilité de déplacer les objets avec les conflits de noms dans l'emplacement de stockage
personnalisé. "_CAX" est ajouté au nom de l'objet importé.
Lors de l'exportation CAx du GUI
)LFKLHU$0/ 7,$3RUWDO
3DUNLQJ
$3, ,PSRUWDWLRQ
*8,' *8,' *8,'
*8,'
$3, 3/&B&$;
En vue de la prise en charge des versions précédentes de projet par le processus Round-Trip,
tous les AML GUID sont désormais enregistrés sous "CustomIdentity" (ID d'application) et non
plus comme "Comment" de l'appareil/élément d'appareil lors de la mise à niveau du projet. Les
AML GUID de l'appareil/élément d'appareil doivent être uniques et peuvent être enregistrés
dans chaque langue d'édition. On suppose donc que toutes les langues d'édition de
commentaires reçoivent un AML GUID lors de la mise à niveau du projet. AML GUID de
l'appareil/élément d'appareil est certes unique, mais si un nouveau GUID avec le Regex
[AR_APC:ID:*] approprié est ajouté au commentaire dans une langue d'édition quelconque,
c'est le premier GUID sélectionné parmi les langues d'édition qui sert de AML GUID de
l'appareil/élément d'appareil.
Dès que les AML GUID sont déplacés dans le commentaire dans CustomIdentity, le
commentaire sur l'appareil/élément d'appareil est actualisé en supprimant [AR_APC:ID:*],
comme le montre la figure suivante.
Si le commentaire contient plusieurs sections [AR_APC:ID:*], le premier GUID correspondant
au modèle est mis sur CustomIdentity-Repository, puis supprimer dans le commentaire. Le
texte restant est interprété comme un commentaire.
Remarque
Copie d'un appareil importé
Si vous copiez un appareil ou un élément d'appareil avec un AML GUID, vous devez supprimer
l'AML GUID dans le commentaire de l'objet copié. Faute de quoi, il existe des appareils ou des
éléments d'appareils ayant des AML GUID identiques dans votre projet, ce qui aboutit à un
fichier AML invalide.
Paramétrage de l'importation
1. Définissez le nom de dossier de l'emplacement de stockage sous "Options > Paramètres >
CAx > Paramètres de résolution de conflit".
Le dossier de l'emplacement de stockage sert à enregistrer des objets avec des conflits de
noms.
2. Activez "Options > Paramètres > CAx > Paramètres d'importation > Enregistrer GUID
pendant l'importation".
Lors de l'importation :
● Les GUID d'un asset physique sont enregistrés comme éléments de la section
CustomIdentity.
● Lors de l'importation d'une fichier AML, les GUID sont enregistrés comme éléments de
CustomIdentity.
Remarque
AML GUID valides
Si vous éditez un AML GUID avant l'importation, celui-ci n'est plus valide et l'importation CAx
est annulée. Une information correspondante est journalisée.
Remarque
Commentaire trop long
Si l'annexe du commentaire AML GUID dépasse la longueur maximale de 500 caractères, le
commentaire de l'utilisateur est limité à 500 caractères. Une information correspondante est
journalisée.
Exporter
Lors de l'exportation :
● Le GUID à exporter est exporté de CustomIdentity pour la clé AR_APC:ID.
● Si le GUID n'est pas disponible comme élément dans CustomIdentity, le GUID multi-
utilisateur est appelé, puis exporté comme AML GUID.
● Si aucune des deux étapes décrites ci-dessus ne permet de mettre à disposition le GUID
d'un asset physique, le processus d'exportation génère de façon aléatoire un nouveau
GUID qui est considéré comme AML GUID pour les assets physiques.
Structure AML
L'identification créée est exportée dans un fichier AML comme décrit dans la section de code
suivante :
<InternalElement ID="23aeefd0-ce05-4116-a644-e33d43901eaf"
Name="PLC_1"
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API est hors ligne.
Application
Il doit être possible d'importer un fichier AML avec des artefacts inconnus dans TIA Portal, les
artefacts inconnus étant ignorés et seules les informations pertinentes étant reprises. Les
artefacts inconnus contiennent des informations inutiles qui ne sont pas pertinentes pour les
importations CAx. Les possibles artefacts inconnus peuvent être des attributs, des sous-
attributs, des éléments internes et des interfaces externes.
Deux réactions sont possibles ici lorsqu'un artefact inconnu est rencontré lors de l'importation :
● L'artefact inconnu est "connu" mais sans importance pour TIA Portal et peut être ignoré de
manière implicite
● L'artefact inconnu est "inconnu" et il est ignoré mais signalé par un avertissement
Remarque
La valeur "*" dans ItemType doit être utilisée pour ignorer toutes les survenues d'un attribut/
sous-attribut défini dans tous les éléments internes/toutes les interfaces externes d'un fichier
AML.
L'exemple de structure suivant montre le métafichier de liste blanche pour les opérations
logiques.
Remarque
● ItemType représente le type de catégorie de rôle.
● La valeur "*" dans ItemType doit être utilisée pour ignorer toutes les survenues d'une
interface interne définie dans tous les éléments internes d'un fichier AML.
● RefBaseClassPath représente le RefBaseClassPath d'une interface externe inconnue.
Remarque
ModuleAssignment est ignoré à toutes les positions dans le fichier AML.
Remarque
● ItemType représente le type de catégorie de rôle.
● En cas d'utilisation d'un * à la place de ItemType, cet élément interne est ignoré
indépendamment de sa position dans le fichier AML.
● WhiteListKey représente le RefBaseClassPath.
● WhiteListValue représente la catégorie de rôle de l'élément interne.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API est hors ligne.
Utilisation
Dans TIA Portal, vous pouvez exporter les appareils avec leurs informations de topologie dans
un fichier AML. En cas d'importation dans un projet TIA Portal vide, les éléments d'appareil
importés conservent les informations de topologie.
L'élément <InteralLink> fournit des informations de liaison de connexions port à port entre les
éléments d'appareil. Il apparaît sous l'objet de niveau supérieur commun des appareils
connectés et contient des noms de variables uniques.
Structure AML
La figure suivante montre une structure d'élément partielle du fichier AML exporté. Elle contient
deux ID uniques pour les ports dans des API.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
Vous pouvez importer des appareils (stations)/éléments d'appareils (modules, sous-modules)
dans un fichier AML à l'aide de références de bibliothèque dans TIA Portal.
Structure AML
La structure AML suivante décrit le fichier XML à utiliser lors de l'importation dans un projet TIA
Portal.
...
<InternalElement ID="bed34f88-7a3f-4e37-a32f-df1a6dcb954a" Name="S71500/ET200MP station_1">
<Attribute Name="TypeIdentifier" AttributeDataType="xs:string">
<Value>System:Device.S71500</Value>
<Attribute Name="TemplateReference“ AttributeDataType="xs:string">
<Value>GlobalLib://StationPlcLibrary/Master copies/DeviceFolder/S71500ET200MP station_1</
Value>
</Attribute>
</Attribute>
<SupportedRoleClass RefRoleClassPath="AutomationProjectConfigurationRoleClassLib/
Device" />
...
<InternalElement ID="5082f437-4198-4dcb-b794-35b6b9fcd104" Name="PLC_1">
<Attribute Name="TypeIdentifier" AttributeDataType="xs:string">
<Value>OrderNumber:6ES7 214-1BE30-0XB0</Value>
<Attribute Name="TemplateReference" AttributeDataType="xs:string">
<Value>GlobalLib://StationPlcLibrary/Master copies/PLC_1</Value>
</Attribute>
</Attribute>
</InternalElement>
...
</InternalElement>
...
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API est hors ligne.
Utilisation
L'objet Device est un objet conteneur pour une configuration centralisée ou décentralisée. Il
constitue l'objet de niveau supérieur pour les objets DeviceItem et l'élément interne de
niveau le plus élevé de la hiérarchie d'instance du projet TIA Portal dans la structure d'un fichier
AML.
L'exportation de données CAx prend en charge les types d'appareil indiqués par l'identifiant de
type AML :
● Modules physiques
● Appareils basés sur GSD/GSDML
● Systèmes
Les appareils peuvent être regroupés dans un objet DeviceUserFolder.
Remarque
Lors de l'exportation d'un appareil individuel, tous les sous-réseaux du projet sont exportés eux
aussi.
Attributs
Le tableau suivant montre les attributs correspondants de l'objet d'appareil de fichiers
d'importation et d'exportation assistés par ordinateur :
Mais l'importation CAx permet d'éditer ces types et de créer des appareils correctement.
Les appareils suivants prennent en charge le remplacement d'identifiants de type génériques
ou d'identifiants de type manquants :
● Appareils GSD et GSDML
● Appareils basés MDD (sauf appareils GSD/GSDML)
Pour les appareils génériques ou les appareils sans identifiant de type et avec châssis
générique et de remplacement d'identifiant de type, le module de tête (pour les appareils
décentralisés) ou l'API (dans des configurations centralisées) doit être existant dans le châssis
décrit dans le fichier AML. Sinon, les appareils sans identifiant de type ou le remplaçant de
l'identifiant de type pour appareils et châssis génériques ne seront pas traités.
La structure XML suivante montre une configuration d'appareil à identifiant de type non
générique :
La structure XML suivante montre une configuration d'appareil à identifiant de type générique :
La structure XML suivante montre une configuration d'appareil avec un identifiant de type pour
l'appareil :
La structure XML suivante montre une configuration d'appareil sans identifiant de type pour
l'appareil :
Voir aussi
Structure des données CAx pour l'importation/exportation (Page 943)
Identifiants de type AML (Page 948)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API est hors ligne.
Utilisation
L'objet Device est un objet conteneur pour une configuration centralisée ou décentralisée. Il
constitue l'objet de niveau supérieur pour les objets DeviceItem et l'élément interne de
niveau le plus élevé de la hiérarchie d'instance du projet TIA Portal dans la structure d'un fichier
AML.
L'importation de données CAx prend en charge les types d'appareil indiqués par l'identifiant de
type AML :
● Modules physiques
● Appareils basés sur GSD/GSDML
● Systèmes
● Appareils génériques
Quand il y a déjà un objet DeviceUserFolder dans un projet TIA Portal, les appareils sont
regroupés dans le dossier correspondant.
Si vous connaissez uniquement l'identifiant (TypeIdentifier) d'un module de tête ou d'un
API et pas celui du châssis correspondant et de l'appareil, vous pouvez importer un châssis
générique.
Exemple : TypeIdentifier = System:<Prefix>.Generic
Pour l'échange d'appareils génériques, il faut que les éléments suivants soient présents dans
le châssis décrit dans le fichier AML.
● Appareils centralisés : AP
● Appareils décentralisés : module de tête
Si les appareils sont génériques, l'attribut BuiltIn définit le type de châssis ou de module :
● Physique : BuiltIn = True
● Générique : BuiltIn = False
Voir aussi
Structure des données CAx pour l'importation/exportation (Page 943)
Identifiants de type AML (Page 948)
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API est hors ligne.
Utilisation
Dans TIA Portal, vous pouvez exporter les objets d'adresse d'éléments d'appareils IO dans un
fichier AML. En cas d'importation dans un projet TIA Portal vide, les éléments d'appareil
importés conservent les objets d'adresse dans les éléments d'appareils IO correspondants.
L'attribut Address dans le fichier AML contient RefSemantic avec le paramètre obligatoire sur
la valeur indiquée OrderedListType.
Structure AML
La figure suivante montre une structure d'élément partielle du fichier AML exporté. Elle contient
les éléments Address et leurs attributs.
Pruned XML
Pruning (élagage) décrit le processus d'optimisation du contenu en supprimant certaines
choses qui ne doivent pas nécessairement être indiquées dans le fichier XML. Les informations
créées automatiquement sur le sous-module ne sont pas indiquées dans ce fichier XML réduit
et les objets d'adresse correspondants sont disposés sous l'élément directement supérieur.
La figure suivante montre une structure d'élément partielle du fichier AML exporté avant le
Pruning.
Voir aussi
Pruned AML (Page 940)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API est hors ligne.
Utilisation
Dans TIA Portal, vous pouvez exporter les objets de voie d'éléments d'appareils IO dans un
fichier AML. En cas d'importation dans un projet TIA Portal vide, les éléments d'appareil
importés conservent les objets de voie dans les éléments d'appareils IO correspondants.
L'élément <ExternalInterface> est représenté dans des éléments internes de nœuds et sous-
réseaux et indique que les nœuds et sous-réseaux sont reliés.
Numérotation de voies
Les voies d'entrées TOR, de sorties TOR, d'entrées analogiques, de sorties analogiques et les
voies technologiques sont numérotées comme DI_0, DO_0, AI_0, AO_0,TO_0. Les voies sur
les éléments d'appareils eux-mêmes sont numérotées en premier et ensuite les voies sur les
éléments d'appareils inférieurs (en profondeur d'abord). Tous les autres éléments d'appareil
ont un numéro de voie propre commençant par 0.
Structure AML
La figure suivante montre une structure d'élément partielle du fichier AML exporté.
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API est hors ligne.
Utilisation
L'exportation d'objets d'élément d'appareil n'est utilisable que sur des appareils API.
Les objets DeviceItem sont des éléments inférieurs connectés d'un objet Device : Un objet
du type DeviceItem peut être aussi bien un châssis qu'un module enfiché.
● Le premier élément qui suit un appareil est de type "châssis". Le PositionNumber d'un
châssis commence à 0. S'il existe plusieurs châssis, ceux-ci sont numérotés de manière
continue (1, 2, 3, ...).
Il n'existe aucune restriction relative à l'ordre dans un niveau hiérarchique du fichier AML.
● Tous les autres éléments suivants du type "Châssis" sont des modules.
L'exportation de données CAx prend en charge les types d'éléments d'appareil indiqués par
l'identifiant de type AML :
● Modules physiques
● Modules GSD/GSDML
Attributs
Le tableau suivant montre les attributs correspondants des objets de fichiers d'importation et
d'exportation assistés par ordinateur :
Le tableau suivant représente les attributs imbriqués des attributs "Address" de l'objet
"DeviceItem" :
Voir aussi
Exportation/importation d'appareils et éléments d'appareils basés sur GSD/GSDML
(Page 1015)
Structure des données CAx pour l'importation/exportation (Page 943)
Identifiants de type AML (Page 948)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Etablissement d'une connexion au portail TIA (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API est hors ligne.
Utilisation
L'importation d'objets d'élément d'appareil n'est utilisable que sur des appareils API.
Les objets DeviceItem sont des éléments inférieurs connectés d'un objet Device : Un objet
du type DeviceItem peut être aussi bien un châssis qu'un module enfiché.
● Le premier élément qui suit un appareil est de type Châssis. Le PositionNumber d'un
châssis commence à 0. S'il existe plusieurs châssis, ceux-ci sont numérotés de manière
continue (1, 2, 3, ...).
Il n'existe aucune restriction relative à l'ordre dans un niveau hiérarchique du fichier AML.
● Tous les autres éléments suivants du type Châssis sont des modules.
L'importation de données CAx prend en charge les types d'éléments d'appareil indiqués par
l'identifiant de type AML :
● Modules physiques
● Modules GSD/GSDML
● Modules génériques
Si vous connaissez uniquement l'identifiant (TypeIdentifier) d'un module de tête ou d'un
API et pas celui du châssis correspondant et de l'appareil, vous pouvez importer un châssis
générique.
Exemple : TypeIdentifier = System:Rack.Generic
Pour l'échange de châssis génériques, les éléments suivants doivent être présents dans le
châssis décrit dans le fichier AML.
● Appareils centralisés : AP
● Appareils décentralisés : module de tête
Un châssis générique provient du type Device. Par conséquent, un fichier AML importé dans
TIA Portal peut utiliser l'identifiant de type de ce châssis :
Dans ce cas, c'est TIA Portal qui détermine l'identifiant de type pour le châssis.
Si des châssis et des modules sont génériques, l'attribut BuiltIn définit le type de châssis ou
de module :
● Physique : BuiltIn = True
● Générique : BuiltIn = False
Restrictions
Pendant l'importation, l'attribut DeviceItemType est sans importance et il est optionnel.
Remarque
Attribut "FirmwareVersion"
Si aucune FirmwareVersion n'est indiquée dans le fichier d'importation, la dernière version
de firmware disponible dans TIA Portal est utilisée lors de l'importation CAx.
Quand l'attribut FirmwareVersion figure dans le fichier d'importation avec une valeur vide,
l'importation de l'élément d'appareil échoue et un message d'erreur est consigné dans le
journal.
Configuration importée
La figure suivante montre la configuration importée dans l'interface utilisateur de TIA Portal :
Voir aussi
Structure des données CAx pour l'importation/exportation (Page 943)
Identifiants de type AML (Page 948)
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API est hors ligne.
Utilisation
L'importation/exportation CAx d'appareils et éléments d'appareils basés sur GSD/GSDML est
comparable avec l'importation/exportation d'appareils standards.
Les attributs exportables sont différents pour les appareils et éléments d'appareils basés sur
GSD/GSDML ; par ex. l'attribut "Label" existe pour GSD/GSDML.
L'importation générique d'appareils et de châssis est possible. Pour l'importation, utilisez la
même identification que pour les appareils standard :
● Importation d'appareils génériques : TypeIdentifier = System:Device.Generic
● Importation de châssis génériques : TypeIdentifier = System:Rack.Generic
Si les appareils sont génériques, l'attribut BuiltIn définit le type :
● Physique : BuiltIn = True
● Générique : BuiltIn = False
La structure XML suivante montre une configuration par GSDML d'appareils (sans identifiant
de type) et de châssis (identifiant de type générique) :
La structure XML suivante montre une configuration par GSDML d'appareils (identifiant de type
générique) et de châssis (identifiant de type générique) :
Voir aussi
Identifiants de type AML (Page 948)
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API est hors ligne.
Application
TIA Portal utilise pour la communication entre les appareils des ports qui se trouvent dans les
interfaces. Mais il existe certains types d'appareils sur lesquels les ports se trouvent
directement dans les éléments d'appareils qui ne sont pas des interfaces. Cela ne correspond
pas au standard AML qui spécifie que les ports doivent toujours être contenus dans les
interfaces.
CAx utilise une interface imaginaire, appelée interface virtuelle, pour l'exportation et
l'importation de la configuration de l'appareil lorsque les ports se trouvent directement dans les
éléments d'appareils.
Jusqu'à TIA Portal V16 l'interface virtuelle est exportée avec les attributs suivants :
● Nom : ScalanceInterface_1
● Désignation : Switch
À partir de TIA Portal V16 l'interface virtuelle est exportée avec les attributs suivants :
● Nom : VirtualInterface_1
● Désignation : X1
● Type : Ethernet
Importer
CAx prend en charge l'importation d'interfaces virtuelles. Les ports de l'interface virtuelle sont
ensuite traités dans le fichier AML sous l'élément supérieur correct dans TIA Portal. Ici, chaque
interface portant la désignation "Switch" est interprétée comme une interface virtuelle. À partir
de TIA Portal V16, cette désignation n'est plus utilisée comme identifiant, car elle a été
remplacée par X1, ce qui correspond à une interface réelle.
Néanmoins, "Ethernet" a été défini comme attribut de type pour l'interface virtuelle ; il est
optionnel. À partir de TIA Portal V16 tous les éléments d'interface présents dans le fichier AML
qui ne sont pas désignés par "Switch" sont donc traités normalement et, chaque fois qu'ils
apparaissent dans le fichier AML, CAx effectue une tentative d'appel depuis TIA Portal.
La recherche d'interfaces virtuelles par CAx échoue, toutefois les ports contenus sont traités.
Mais si CAx ne trouve pas d'interface réelle, les ports contenus ne sont pas traités.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouverture d'un projet (Page 109)
● L'API est hors ligne.
Structure AML
Les sous-réseaux décrivent un réseau physique, notamment les appareils connectés au même
réseau de type PROFIBUS, PROFINET, MPI ou ASI.
Les liaisons entre un réseau et les éléments d'appareil sont représentées comme référence
pour l'objet réseau. Il n'y a pas de référence des objets réseau aux éléments d'appareil reliés.
Les paramètres de réseau sont enregistrés dans l'objet réseau. Les paramètres concernant
une interface de réseau d'un certain élément d'appareil qui est relié à un réseau sont
enregistrés dans un objet nœud de réseau dans cet élément d'appareil. La communication est
souvent régulée par "Voies", "Ports" et "Interfaces".
Les sous-réseaux sont exportés dans le fichier AML comme éléments internes, avec la
classification de rôle "Sous-réseau" dans la hiérarchie d'instances.
Un sous-réseau a les éléments reliés suivants dans la structure AML :
● Élément interne avec la classification de rôle "Nœud"
Détermine l'interface sur un élément d'appareil.
● <InternalLink>
Détermine les partenaires reliés du sous-réseau. Le nom de variable <InternalLink>
est unique et est toujours ajouté dans le fichier AML sous l'élément interne du projet.
● <ExternalInterface>
Constate dans des éléments internes de nœuds et sous-réseaux que les nœuds et sous-
réseaux sont reliés. Lorsque les nœuds ou sous-réseaux ne sont pas reliés, les
éléments <ExternalInterface> n'existent pas pour les nœuds et sous-réseaux.
Utilisation
Dans TIA Portal V16 l'importation CAx prend en charge Ethernet et Profinet et l'exportation du
type de sous-réseau et des attributs de nœuds a lieu via Ethernet.
L'importation/exportation assistée par ordinateur prend en charge les types suivants de sous-
réseaux :
● Ethernet
● PROFIBUS
● MPI
● ASi
Remarque
● L'importation CAx prend en charge Ethernet et Profinet pour les attributs type de sous-
réseau et type de nœud.
● L'importation CAx d'un fichier AML avec des valeurs de chaînes sans faire de distinction
entre majuscules et minuscules pour les attributs (exemple : Profinet, PROFINET,
pROFINET, ProFINET, etc.) est prise en charge.
● L'exportation CAx prend en charge Ethernet.
Structure AML
Les figures suivantes montrent la structure du fichier AML exporté.
Voir aussi
Structure des données CAx pour l'importation/exportation (Page 943)
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API est hors ligne.
Structure AML
Les réseaux IO sont représentés comme <InternalElement> dans la structure AML.
Les réseaux IO d'un maître ou d'un contrôleur IO sont ajoutés sous l'élément
<CommunicationInterface> de l'élément d'appareil d'une interface.
Les réseaux IO reliés comme esclave ou comme périphérique IO sont ajoutés comme
éléments <ExternalInterface> sous l'élément <CommunicationInterface> de
l'élément d'appareil d'une interface.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions requises
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API est hors ligne.
Utilisation
Commentaires d'exportation et d'importation et commentaires multilingues sur l'échange de
données CAx des objets matériels suivants :
● appareils (appareil)
● modules (éléments d'appareils)
● variables (variable)
L'importation/exportation de commentaires multilingues comprend toutes les langues de TIA
Portal.
Restrictions
● Exportation
– Un attribut "Comment" est exporté vers le fichier AML seulement s'il existe un
commentaire.
● Importation
– L'attribut ""Comment" " est facultatif.
– Pour les éléments d'appareil virtuels, aucun commentaire ne peut être importé.
Structure AML
Après l'exportation de ces configurations, les commentaires multilingues sont générés comme
des attributs imbriqués de l'appareil, de l'élément d'appareil ou des variables.
● L'attribut de niveau supérieur "Comment" doit posséder la valeur utilisée dans la langue par
défaut.
● L'attribut qui suit existe pour chaque commentaire en langue étrangère.
Voir aussi
Structure des données CAx pour l'importation/exportation (Page 943)
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est reliée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API est hors ligne.
Utilisation
Les mnémoniques et les variables exportés et importés sont affectés à un élément d'appareil.
L'importation/exportation assistée par ordinateur concerne les mnémoniques et les variables
en rapport avec le matériel. Les mnémoniques et les variables sont exportés seulement avec
l'élément d'appareil de la consigne de commande, par exemple de la CPU, et non avec d'autres
éléments d'appareil auxquels ils se réfèrent, un module d'E/S par exemple. Comme les
appareils, les variables sont souvent subdivisées en tables de variables et dans une structure
hiérarchique en dossiers.
Remarque
TIA Portal V16 prend en charge l'exportation et l'importation de l'attribut IoType dans des
fichiers AML avec AR APC V1.1.0.
Voir aussi
Structure des données CAx pour l'importation/exportation (Page 943)
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API est hors ligne.
Application
TIA Portal vous permet d'importer les fichiers AML dans AR APC V1.1 pour API R/H dans la
même configuration d'adresses IP.
Attribut
TIA Portal ne prend en charge un attribut dans le fichier AML pour API R/H que s'il est
disponible dans l'interface utilisateur de TIA Portal :
Restriction
● Exporter
- Uniquement en cas de sélection de "Partager l'adresse IP système pour la connexion
activée" dans TIA Portal.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API est hors ligne.
Application
Vous pouvez exporter et importer avec TIA Portal des fichiers AML dans AR APC V1.1 avec un
sous-attribut de type 'Customized' pour variable et DeviceItem.
Attribut
Le tableau ci-dessous montre l'attribut correspondant d'une variable disponible lors de
l'importation et l'exportation CAx de fichiers :
Le tableau ci-dessous montre l'attribut correspondant d'un élément d'appareil disponible lors
de l'importation et l'exportation CAx de fichiers :
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Établir une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API est hors ligne.
Application
Vous pouvez exporter et importer avec TIA Portal un fichier AML dans AR APC V1.1 avec un
API de sécurité avec des attributs de sécurité.
Attributs
Le tableau ci-dessous montre la liste d'attributs de sécurité de fichiers AML pour l'importation
CAx et l'exportation CAx :
<SupportedRoleClass RefRoleClassPath="AutomationProjectConfigurationRoleClassLib/
DeviceItem" />
</InternalElement> <InternalElement ID="0f746d71-035e-4e64-b0d7-51d0449cfd88" Name="OPC
UA_1">
<Attribute Name="PositionNumber" AttributeDataType="xs:int">
<Value>254</Value>
</Attribute>
<Attribute Name="BuiltIn" AttributeDataType="xs:boolean">
<Value>true</Value> </Attribute>
<SupportedRoleClass RefRoleClassPath="AutomationProjectConfigurationRoleClassLib/
DeviceItem" />
</InternalElement>
<InternalElement ID="a0633104-a2ac-4680-bb99-81df50f5ec40" Name="PROFINET interface_1">
<Attribute Name="Label" AttributeDataType="xs:string">
<Value>X1</Value>
</Attribute>
<Attribute Name="PositionNumber" AttributeDataType="xs:int">
<Value>32768</Value>
</Attribute>
<Attribute Name="BuiltIn" AttributeDataType="xs:boolean">
<Value>true</Value>
</Attribute>
<InternalElement ID="e3497176-dbba-4fec-9d3a-772ae13987c4" Name="E1">
<Attribute Name="Type" AttributeDataType="xs:string">
<Value>Ethernet</Value> </Attribute>
<Attribute Name="NetworkAddress" AttributeDataType="xs:string">
<Value>192.168.0.1</Value>
</Attribute>
<Attribute Name="SubnetMask" AttributeDataType="xs:string">
<Value>255.255.255.0</Value>
</Attribute>
<Attribute Name="IpProtocolSelection" AttributeDataType="xs:string">
<Value>Project</Value>
</Attribute>
<SupportedRoleClass RefRoleClassPath="AutomationProjectConfigurationRoleClassLib/Node" />
</InternalElement>
<InternalElement ID="3208384f-d5ba-4ccb-b8da-f08ec38ec681" Name="Port_1">
<Attribute Name="Label" AttributeDataType="xs:string">
<Value>P1 R</Value>
</Attribute>
<Attribute Name="PositionNumber" AttributeDataType="xs:int">
<Value>32769</Value>
</Attribute>
<Attribute Name="BuiltIn" AttributeDataType="xs:boolean">
<Value>true</Value>
</Attribute>
<SupportedRoleClass RefRoleClassPath="AutomationProjectConfigurationRoleClassLib/
CommunicationPort" />
</InternalElement>
<InternalElement ID="4a47c05e-9656-4e02-9b51-23b065b6fe47" Name="Port_2">
<Attribute Name="Label" AttributeDataType="xs:string">
<Value>P2 R</Value>
</Attribute>
<Attribute Name="PositionNumber" AttributeDataType="xs:int">
<Value>32770</Value>
</Attribute>
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établissement d'une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
● L'API est hors ligne.
Application
Vous pouvez exporter et importer avec TIA Portal un fichier AML dans AR APC V1.1 avec une
entrée/sortie de sécurité avec des attributs de sécurité.
Attributs
Le tableau suivant montre les attributs correspondants qui sont disponibles dans les modules/
sous-modules d'E/S pour les fichiers d'importation CAx et les fichiers d'exportation CAx :
Remarque
● FSourceAddress est protégée en écriture pour la plupart des E/S de sécurité – ne permet
donc pas l'écriture et constitue une réflexion de l'attribut FCentralFSourceAddress de l'API
de sécurité. La même valeur est exportée et ignorée lors de l'importation.
● Si FSourceAddress et FDestinationAddress sont protégées en écriture, la valeur est
exportée. Toutefois, un message d'avertissement doit être affiché pendant l'importation
dans l'onglet Info de TIA Portal.
● FSourceAddress et FDestinationAddress doivent être pris en charge au niveau du module
d'E/S et du sous-module d'E/S.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Conditions
● L'application TIA Portal Openness est connectée à TIA Portal.
Voir Établir une connexion à TIA Portal (Page 79)
● Un projet est ouvert.
Voir Ouvrir un projet (Page 109)
Application
Vous pouvez exporter et importer avec TIA Portal un fichier AML pour les appareils et éléments
d'appareils avec l'attribut "Manufacturer", afin de remplacer des informations spécifiques au
fabricant dans différents scénarios Round Trip.
L'attribut "Manufacturer" n'est pas pris en charge par Openness. Il est repris lors de
l'exportation/importation par "Transformation Plugin".
Remarque
Les fichiers AML doivent être générés/exportés de TIA Portal V16 dans AR APC V1.1.
Exporter
Vous pouvez exporter l'attribut "Manufacturer" dans un fichier AML, à condition qu'il soit
présent dans l'AmiModel qui est rempli par les utilisateurs de "Transformation Plugin".
Importer
Vous pouvez importer dans TIA Portal l'attribut "Manufacturer" contenant l'attribut spécifique
au fabricant disponible dans l'AmiModel qui est repris par les utilisateurs de "Transformation
Plugin".
Pour l'instant, cet attribut n'est pris en charge que pour des appareils et éléments d'appareils
du type "Entraînement", car ceux-ci sont les seuls à posséder le "Transformation Plugin" officiel
écrit pour CAx.
Voir aussi
Etablissement d'une connexion au portail TIA (Page 79)
Ouvrir un projet (Page 109)
Modifications
Si vous avez tenu compte des remarques concernant la programmation dans plusieurs
versions et n'avez pas mis à jour votre projet à la version V15.1, vos applications fonctionnent
sans aucune restriction sur tout ordinateur, même si seul TIA Portal V15.1 est installé.
Si vous mettez à jour votre projet à la version V15.1, il est nécessaire de recompiler votre
application avec le fichier SiemensEngineering.dll de version V15.1. Dans certains cas, il peut
être nécessaire d'adapter le code de votre application.
Identifiant de type
L'identifiant de type pour les châssis et les appareils de type "PC avec ports" et "Appareil
Ethernet" a été modifié.
PC avec ports Identifiant de type avant V15.1 Identifiant de type à partir de V15.1
Appareil (device) System:DesktopPC.Device System:Device.DesktopPC
Châssis (rack) System:DesktopPC.Rack System:Rack.DesktopPC
Élément d'appareil System:DesktopPC.Port<X> System:DeviceItem.EthernetDevi‐
<X> denotes the number of ports ce.Port<X>
<X> denotes the number of ports
Attribut TransmissionRateAndDuplex
Certaines valeurs d'énumération pour l'attribut TransmissionRateAndDuplex ont été corrigées,
p. ex., la valeur d'énumération "POFPCF100MbpsFullDuplexLD" a été supprimée et
"POFPCF100MbpsFullDuplex" a été ajoutée. Vous trouverez des informations détaillées
sous Attributs configurables d'une liaison port à port (Page 138).
Importation/exportation de blocs F
L'importation de blocs F de versions antérieures n'est pas possible.
L'exportation de blocs F générés par le système est empêchée à partir de TIA Portal
Openness V15.1.
Systèmes R/H
Le téléchargement et l'accès pour des appareils R/H sont disponibles sur l'appareil.
Les fournisseurs en ligne et de téléchargement ne sont pas disponibles pour les PLC R/H
(DeviceItems).
Le SoftwareContainer n'est pas disponible pour le PLC2 d'un système R/H
Modifications
Si vous avez tenu compte des remarques concernant la programmation dans plusieurs
versions et n'avez pas mis à jour votre projet à la version V15, vos applications fonctionnent
sans aucune restriction sur tout ordinateur, même si seul TIA Portal V15 est installé.
Si vous mettez à jour votre projet à la version V15, il est nécessaire de recompiler votre
application avec la SiemensEngineering.dll de version V15.
Dans certains cas, il est nécessaire d'adapter le code de votre application.
● Modifications du comportement pour les compositions dans DeviceItemComposition
● BitOffset d'adresses Asi
● Classe Exception
● Dossiers système de types de données utilisateur système
● Les sous-modules n'ont pas les attributs Author et TypeName
● Horodatage de la dernière modification
● Fichier XML d'exportation pour blocs GRAPH
● Importer des tables des variables
● Modifier les attributs pertinents non relatifs à la sécurité d'un API
● Modifier les paramètres de sécurité en cas de réglage d'un mot de passe de sécurité
● Accès à des objets dans une CPU S7-1200
Classe Exception
ServiceID et MessageID ont été supprimés de la classe exception.
Modifier les paramètres de sécurité en cas de réglage d'un mot de passe de sécurité
Les paramètres de sécurité d'E/S de sécurité ne peuvent être modifiés que si le mot de passe
de sécurité n'est pas paramétré.
Introduction
Les modifications suivantes ont été apportées au modèle d'objet TIA Portal Openness API V14
SP1, ce qui peut avoir des effets sur vos applications existantes :
Modifications du comportement
Remarque
Le modèle objet décrit dans le diagramme est déconseillé. Vous trouverez des informations sur
le modèle d'objet de TIA Portal Openness V14 SP1 sous AUTOHOTSPOT
'HYLFHVQ
'HYLFH*URXS
'HYLFHVQ 'HYLFH 'HYLFH,WHPVQ 'HYLFH,WHP
$EVWUDFW!!
*OREDO/LEUDU\ 3URMHFW/LEUDU\
0DVWHU&RS\6\VWHP)ROGHU 0DVWHU&RS\8VHU)ROGHU
3URMHFW/LEUDU\
/LEUDU\7\SH)ROGHU 7\SHVQ /LEUDU\7\SH 9HUVLRQVQ /LEUDU\7\SH9HUVLRQ
7\SH)ROGHU $EVWUDFW!! )ROGHUVQ
/LEUDU\7\SH6\VWHP)ROGHU /LEUDU\7\SH8VHU)ROGHU
6FUHHQ*OREDO(OHPHQWV 6FUHHQ*OREDO(OHPHQWV
+PL7DUJHW
6FUHHQ2YHUYLHZ 6FUHHQ2YHUYLHZ
6FUHHQ7HPSODWH)ROGHU )ROGHUVQ 6FUHHQ7HPSODWH8VHU)ROGHU
$EVWUDFW!! 6FUHHQ7HPSODWHVQ 6FUHHQ7HPSODWH
6FUHHQ7HPSODWH)ROGHU 6FUHHQ7HPSODWH6\VWHP)ROGHU
2%
3OF%ORFN*URXS %ORFNVQ 3OF%ORFN
$EVWUDFW!! *URXSVQ $EVWUDFW!!
,QVWDQFH'%
$UUD\'%
3OF6RIWZDUH
7DJVQ
3OF7DJ7DEOH*URXS *URXSVQ
$EVWUDFW!! 7DJ7DEOHVQ 3OF7DJ7DEOH
&RQVWDQWVQ
3OF&RQVWDQW
7HFKQRORJLFDO,QVWDQFH'
7HFKQRORJLFDO2EMHFW*URXS 7HFKQRORJLFDO,QVWDQFH'%*URXS 7HFKQRORJLFDO2EMHFWV 7HFKQRORJLFDO,QVWDQFH'%&RPSRVLWLRQ %ORFNVQ
'DWD%ORFN
Project DeviceItem
PlcSoftware
HmiTarget
Introduction
Les modifications suivantes ont été apportées au modèle d'objet API V14 SP1 et sont
pertinentes uniquement pour les utilisateurs qui ont utilisé la fonction pilote de HW Config dans
V14 :
Type de TIA Portal Openness API Nouveau type de TIA Portal Openness API
Siemens.Engineering.HW.IAddress Siemens.Engineering.HW.Address
Siemens.Engineering.HW.IAddressController Siemens.Engineering.HW.Features.AddressController
Siemens.Engineering.HW.IChannel Siemens.Engineering.HW.Channel
Siemens.Engineering.HW.IDevice Siemens.Engineering.HW.Device
Siemens.Engineering.HW.IDeviceItem Siemens.Engineering.HW.DeviceItem
Siemens.Engineering.HW.IExtension Siemens.Engineering.HW.Extensions
Siemens.Engineering.HW.IGsd Siemens.Engineering.HW.Features.GsdObject
Siemens.Engineering.HW.IGsdDevice Siemens.Engineering.HW.Features.GsdDevice
Siemens.Engineering.HW.IGsdDeviceItem Siemens.Engineering.HW.Features.GsdDeviceItem
Siemens.Engineering.HW.IHardwareObject Siemens.Engineering.HW.HardwareObject
Siemens.Engineering.HW.IHwIdentifier Siemens.Engineering.HW.HwIdentifier
Siemens.Engineering.HW.IHwIdentifierController Siemens.Engineering.HW.Features.HwIdentifierController
Siemens.Engineering.HW.IIoConnector Siemens.Engineering.HW.IoConnector
Siemens.Engineering.HW.IIoController Siemens.Engineering.HW.IoController
Siemens.Engineering.HW.IIoSystem Siemens.Engineering.HW.IoSystem
Siemens.Engineering.HW.IInterface Siemens.Engineering.HW.Features.NetworkInterface
Siemens.Engineering.HW.Extensions.ModuleInformation‐ Siemens.Engineering.HW.Utilities.ModuleInformationProvi‐
Provider der
Siemens.Engineering.HW.INode Siemens.Engineering.HW.Node
Siemens.Engineering.HW.OPCUAExportProvider Siemens.Engineering.HW.Utilities.OpcUaExportProvider
Siemens.Engineering.HW.IPort Siemens.Engineering.HW.Features.NetworkPort
Siemens.Engineering.HW.IRole Siemens.Engineering.HW.Features.HardwareFeature
Siemens.Engineering.HW.Features.DeviceFeature
Siemens.Engineering.HW.Utilities.ModuleInformationProvi‐
der
Siemens.Engineering.HW.SoftwareBase Siemens.Engineering.HW.Software
Siemens.Engineering.HW.ISubnet Siemens.Engineering.HW.Subnet
Siemens.Engineering.HW.ISoftwareContainer Siemens.Engineering.HW.Features.SoftwareContainer
Siemens.Engineering.HW.ISubnetOwner Siemens.Engineering.HW.Features.SubnetOwner
Type de TIA Portal Openness API Type Nouveau type de TIA Portal Openness API Type
de don‐ de don‐
nées nées
Siemens.Engineering.HW.Enums.AddressContext Siemens.Engineering.HW.AddressContext
Siemens.Engineering.HW.Enums.AddressIoType Siemens.Engineering.HW.AddressIoType
Siemens.Engineering.HW.Enums.AttachmentTy‐ Siemens.Engineering.HW.MediumAttachmentTy‐
pe pe
Siemens.Engineering.HW.Enums.BaudRate Siemens.Engineering.HW.BaudRate
Siemens.Engineering.HW.Enums.BusLoad Siemens.Engineering.HW.CommunicationLoad
Siemens.Engineering.HW.Enums.BusProfile Siemens.Engineering.HW.BusProfile
Siemens.Engineering.HW.Enums.CableLength Siemens.Engineering.HW.CableLength
Siemens.Engineering.HW.Enums.CableName ULong Siemens.Engineering.HW.CableName Long
Siemens.Engineering.HW.Enums.ChannelIoType Byte Siemens.Engineering.HW.ChannelIoType Int
Siemens.Engineering.HW.Enums.ChannelType Byte Siemens.Engineering.HW.ChannelType Int
Siemens.Engineering.HW.Enums.DeviceItem‐ Siemens.Engineering.HW.DeviceItemClassifica‐
Classifications tions
Siemens.Engineering.HW.Enums.InterfaceOpera‐ Siemens.Engineering.HW.InterfaceOperatingMo‐
tingModes des
Siemens.Engineering.HW.Enums.IpProtocolSe‐ Siemens.Engineering.HW.IpProtocolSelection
lection
Siemens.Engineering.HW.Enums.MediaRedun‐ Siemens.Engineering.HW.MediaRedundancyRole
dancyRole
Siemens.Engineering.HW.Enums.NetType Siemens.Engineering.HW.NetType
Siemens.Engineering.HW.Enums.ProfinetUpdate‐ distant
TimeMode
Siemens.Engineering.HW.Enums.RtClass Byte Siemens.Engineering.HW.RtClass Int
Siemens.Engineering.HW.Enums.SignalDelaySe‐ Byte Siemens.Engineering.HW.SignalDelaySelection Int
lection
Siemens.Engineering.HW.Enums.SyncRole Byte Siemens.Engineering.HW.SyncRole Int
Siemens.Engineering.HW.Enums.Transmission‐ Uint Siemens.Engineering.HW.TransmissionRateAnd‐ Int
RateAndDuplex Duplex
Introduction
L'exportation et l'importation au moyen de la TIA Portal Openness API ont été améliorées dans
V14 SP1 afin de pouvoir traiter les commentaires pour les éléments de tableau. Cela a rendu
nécessaire un nouveau schéma. Deux version de schéma sont désormais utilisées pour
l'importation et l'exportation d'interfaces de blocs :
● Pour l'importation : le choix de la version de schéma utilisée s'opère sur la base de la plage
de noms : <Sections xmlns=http://www.siemens.com/automation/Openness/SW/Interface/
v2>
● Pour l'exportation : le choix de la version de schéma utilisée s'opère sur la base de la version
du projet. Les projets V14 SP1 correspondent à la version 2, les projets V14, à la version 1.
Exemple
Exemples :
Enregistrement de commentaires et valeurs de démarrage dans des tableaux simples :
Accès absolu
Dans V14, l'importation de l'accès absolu était annulée pour la plupart des combinaisons. A
partir de V14 SP1, l'importation de l'accès absolu fonctionne pour les zones suivantes :
● entrée
● sortie
● mémentos
● temporisation, si pris en charge par l'API
● compteur, si pris en charge par l'API
● DB
● DI
En cas d'utilisation simultanée d'un accès symbolique et d'un accès absolu non rejetés après
vérification du schéma ou du type de nœud, l'importation n'est réussie que quand les
informations d'accès aux boîtes ont été résolues avec succès. Lorsque l'accès symbolique et
l'accès absolu donnent des informations incohérentes, l'importation est refusée.
entraîne :
CALL "Block_2"
Input_1 :="Tag_1"
Input_2 :="Tag_2"
Output_1 :="Tag_3"
Output_2 :="Tag_4"
Dans l'exemple suivant, le processus d'importation est annulé parce que deux paramètres
possèdent le même nom "Input1".
que l'importation d'un appel de bloc utilisateur effectuée par le nom appelle l'implémentation
d'un bloc utilisateur.
Avant V14 SP1, le processus d'importation essayait d'attribuer les paramètres entre l'appel du
bloc utilisateur et l'appel du bloc d'instruction. Le processus d'importation était annulé
ponctuellement, tous les paramètres incohérents étaient supprimés occasionnellement.
A partir de V14 SP1, l'appel du bloc utilisateur continue de trouver le bloc de bibliothèque, mais
sans que l'appel ne devienne invalide.
ENO désactivé
Sur les automates S7-1200 et S7-1500, la fonction de désactivation d'ENO sert à désactiver les
calculs de l'état de liaison d'ENO sollicitant le temps d'exécution.
A partir de V14 SP1, le mémento DisabledENO ne peut être importé sur les API qui prennent
en charge cette nouvelle fonction.
Validation d'Index-Ident
L'accès via l'Index est utilisable quand la fonction "Accès symbolique à la mémoire" est définie,
par exemple accès local, accès global, accès indirect.
En cas d'utilisation d'une constante littérale comme index, les types entier signé ou non sont
convertis en DINT. A partir de V14 SP1, le processus d'importation est annulé quand un type
se situe en dehors de la plage indiquée.
Pour tout accès via l'Index, le système vérifie au préalable si 'accès via l'Index' peut vraiment
être utilisé comme type d'accès. A partir de V14 SP1, le processus d'importation est annulé
lorsque l'accès via l'Index défini ne peut pas être utilisé.
Constantes d'alarme
Avec V14 SP1, la vérification des compilations a été élargie à la validité des constantes
d'alarme. Il peut arriver qu'en raison d'un XML importé dans V14 avec des constantes d'alarme
défectueuses, un projet soit compilable dans V14 SP1. Dans ce cas, ouvrez le réseau pertinent
dans l'éditeur CONT/LOG et supprimer l'opérande d'alarme réelle. L'éditeur crée
automatiquement une nouvelle constante d'alarme valide.
EnEno visible
Dans V14, c'est le mémento ENENO qui déterminait si les entrées/sorties EN et ENO de
'InstructionRef' étaient utilisables ou pas.
A partir de V14 SP1, OPNS utilise pendant l'importation les entrées/sorties EN ou ENO en
fonction de l'élément et du câblage. En raison de cette identification automatique, il convient de
préciser toute utilisation différente des entrées/sorties EN et ENO. Il est très probable que seuls
les boîtes des temporisations CEI et de compteurs CEI posent quelques problèmes.
Affectation d'UId
Avec V14 SP1, l'affectation de UId aux pièces, accès et conducteurs a changé. Les UId des
expressions, CallInfo et opérandes doivent être univoques dans une unité de compilation.
Dans la perspective TIA Portal, les UId dans la clé XML n'ont pas de signification
supplémentaire si ce n'est l'identification d'un élément.
Des contrôles plus stricts des caractères génériques et caractères de contrôle (tabulation et
nouvelle ligne autorisées) sont effectués lors de l'importation de
● Commentaires et réseaux
● Attributs de chaînes de caractères
● Nœuds, définissant des textes multilingues comme Alarmtext, Comments
● Textes Token
Remarque
La plupart des mots d'état sont uniquement utiles pour les automates S7-300 et S7-400.
Instructions vides
Le processus d'importation est annulé quand une instruction ne possède aucun nœud
<StlStatement/>. Dans une instruction vide, ajoutez le nœud <StlToken Text="Empty_Line" />.
Le processus d'importation est annulé quand une instruction vide dispose de commentaires.
Pour une instruction possédant uniquement des commentaires, utilisez <StlToken
Text="COMMENT" />.
ILibraryTypeInstance.ConnectedVersion, ILibraryTypeInstance.Dependencies,
ILibraryTypeInstance.Dependents ont été supprimés du tableau des attributs généraux, car ils
ne sont ni exportés dans XML ni accessibles via API.
MemoryLayout possède une nouvelle valeur par défaut : Standard pour API classiques et
Optimized pour API Plus.
Number s'applique également aux types de données définis par l'utilisateur, est représenté
dans XML et également accessible via API.
Remarque
Le modèle objet décrit dans le diagramme est déconseillé. Vous trouverez des informations sur
le modèle d'objet de TIA Portal Openness V14 SP1 sous AUTOHOTSPOT
9.4.2 Avant la mise à niveau d'une application vers TIA Portal Openness V14
Application
Les paramètres suivants doivent être modifiés avant la mise à niveau d'une application vers
TIA Portal Openness V14 :
1. Les renvois vers l'API V14 doivent être adaptés en complétant les API TIA Portal Openness
suivants :
– Siemens.Engineering
– Siemens.Engfineering.Hmi
2. Mettre à niveau le .Net-Framework de Visual Studio vers la version 4.6.1.
3. Actualisez la méthode AssemblyResolve en modifiant le nouveau chemin d'installation de
TIA Portal.
– Si vous travaillez à partir du fichier d'enregistrement, modifiez la nouvelle clé comme
dans l'exemple suivant :
"HKEY_LOCAL_MACHINE\SOFTWARE\Siemens\Automation\_InstalledSW
\TIAP14\TIA_Opns\..."
– Si vous travaillez avec le fichier de configuration d'application, adaptez les chemins au
nouveau chemin d'installation.
Introduction
Les modifications suivantes ont été apportées à TIA Portal Openness V14 et il se peut que cela
ait des effets sur vos applications existantes :
Voir aussi
Traitement des exceptions (Page 765)
Etablissement d'une connexion au portail TIA (Page 79)
9.4.4 Importation de fichiers créés avec TIA Portal Openness V13 SP1 et des versions
antérieures
Application
Si vous essayez d'importer des fichiers qui ont été générés avec TIA Portal Openness V13 SP1
ou une version antérieure, une exception d'incompatibilité est déclenchée. Motif : des
modifications dans les variables IHM et les écrans IHM. Les tableaux suivants montrent les
principales modifications d'attributs. Vous trouverez des informations détaillées dans le
chapitre "Créer les vues > Utilisation des objets et de groupes d'objets > Utilisation des objets
> Configuration de plages" dans l'aide en ligne de TIA Portal :
D
Démarrer
F
Editeur de bloc, 537 Fichier d'exportation
Editeur de variables, 588 Contenu, 779
Dossier Structure de base, 790, 941, 945
Supprimer, 181 Structure du fichier XML, 790, 945
Fichier XML
Editer, 778
E Exportation, 779
Fonctions, 53
Ecrire
API, 514, 515, 517, 518, 520, 590, 591, 594, 595,
Paramètres d'un objet technologique, 554
596, 598, 911, 912, 913
Éditeur "Appareils et réseaux"
Constantes API, 598
Ouvrir, 184
Créer des dossiers de vues personnalisés, 270
Editeur de bloc
Créer les sous-dossiers personnalisés pour
Démarrer, 537
scripts, 278
Editeur de variables
Créer un dossier personnalisé pour tables des
Démarrer, 588
variables API, 590
Enregistrer le projet, 136
Définir un dossier système, 515
Enumérer
Enregistrer le projet, 136
Blocs, 518
Énumérer des appareils, 236, 239
Dossiers Blocs personnalisés, 517
Enumérer des blocs, 518
Dossiers personnalisés pour variables API, 589
Énumérer des éléments d'appareil, 252
Objet technologique, 550
Enumérer des tables de variables API dans des
Paramètres d'un objet technologique, 551
dossiers, 592
Sous-dossier système, 515
Énumérer des textes multilingues, 123, 128
Tables de variables API, 592
Enumérer des variables API, 595
Toutes les variables d'une table de variables, 276
Enumérer le dossier Blocs personnalisé, 517
Variables API, 595
Enumérer le sous-dossier système, 515
Énumérer
Enumérer les dossiers personnalisés pour
Appareils, 236, 239
variables API, 589
Éléments d'appareil, 252
Enumérer les variables d'une table de variables
Textes multilingues, 123, 128
IHM, 276
Énumérer des appareils, 236, 239
Exemple d'application Public API, 72
Énumérer des éléments d'appareil, 252
Exporter une variable ou une constante d'une
Énumérer des textes multilingues, 123, 128
table de variables API, 912
Établir une liaison à TIA Portal, 79
Fermer un projet, 137
Exceptions
Généralités, 79, 87, 88
En cas d'accès au portail TIA avec des API
Générer des dossiers personnalisés pour
publics, 765
variables IHM, 276
Exemple d'application Public API, 72
IHM, 270, 271, 272, 273, 274, 275, 276, 277, 278,
Exemple de programme, 53
279
Exportation/importation
Importer une table de variables API, 911
Utilisation, 39
Importer une variable dans une table des variables
Exporter
API, 913
Bloc, 896
Interroger la famille du bloc, 520
Objets technologiques, 918
Interroger la version du bloc, 520
Interroger l'attribut "Consistency" d'un bloc, 520
exporter tous les modèles de vue, 823 TIA Openness V13 complément, 30
Exporter une fenêtre permanente, 821 Vérifier l'authentification d'accès, 31
Exporter une variable d'une table de Installation du complément, 30
variables, 799 Instances
Exporter une vue à partir d'un dossier de Définir une version de type, 175
vues, 817 Interrogation
Format d'exportation, 776 Objet technologique, 546
Formats XML avancés pour l'exportation/ Interroger
importation de listes de textes, 807 Informations du bloc, 520
Graphiques, 782 Informations du type de données utilisateur, 520
IHM, 793, 794, 795, 798, 799, 800, 801, 802, 803,
804, 805, 806, 807, 809, 811, 812, 816, 817, 819,
821, 822, 823, 824, 826, 828, 829, 830, 832, 833, L
835, 910
Liaison à TIA Portal
Importation de commentaires multilingues, 1015,
Configuration, 79
1033
Lire
Importation de connexions, 811
Heure des dernières modifications dans une table
Importation de données de configuration, 780
des variables API, 594
Importation de vues contextuelles, 829
Paramètres d'un objet technologique, 553
Importation d'une vue Slide-in, 832
Logiciel
Importer des cycles, 794
Compilation, 134
Importer des graphiques dans un projet, 784
Importer des listes de textes, 806
Importer des modèles de vue, 826
Importer des scripts VB, 804
M
Importer des vues dans un appareil IHM, 819 Matériel
Importer les listes de graphiques, 809 Compilation, 134
Importer l'image avec une instance de bloc Modèle d'objet, 54
d'affichage, 835
Importer une fenêtre permanente, 822
Importer une table de variables dans un dossier de O
variables, 798
Objet technologique, 543, 915
Importer une variable HMI dans une table de
Compilation, 548
variables, 800
Créer, 547
Limiter les exportations aux valeurs
Enumérer, 550
modifiées, 779
Interrogation, 546
Marche à suivre pour l'importation, 781
Rechercher, 550
notions de base, 773
Supprimer, 548
Objets d'AML, 941
Types de données, 545
Objets exportables, 773
Objets
Objets graphiques exportables, 812
Objets exportables, 773
Objets importables, 773
Objets importables, 773
Objets technologiques, 918, 920
Objets graphiques exportables, 812
Paramétrage de l'exportation, 778
Objets technologiques
Particularités des variables IHM intégrées, 801
Exporter, 918
Restrictions, 776
Importer, 921
Structure des données, 790, 945
Ouverture d'un projet, 109
Volume d'exportation, 778
Ouvrir
Installation
Éditeur "Appareils et réseaux", 184
Ajouter un utilisateur au groupe d'utilisateurs, 31
Etapes standard pour l'accès au portail TIA, 37
Siemens.Engineering.Hmi.RuntimeScripting, 45
Siemens.Engineering.Hmi.Screen, 45
P Siemens.Engineering.Hmi.Tag, 45
Siemens.Engineering.Hmi.TextGraphicList, 45
Paramètres
Siemens.Engineering.HW, 45
Comptage, 586
Siemens.Engineering.SW, 45
Easy Motion Control, 587
Statut (API)
Régulation PID, 585
Déterminer, 439
S7-1500 Motion Control, 565
Structure de base d'un fichier d'exportation, 790,
Paramètres d'un objet technologique
945
Ecrire, 554
Structure de base d'un fichier d'exportation
Enumérer, 551
AML, 941
Lire, 553
Structure des données d'exportation, 790, 941, 945
Rechercher, 552
Suppression
Paramètres généraux de TIA Portal, 114
Bibliothèque de graphiques, 133
Particularités des variables IHM du type de données
Certaines variables d'une table des
"UDT", 802
variables, 277
Projet
Connexion, 275
Enregistrer, 136
Cycle, 273
Fermer, 137
Liste de graphiques, 275
Interroger HMI Targets, 185
Liste de textes, 274
Interroger PLC Targets, 185
Modèle de vue, 272
Interroger un type d'appareil, 185
Script VB d'un dossier, 279
Ouvrir, 109
Table des variables, 278
Toutes les vues, 272
Une seule variable d'une table des variables
R API, 596
Rechercher Vue, 271
Objet technologique, 550 Supprimer
Paramètres d'un objet technologique, 552 Bloc, 523
Requêtes Bloc de programme, 523
Attribut "Consistency" d'un bloc, 520 Constantes API, 598
Auteur du bloc, 520 Dossier personnalisé pour les tables des variables
Dossier "Blocs de programme", 514 API, 591
Dossier système pour variables API, 588 Groupe pour bloc, 525
Famille de bloc, 520 Objet technologique, 548
Horodatage d'un bloc, 520 Supprimer une table de variables API d'un
Informations d'une table de variables API, 593 dossier, 595
Nom de bloc, 520 Type de données utilisateur, 536
Numéro de bloc, 520
Titre du bloc, 520
Trouver, 515 T
Type de bloc, 520
TIA Portal Openness, 47
Version du bloc, 520
Accès, 38
Ajouter un utilisateur au groupe d'utilisateurs, 31
API publique, 53
S Concepts sous-jacents à la vérification de l'identité
Siemens.Engineering, 45 d'objet, 100
Siemens.Engineering.Hmi, 45 Concepts sous-jacents d'affectations, 99
Siemens.Engineering.Hmi.Communication, 45 Concepts sous-jacents pour la manipulation
Siemens.Engineering.Hmi.Cycle, 45 d'exceptions, 765
Siemens.Engineering.Hmi.Globalization, 45 Conditions, 29
Configuration, 49
Droits d'accès, 31
Etapes standard pour l'accès au portail TIA, 37
Etendue des fonctions, 47
Exportation/importation, 39
Fonctions, 53
Introduction, 47
Notions de base sur la composition, 99
Savoir-faire nécessaire de l'utilisateur, 29
Tâches typiques, 38
Vue d'ensemble de la programmation, 53
Trouver
Came, 563
Palpeur de mesure, 563
Piste de came, 563
Type de données utilisateur
Exporter, 896
Générer une source, 531
Importer, 937
Interroger des informations, 520
Supprimer, 536
Types
Supprimer, 181
Types de données
Objet technologique, 545
V
Variables IHM du type de données "UDT", 802
Variables IHM intégrées, 801
Vue d'ensemble de la programmation, 53