STEP 7

Exemples Voir aussi Historique Outils
STEP 7

Ce chapitre contient des informations sur les sujets suivants :
  • Notes relatives à la sécurité
  • Remarques sur l'utilisation
  • Mode en ligne parallèle de deux versions
  • Configurer les appareils et réseaux
  • Programmer API
  • Inter Project Engineering (IPE)
  • Fonctions technologiques


Notes relatives à la sécurité

Notes relatives à la sécurité Paramétrages réseau
Notes relatives à la sécurité

Notes relatives à la sécurité

Siemens commercialise des produits et solutions comprenant des fonctions de sécurité industrielle qui contribuent à une exploitation sûre des installations, systèmes, machines et réseaux.

Pour garantir la sécurité des installations, systèmes, machines et réseaux contre les cybermenaces, il est nécessaire d’implémenter (et de préserver) un concept de sécurité industrielle global et moderne. Les produits et solutions de Siemens ne constituent qu’une partie d’un tel concept.

Il incombe au client d'empêcher tout accès non autorisé à ses installations, systèmes, machines et réseaux. Les systèmes, machines et composants doivent uniquement être connectés au réseau d’entreprise ou à Internet si et dans la mesure où c’est nécessaire et si des mesures de protection correspondantes (p. ex. utilisation de pare-feux et segmentation du réseau) ont été prises.

En outre, vous devez tenir compte des recommandations de Siemens concernant les mesures de protection correspondantes. Pour plus d’informations sur la sécurité industrielle, rendez-vous sur

https://www.siemens.com/industrialsecurity

Les produits et solutions Siemens font l’objet de développements continus pour être encore plus sûrs. Siemens vous recommande donc vivement d’effectuer des actualisations dès que les mises à jour correspondantes sont disponibles et de ne toujours utiliser que les versions de produit actuelles. L’utilisation de versions obsolètes ou qui ne sont plus prises en charge peut augmenter le risque de cybermenaces.

Afin d’être informé des mises à jour produit dès qu’elles surviennent, abonnez-vous au flux RSS Siemens Industrial Security sous

https://www.siemens.com/industrialsecurity

Paramétrages réseau

Les tableaux suivants indiquent pour chaque produit les paramétrages réseau dont vous avez besoin pour analyser la sécurité du réseau et pour configurer les pare-feu externes :

STEP 7 Professional
Nom | Numéro de port | Protocole de transport | Sens | Fonction | Description
ALM | 4410* | TCP | Inbound/Outbound | Service de licences | Ce service met à disposition la totalité des fonctions pour les licences logicielles et est utilisé aussi bien par le gestionnaire Automation License Manager que par tous les produits logiciels liés aux licences.
RFC 1006 | 102 | TCP | Outbound | Communication S7 | Communication avec le contrôleur S7 via Ethernet / PROFINET aux fins de programmation et de diagnostic.
DCP | --- | Ethernet | Outbound | PROFINET | Le protocole DCP (Discovery and basic Configuration Protocol) est utilisé par PROFINET et fournit les fonctions de base pour la recherche et la configuration d'appareils PROFINET.
SNMP | 161 | UDP | Outbound | PROFINET | La fonctionnalité client SNMP est utilisée par STEP 7 pour lire des informations d'état dans les appareils PROFINET.
* Port par défaut pouvant être modifié par la configuration utilisateur

WinCC ES Basic (sans simulation)
Nom | Numéro de port | Protocole de transport | Sens | Fonction | Description
ALM | 4410* | TCP | Inbound/Outbound | Service de licences | Ce service met à disposition la totalité des fonctions pour les licences logicielles et est utilisé aussi bien par le gestionnaire Automation License Manager que par tous les produits logiciels liés aux licences.
HMI Load | 1033 | TCP | Outbound | HMI Load (RT Basic) | Ce service est utilisé pour transférer des images et des données de configuration sur les Basic Panels.
* Port par défaut pouvant être modifié par la configuration utilisateur

Simulation RT Basic
Nom | Numéro de port | Protocole de transport | Sens | Fonction | Description
HMI Load | 1033 | TCP | Inbound | HMI Load (RT Basic) | Ce service est utilisé pour transférer des images et des données de configuration sur les Basic Panels.
EtherNet/IP | 44818 | TCP | Outbound | Voie Ethernet/IP | Le protocole Ethernet/IP est utilisé pour les liaisons aux API Allen Bradley.
 | 2222 | UDP | Inbound | Voie Ethernet/IP | Le protocole Ethernet/IP est utilisé pour les liaisons aux API Allen Bradley.
Modbus TCP | 502 | TCP | Outbound | Voie Modbus TCP | Le protocole Modbus TCP est utilisé pour les liaisons aux API Schneider.
RFC 1006 | 102 | TCP | Outbound | Voie S7 | Communication avec le contrôleur S7 via Ethernet / PROFINET
Mitsubishi MC | 5002 | TCP | Outbound | Voie Mitsubishi MC | Le protocole Mitsubishi est utilisé pour les liaisons aux API Mitsubishi.


Remarques sur l'utilisation

Contenu Compatibilité après la mise à niveau d'un projet à V16 Utilisation en parallèle Débrochage et enfichage des modules Ethernet Compatibilité (S7-1200)
Remarques sur l'utilisation

Contenu

Remarques n'ayant pu figurer dans l'aide en ligne et remarques importantes sur les caractéristiques du produit.

Compatibilité après la mise à niveau d'un projet à V16

Après la mise à niveau d'un projet à la version V16, il se peut que des divergences en ligne/hors ligne soient affichées bien que les programmes en ligne et hors ligne soient identiques. Ceci est dû au fait que le calcul des totaux de contrôle a été optimisé dans la version V16. Les blocs sont compatibles dans la majorité des cas.

Dans certains cas, le calcul du total de contrôle modifié peut vous obliger à compiler et à charger le projet à nouveau avant de pouvoir le visualiser et le tester en ligne.

Vous trouverez de plus amples informations dans le journal de mise à niveau des propriétés du projet. Si une erreur d'incohérence de totaux de contrôle est signalée dans le journal, alors les différences en ligne/hors ligne sont dues au calcul du total de contrôle modifié.

Pour plus d'informations, référez-vous au chapitre "Liaison en ligne après la mise à niveau d'un projet".

Utilisation en parallèle

Si après l'installation du logiciel, le nom ou la clé de licence a le suffixe "Combo", l'utilisation des produits/versions suivants vous est autorisée, conformément au paragraphe 1.6 des conditions générales (voir également le texte relatif à l'installation) :

  • STEP 7 Professional 2017

  • STEP 7 Professional 2010

  • STEP 7 Professional 2006

Débrochage et enfichage des modules Ethernet

En cas de débrochage et de nouvel enfichage de modules Ethernet en cours de fonctionnement, vous devez redémarrer le PC, car sinon la fonctionnalité "Abonnés accessibles" dans STEP 7 ou NCM PC n'affiche pas tous les abonnés. Les modules Ethernet doivent être activés pendant le démarrage du PC.

Compatibilité (S7-1200)

La configuration d'appareil et le programme d'une CPU S7-1200 doivent systématiquement être configurés avec la même version de STEP 7. Normalement, TIA Portal se charge d'éviter tout conflit de version en fournissant des indications appropriées pendant le chargement dans l'appareil.

Pour les CPU S7-1200 ayant la version de firmware V1.x, cette vérification ne s'effectue pas automatiquement et incombe donc à l'utilisateur.


Mode en ligne parallèle de deux versions

Contenu Mode en ligne parallèle de deux versions Liaisons en ligne simultanées sur une CPU S7-1200 (S7-1200)
Mode en ligne parallèle de deux versions

Contenu

Remarques n'ayant pu figurer dans l'aide en ligne et remarques importantes sur les caractéristiques du produit.

Mode en ligne parallèle de deux versions

Le mode en ligne parallèle de STEP 7 V5.6 ou versions antérieures et de STEP 7 V16 (TIA Portal) n'est pas autorisé.

Liaisons en ligne simultanées sur une CPU S7-1200 (S7-1200)

Il n'est pas possible de créer simultanément une connexion en ligne sur la même CPU S7-1200 à partir de plusieurs instances de TIA Portal.


Configurer les appareils et réseaux

Configurer les appareils et réseaux

Ce chapitre contient des informations sur les sujets suivants :
  • Remarques générales concernant les appareils et les réseaux
  • Remarques concernant la configuration matérielle
  • Remarques sur les fonctions OPC UA
  • Détection de matériel des périphériques IO
  • ID matérielle du type "Hw_SubModule" pour un HMI Panel IO-Device
  • Utilisation de modules sur la CPU S7-1200
  • CP 343-2 dans SIMATIC S7 Embedded Controller EC31-RTX
  • Chargement de CPU S7-1500 (SIPLUS)
  • ET 200MP (IM 155-5 DP ST) sur une WinLC RTX
  • Remarques sur la fonction En ligne et diagnostic
  • Composants de réseau


Remarques générales concernant les appareils et les réseaux

Contenu S7-PCT IO-Link (S7-1200) Port Configuration Tool PCT
Remarques générales concernant les appareils et les réseaux

Contenu

Remarques n'ayant pu figurer dans l'aide en ligne et remarques importantes sur les caractéristiques du produit.

S7-PCT IO-Link (S7-1200)

L'outil de configuration de port S7 peut être téléchargé gratuitement à l'aide du lien suivant.

http://support.automation.siemens.com/WW/view/37936752

Port Configuration Tool PCT

Si vous utilisez l'utilitaire PCT, employez uniquement la dernière version en date que vous pouvez télécharger gratuitement sous le lien suivant.


Remarques concernant la configuration matérielle

Contenu Editer une adresse IP d'appareils
Remarques concernant la configuration matérielle

Contenu

Remarques n'ayant pu figurer dans l'aide en ligne et remarques importantes sur les caractéristiques du produit.

Editer une adresse IP d'appareils

Lorsque vous éditez une adresse IP d'appareils, n'utilisez pas la plage d'adresses 192.168.x.241 à 192.168.x.250. Le système affecte automatiquement cette plage d'adresses à une PG le cas échéant. Cela vaut de manière analogue pour toutes les classes de réseau en fonction du masque de sous-réseau.


Remarques sur les fonctions OPC UA

Contenu Fichiers de schéma utilisés pour la fonctionnalité OPC UA Objet API non visible dans la plage d'adresses du serveur Liaison client OPC UA - serveur via un routeur NAT Redémarrage du serveur OPC-UA Mappage de types de données de la CPU sur les types de données OPC UA pour les CPU S7-1200 Autres codes d'état pour instructions de client OPC UA Copier des exemples de programme SCL à partir du système d'information
Remarques sur les fonctions OPC UA

Contenu

Remarques n'ayant pu figurer dans l'aide en ligne et remarques importantes sur les caractéristiques du produit.

Fichiers de schéma utilisés pour la fonctionnalité OPC UA

OPC Foundation met à la disposition de ses utilisateurs des schémas que les constructeurs peuvent utiliser pour leurs implémentations serveur / client respectives. Ces fichiers sont utilisés, par exemple, pour valider des modèles d'information / ensembles de nœuds importés.

Les fichiers de schéma et d'ensemble de nœuds suivants sont utilisés pour TIA Portal version V16 ou la version de firmware V2.8 des CPU S7-1500 :

Schéma/ensemble de nœuds | Description
https://opcfoundation.org/UA/schemas/1.04/UANodeSet.xsd | Schéma XML pour fichiers d'ensembles de nœuds (04/12/2018)
https://opcfoundation.org/UA/schemas/1.04/Opc.Ua.NodeSet2.xml | Modèle OPC UA ("CORE") version 1.04 (04/06/2018)
https://opcfoundation.org/UA/schemas/DI/1.1/Opc.Ua.Di.NodeSet2.xml | Modèle OPC UA for Devices ("DI") version 1.01 (06/06/2018)

Objet API non visible dans la plage d'adresses du serveur

Avec des projets très volumineux, il est possible, dans de rares cas, que le nœud de la CPU ou l'objet API ne soit pas visible dans la plage d'adresses du serveur OPC UA malgré une compilation réussie du projet et un chargement sans erreur dans la CPU. Dans ce cas, la mémoire réservée pour OPC UA dans la CPU est insuffisante.

Le diagnostic, par exemple par UaExpert, fournit l'état de serveur "Failed".

Solution

Désactivez l'interface serveur SIMATIC par défaut dans les propriétés de la CPU si elle n'est pas requise.

Réduisez le nombre ou la taille des éléments qui contribuent à consommer les ressources OPC UA. Réduisez par ex. le nombre de nœuds pour interfaces de serveur à moins de 30 000.

Autres mesures :

  • Réduisez le nombre de variables dans la plage d'adresses du serveur OPC UA, notamment les variables avec le type de données Structure.

    Pour retirer des variables de la plage d'adresses, désactivez l'option "Accessible depuis IHM/OPC UA" dans la table des variables API ou dans les blocs de données.

    Pour les blocs de données, vous avez également la possibilité de retirer le DB avec toutes les variables entièrement de la plage d'adresses. Désactivez à cet effet l'option "DB accessible depuis OPC UA" dans les propriétés du bloc de données.

  • Réduisez la longueur des noms des éléments en cas de structures de données volumineuses.

  • Abrégez les descriptions des nœuds.

  • Réduisez le nombre de méthodes implémentées.

Liaison client OPC UA - serveur via un routeur NAT

Si le client et le serveur sont connectés via un routeur NAT, cette tentative de liaison échoue avec les messages d'erreur "BadCommunicationError" ou "BadNotConnected".

Explication : Dans les systèmes NAT, les paquets IPv4 sont manipulés par le routeur. Cela a pour conséquence que l'IP source ("Source NAT") ou l'IP cible ("Destination NAT") d'un paquet est remplacée par une adresse IP configurée dans le routeur (en fonction du port cible). Cette opération est transparente pour le client et le serveur. En d'autres termes, ces appareils ne savent rien de cette opération.

Problème : Le routeur NAT n'a pas la possibilité de remplacer également la description du nœud d'extrémité retournée par le serveur (= EndpointUrl), car cette information d'adresse se trouve dans les données utiles de "GetEndpointsResponse".

Vous trouverez une description détaillée de l'opération dans la FAQ ci-après.

Version de firmware V2.6 de la CPU

Liaison client OPC UA - serveur via un routeur NAT impossible.

Solution à partir de la version de firmware V2.8 de la CPU

Utilisez l'attribut "ServerUri" des informations sur la liaison (paramètre "SessionConnectInfo" de l'instruction "OPC_UA_Connect").

Saisissez l'entrée ServerEndpointUrl complète comme "ServerUri" avec l'adresse IP du routeur NAT. Cette entrée ServerEndpointUrl est ensuite utilisée pour établir la liaison à la place de l'entrée EndpointUrl retournée dans GetEndpointsResponse.
Si vous laissez l'attribut vide, le comportement est le même que dans la version de firmware V2.6 de la CPU.

Si vous utilisez le paramétrage de liaison pour établir la liaison OPC UA (création d'une interface client), vous devez ensuite ouvrir le DB d'interface client (*_Configuration[DBx]) et modifier la chaîne dans le paramètre "ServerUri". L'entrée est conservée après la compilation de la configuration OPC UA.

Exemple d'établissement de liaison (l'adresse dans ServerUri remplace l'adresse dans GetEndpointsResponse)

Marche à suivre : dans le paramètre "ServerUri", saisissez l'adresse complète du serveur (ServerEndpointUrl), composée de l'adresse IP, du port et, en option, du chemin d'accès ; l'adresse IP est l'adresse IP côté client du routeur NAT :

1) Ouvrir le DB de configuration

2) Modifier le paramètre "ServerUri"

La liaison est ensuite établie selon les étapes suivantes :

  • GetEndpointsRequest : Le client OPC UA S7-1500 adresse le serveur via l'adresse cible du routeur NAT dans le sous-réseau du client (10.10.0.1).
    Le routeur NAT convertit l'adresse cible en adresse IP du serveur (192.168.0.1) dans le sous-réseau du serveur.

  • GetEndpointsResponse : Dans "GetEndpointsResponse", le serveur retourne sa propre entrée EndpointUrl :
    "opc.tcp://192.168.0.1:4840/UA/DemoServer".
    Le client ne peut pas accéder directement à cette adresse, car elle se trouve derrière un routeur NAT.

  • OpenSecureChannel :
    Le client ne reprend pas l'entrée EndpointUrl de GetEndpointsResponse pour ouvrir le Secure Channel, mais l'entrée EndpointUrl du paramètre "ServerUri" :
    "opc.tcp://10.10.0.1:4840/UA/DemoServer".
    Le client peut accéder à cette adresse IP ; les données sont transmises par le routeur NAT à l'adresse IP du serveur.

Redémarrage du serveur OPC-UA

À partir de la version de firmware V2.8, le serveur OPC UA d'une CPU S7-1500 n'est plus arrêté que lors du chargement des données OPC UA dans la CPU (exemple : un bloc de données est écrasé). Le serveur redémarre ensuite, si vous avez autorisé l'opération de chargement.

Notez que les clients OPC UA ne peuvent plus utiliser les services en cours d'exécution pour ce serveur et doivent, pour ce faire, à nouveau valider les ressources.

Ces services font ensuite l'objet d'une requête :

  • établissez la liaison

  • créez des abonnements (Subscriptions)

  • créez des requêtes de lecture/écriture

Dans de nombreux cas, p. ex. après l'ajout de nouveaux blocs de code ou de données non significatifs pour OPC UA, le serveur n'est plus arrêté.

Mappage de types de données de la CPU sur les types de données OPC UA pour les CPU S7-1200

À partir de la version de firmware V4.4, les CPU S7-1200 ont un serveur OPC UA. Vous pouvez configurer des interfaces serveur OPC UA pour ce serveur.

Le mappage suivant des types de données S7-1200 sur les types de données OPC UA s'applique :

Type de données SIMATIC | Type de données OPC UA
BOOL | Boolean
SINT | SByte
USINT | Byte
INT | Int16
UINT | UInt16
DINT | Int32
UDINT | UInt32
REAL | Float
LREAL | Double
WSTRING (UCS-2 ; Universal Coded Character Set) | String
DWORD | StatusCode

Le serveur OPC UA de la S7-1200 prend en charge la lecture et l'écriture des types de données élémentaires énumérés.

Les types de données suivants ne sont pas pris en charge :

  • Structures

  • Arrays (tableaux)

  • Unions

Les variables avec ces types de données peuvent être chargées (pas de signalisation par le contrôle de cohérence), mais un accès client à ces variables est rejeté avec un message d'erreur au moment de l'exécution.

Il n'est pas non plus possible de programmer des méthodes.

Autres codes d'état pour instructions de client OPC UA

En raison du comportement modifié pour la validation des Handles de connexions pour les CPU S7-1500 à partir de la version de firmware V2.8, il existe d'autres codes d'erreur qui ne sont pas documentés pour chacune de ces instructions.

Le tableau suivant contient tous les codes d'erreur avec des explications.

Code d'erreur

(valeurs hexadécimales)

Nom de l'erreur

Explication

80AE_0000

BadConnectionClosed

La liaison avec le ConnectionHdl correspondant est à l'état "ShutDown" (liaison séparée). La liaison/session n'a pas pu être "réactivée" automatiquement. Cause possible : Session supprimée sur le serveur, par exemple en raison d'un redémarrage ou d'un délai d'attente.

Dans ce cas, vous devez explicitement fermer la liaison avec l'instruction "OPC_UA_Disconnect" et valider ainsi à nouveau les ressources de liaison. Vous devez réinitialiser le ConnectionHdl dans votre programme utilisateur pour cette liaison devenue non valide.

Ensuite, vous devez établir une nouvelle liaison au serveur (voir instruction "OPC_UA_Connect").

Le code d'erreur peut survenir dans toutes les instructions de client, à l'exception des instructions OPC_UA_Connect, OPC_UA_Disconnect et OPC_UA_ConnectionGetStatus.

80AF_0000

BadInvalidState

La liaison avec le ConnectionHdl correspondant est à l'état "ConnectionError" (erreur de liaison temporaire, liaison interrompue). La CPU essaie de "réactiver" la liaison. Si cela ne réussit pas dans l'intervalle de temps imparti (OPC UA Session Timeout), la liaison passe à l'état "Shutdown". Condition pour la transition d'état : la CPU a pu joindre le serveur OPC UA pour vérifier si la session existe toujours ou non.

Le code d'erreur peut survenir dans toutes les instructions de client, à l'exception des instructions OPC_UA_Connect, OPC_UA_Disconnect et OPC_UA_ConnectionGetStatus.

A000_0105

PLCopenUA_Bad_ConnectionInvalidHdl

Le Handle de connexions (ConnectionHdl) est invalide / inconnu.

Le code d'erreur peut survenir dans toutes les instructions de client, à l'exception de l'instruction OPC_UA_Connect.

Copier des exemples de programme SCL à partir du système d'information

Un code de programme SCL dans les exemples de programmation OPC UA, copié via le symbole "Copier" dans le système d'information et inséré dans l'éditeur de programme, ne peut pas être compilé.

Pour copier le code de programme sans erreur, sélectionnez-le dans le système d'information et copiez-le via la commande de menu contextuel "Copier" ou la combinaison de touches "Ctrl+C". Insérez le code de programme soit via la commande de menu contextuel "Insérer", soit via la combinaison de touches "Ctrl+V".


Détection de matériel des périphériques IO

Contenu Détection de matériel incomplète pour les stations ET 200SP
Détection de matériel des périphériques IO

Contenu

Remarques n'ayant pu figurer dans l'aide en ligne et remarques importantes sur les caractéristiques du produit.

Détection de matériel incomplète pour les stations ET 200SP

Avec STEP 7 V15, la fonction en ligne "Détection de matériel" vous permet de déterminer la configuration des stations des périphériques IO et de la reprendre dans votre projet avec tous les modules enfichés.

Si vous reprenez une station ET 200SP dans votre projet via la détection de matériel, vous devez alors compléter manuellement la configuration de station déterminée. Pour le module d'interface, vérifiez si l'adaptateur de bus approprié a été détecté dans la configuration matérielle (par exemple un BA 2xRJ45 au lieu d'un BA 2xFC réellement présent).


ID matérielle du type "Hw_SubModule" pour un HMI Panel IO-Device

Contenu Détermination de l'ID de matériel avec le type "Hw_SubModule" pour un HMI Panel IO-Device
ID matérielle du type "Hw_SubModule" pour un HMI Panel IO-Device

Contenu

Remarques n'ayant pu figurer dans l'aide en ligne et remarques importantes sur les caractéristiques du produit.

Détermination de l'ID de matériel avec le type "Hw_SubModule" pour un HMI Panel IO-Device

Le paramètre "ID" du bloc de programme PROFIenergy "PE_START_END" doit recevoir l'identification matérielle (ID de matériel) du type "Hw_SubModule" du périphérique IO. L'ID de matériel de type "Hw_SubModule" du HMI Panel IO-Device avec une CPU S7-1500/S7-1200/ET200SP n'est certes pas affichée dans les constantes système mais elle peut être déterminée. Pour ce faire, dans l'onglet "Constantes système" de la liste des variables API, est déterminée l'icône du périphérique IO dans le HMI Panel avec le type "Hw_Device" et réduit de un, par exemple "HMI_1_IE_CP_1~PROFINET_Interface_1~IODevice -1".


Utilisation de modules sur la CPU S7-1200

Contenu Utilisation de modules sur la CPU S7-1200 Charger les commentaires de modules du S7-1200 dans le PC/PG
Utilisation de modules sur la CPU S7-1200

Contenu

Remarques n'ayant pu figurer dans l'aide en ligne et remarques importantes sur les caractéristiques du produit.

Utilisation de modules sur la CPU S7-1200

Les modules suivants ne sont pas pris en charge par la CPU S7-1200 :

Famille | Module | Numéro de référence
FM S7-300 | SM 338 | 6ES7 338-4BC01-0AB0
 | FM 350-1 | 6ES7 350-1AH03-0AE0
 | FM 350-2 | 6ES7 350-2AH00-0AE0, 6ES7 350-2AH01-0AE0
 | FM 351 | 6ES7 351-1AH01-0AE0, 6ES7 351-1AH02-0AE0
 | FM 352 | 6ES7 352-1AH02-0AE0
 | FM 355 S | 6ES7 355-1VH10-0AE0
 | FM 355 C | 6ES7 355-0VH10-0AE0
 | FM 355-2 C | 6ES7 355-2CH00-0AE0
 | FM 355-2 S | 6ES7 355-2SH00-0AE0
S7-300 PtP-CP | CP 340 | 6ES7 340-1AH02-0AE0, 6ES7 340-1BH02-0AE0, 6ES7 340-1CH02-0AE0
 | CP 341 | 6ES7 341-1AH01-0AE0, 6ES7 341-1AH02-0AE0, 6ES7 341-1BH01-0AE0, 6ES7 341-1BH02-0AE0, 6ES7 341-1CH01-0AE0, 6ES7 341-1CH02-0AE0
Composant réseau | Répéteur de diagnostic | 6ES7 972-0AB01-0XA0
ET 200M | SIWAREX | 7MH4900-2AA01, 7MH4900-3AA01, 7MH4950-1AA01, 7MH4950-2AA01

Charger les commentaires de modules du S7-1200 dans le PC/PG

Pour configurations centralisées avec S7-1200, les commentaires des modules, sous-modules et signalboards ne sont pas chargés. Sur les CP/CM, seuls les commentaires des interfaces IE ou DP sont chargés. Dans les configurations décentralisées avec ET 200SP ou ET 200MP, les modules d'E/S ne chargent que les commentaires de canaux.


CP 343-2 dans SIMATIC S7 Embedded Controller EC31-RTX

Contenu CP 343-2 dans SIMATIC S7 Embedded Controller EC31-RTX
CP 343-2 dans SIMATIC S7 Embedded Controller EC31-RTX

Contenu

Remarques n'ayant pu figurer dans l'aide en ligne et remarques importantes sur les caractéristiques du produit.

CP 343-2 dans SIMATIC S7 Embedded Controller EC31-RTX

Le module AS-Interface CP 343-2 (numéro d'article : 6GK7 343-2AH01) peut être enfiché dans un châssis d'extension du SIMATIC S7 Embedded Controller EC31-RTX (numéro d'article : 6ES7 677-1DDxx-0BB0) mais le CP 343-2 ne doit pas être utilisé avec l'EC31-RTX.


Chargement de CPU S7-1500 (SIPLUS)

Contenu Comportement d'une CPU S7-1500 SIPLUS (6AG1...) Version de firmware <V2.5 avec carte mémoire formatée
Chargement de CPU S7-1500 (SIPLUS)

Contenu

Remarques n'ayant pu figurer dans l'aide en ligne et remarques importantes sur les caractéristiques du produit.

Comportement d'une CPU S7-1500 SIPLUS (6AG1...) Version de firmware <V2.5 avec carte mémoire formatée

Composants concernés :

  • CPU 151x SIPLUS (6AG1...) avec version de firmware inférieure à V2.5

  • Carte mémoire SIMATIC

Si, sur une carte mémoire SIMATIC vous chargez une CPU SIPLUS, puis que vous mettez la CPU à l'état MARCHE, cette dernière fonctionne sans erreur. Cependant, après coupure et rétablissement de la tension ou bien après un Memory Reset (MRES), la CPU SIPLUS passe à l'état ARRET avec un message d'erreur. Le message d'erreur indique que la carte mémoire n'est pas reconnue car elle est manquante, d'un type non reconnu, elle contient des données erronées ou elle est protégée.

Cette réaction ne se produit pas pour une CPU 151x SIPLUS (6AG1...) avec une version de firmware V2.5 ou ultérieure ou si la carte mémoire comprend déjà une configuration avec une CPU S7-1500 SIMATIC-CPU (6ES7...) qui est écrasée par une configuration avec une CPU SIPLUS (6AG1...) de même type.

Solution :

  1. Sur la carte mémoire SIMATIC, une configuration avec une CPU SIMATIC doit être chargée. La présence d'une CPU du même type est suffisante, celle de la périphérie n'est pas nécessaire.

  2. La CPU SIPLUS est chargée sur la carte. La configuration SIMATIC de la carte mémoire est écrasée par la configuration SIMATIC.

Cette démarche permet d'éviter un message d'erreur de TIA Portal.

Remarque

Ce procédé fonctionne UNIQUEMENT lors du chargement en ligne sur la CPU ! Si la carte est programmée par un lecteur externe, l'erreur persiste !

Si, par ex., vous souhaitez charger une CPU 1511-1 PN SIPLUS (6AG1 511-1AK00...) procédez comme suit.

  1. Enfichez une carte mémoire vide de taille suffisante dans la CPU SIPLUS.

  2. Configurez une CPU SIMATIC de même type - dans ce cas une S7-1511-1 PN (6ES7 511-1AK00...). Les modules périphériques ne sont pas nécessaires pour la première étape de chargement.

  3. Chargez la configuration dans la CPU SIPLUS.

  4. Remplacez la CPU SIMATIC dans STEP 7 par la CPU SIPLUS (6AG1 511-1AK00...) et complétez la configuration avec les modules périphériques et les appareils de périphérie décentralisée planifiés.

  5. Chargez la configuration modifiez dans la CPU SIPLUS.


ET 200MP (IM 155-5 DP ST) sur une WinLC RTX

Contenu L'ET 200MP (IM 155-5 DP ST) ne peut actuellement pas être utilisé via PROFIBUS sur une WinLC RTX.
ET 200MP (IM 155-5 DP ST) sur une WinLC RTX

Contenu

Remarques n'ayant pu figurer dans l'aide en ligne et remarques importantes sur les caractéristiques du produit.

L'ET 200MP (IM 155-5 DP ST) ne peut actuellement pas être utilisé via PROFIBUS sur une WinLC RTX.

Composants concernés :

  • Systèmes PC avec une fonctionnalité Logic Controller WinLC RTX comme maître DP (toutes les variantes : EC31-RTX (F), WinAC RTX (F) Software PLC) - ci-dessous nommées "WinLC RTX".

  • ET 200MP (IM 155-5 DP ST) comme esclave DP

Lorsque vous configurez des modules standard ou des modules F dans un ET 200MP et que vous utilisez comme maître DP une WinLC RTX, alors, dans l'ET 200MP, ces modules ne sont pas paramétrés par le maître DP. Après le chargement de la configuration et le démarrage des composants participants, les modules dans l'ET 200MP signalent un paramétrage insuffisant par le clignotement des LED vertes.

STEP 7 n'indique pas en ligne la disponibilité des modules (état "OK").

Solution :

  • Recommandation : utilisez un module d'interface IM 155-5 PN, pour lier l'ET 200MP via PROFINET IO à une WinLC RTX

    ou

  • Si aucun module F n'est enfiché dans l'ET 200MP : utilisez pour la configuration des modules standard la variante GSD de l'ET 200MP sur une WinLC RTX


Remarques sur la fonction En ligne et diagnostic

Contenu Détection de matériel et connexion en ligne consécutive Supprimer les mesures dans l'appareil (carte mémoire) (S7-1200)Appareil Trace de projet pour Software Controller et Open Controller
Remarques sur la fonction En ligne et diagnostic

Contenu

Remarques n'ayant pu figurer dans l'aide en ligne et remarques importantes sur les caractéristiques du produit.

Détection de matériel et connexion en ligne consécutive

Si pour une CPU non spécifiée, vous exécutez la commande "En ligne > Détection de matériel", la configuration en ligne n'est pas chargée à partir de la CPU. Si vous ne chargez pas la configuration obtenue via la détection de matériel sur la CPU, la vue des appareils et du réseau affichera toujours une différence entre la configuration en ligne et la configuration hors ligne. Dans la vue En ligne & diagnostic, il apparaît qu'il existe une configuration différente, bien que les numéros de référence de la CPU hors ligne et réelle soient identiques.

Supprimer les mesures dans l'appareil (carte mémoire) (S7-1200)Appareil

Ne supprimez pas de mesures dans l'appareil aussi longtemps qu'un Trace continue de créer de nouvelles mesures sur la carte mémoire.

Trace de projet pour Software Controller et Open Controller

La trace de projet ne prend pas en charge le Software Controller et l'Open Controller avec TIA Portal V16.


Programmer API

Programmer API

Ce chapitre contient des informations sur les sujets suivants :
  • Remarques générales sur la programmation API
  • Remarques sur les instructions
  • Test du programme utilisateur
  • Mise à niveau de blocs
  • Compatibilité des programmes API des anciennes versions


Remarques générales sur la programmation API

Contenu Attributs spécifiques aux instances lors de l'importation de blocs avec TIA Portal Openness Affichage du nom de la CPU dans les alarmes système Modifier le cycle d'application d'un OB d'alarme d'isochronisme Utilisation du type de données système "TDiag_StatusExt" (S7-1200/1500) Informations relatives à la sécurité du réseau Fonctions de la bibliothèque globale "Long Functions" avec PLCSIM (S7-1500) Charger des programmes incohérents dans une CPU S7-1500 (S7-1500) Échange de données entre le programme standard et le programme F lors de l'utilisation de Team Engineering
Remarques générales sur la programmation API

Contenu

Remarques n'ayant pu figurer dans l'aide en ligne et remarques importantes sur les caractéristiques du produit.

Attributs spécifiques aux instances lors de l'importation de blocs avec TIA Portal Openness

Les règles d'importation peuvent entraîner dans certaines situations la perte d'attributs spécifiques aux instances, par exemple des valeurs initiales.

Affichage du nom de la CPU dans les alarmes système

À partir de V15.1, le nom de la CPU (ou le nom de la station pour les CPU H ou R) est affiché dans la colonne "Texte complémentaire 1" des alarmes système. Pour cela, vous devez compiler le matériel de l'appareil concerné. Si le nom de la CPU n'est pas affiché via l'option "Compiler > Matériel (uniquement modifications)", utilisez l'option "Compiler > Matériel (compilation complète)".

Assurez-vous que le chargement dans l'appareil est réellement effectué. L'information que le matériel est actuel ne suffit pas !

Modifier le cycle d'application d'un OB d'alarme d'isochronisme

Si vous modifiez le paramètre "Cycle d'application (ms)" d'un OB d'alarme d'isochronisme, la configuration matérielle est également modifiée de manière implicite. Afin que la valeur modifiée soit effective pour la durée du cycle d'application après le chargement suivant, vous devez également charger explicitement la configuration matérielle. Sélectionnez à cet effet la commande de menu "Charger dans l'appareil > Matériel et logiciel" ou la commande "Charger dans l'appareil > Configuration matérielle".

Utilisation du type de données système "TDiag_StatusExt" (S7-1200/1500)

L'utilisation du type de données système avancé "TDiag_Status" au lieu du type de données système "TDiag_StatusExt" est également une possibilité pour obtenir des informations détaillées sur une interruption de la connexion. L'exportation de l'élément de structure "LastConnErrTimeStamp" conduit spécialement au passage en "Defect" de la CPU et ne doit pas être utilisé actuellement.

Informations relatives à la sécurité du réseau

Les accès de communication entre TIA Portal et la CPU ou entre l'IHM (sauf si des accès IHM sont utilisés via la "Communication GET/PUT") et la CPU offrent des fonctions de sécurité intégrées. Celles-ci intègrent une meilleure protection contre les manipulations et un accès plus sécurisé. Pensez à prendre des mesures de protection adaptées supplémentaires (comme un concept de protection des cellules), afin de protéger contre un accès réseau non autorisé à une CPU dotée d'accès de communication standardisés, comme "GET/PUT", "TSEND/TRCV", "Modbus", "FETCH/WRITE".

Fonctions de la bibliothèque globale "Long Functions" avec PLCSIM (S7-1500)

La procédure de compilation a pour effet de lier les fonctions de la famille de CPU S7-1500 à la CPU afin de protéger cette dernière contre des manipulations. Les fonctions utilisées sur la CPU qui proviennent de la bibliothèque globale "Long Functions" et qui possèdent un tel lien ne peuvent pas être chargées dans une simulation. Cependant, il est possible de remplacer de tels éléments par les versions d'origine correspondantes issues de la bibliothèque globale. Celles-ci ne possèdent aucun lien à une CPU.

Charger des programmes incohérents dans une CPU S7-1500 (S7-1500)

Dans TIA Portal, il n'est pas possible de charger des programmes incohérents dans une CPU S7-1500 sans contrôle de cohérence. Durant le chargement, la cohérence de tous les blocs du programme est implicitement vérifiée et, en cas d'incohérences, les blocs sont de nouveau compilés. Si des programmes chargés avec des versions antérieures de STEP 7 se trouvent toutefois sur votre CPU, ces programmes peuvent présenter des incohérences.

Tenez compte dans ce cas de la remarque suivante :

Si vous chargez un programme incohérent d'un appareil, vous ne pourrez plus le recharger dans une CPU S7-1500 sans qu'il soit modifié. En effet, un contrôle de cohérence automatique est effectué durant le chargement et les incohérences trouvées sont corrigées.

Échange de données entre le programme standard et le programme F lors de l'utilisation de Team Engineering

Pour garantir la cohérence des données entre le programme standard et le programme de sécurité, vous devez :

  • échanger les données non pas via des mémentos, mais via des blocs de données globaux.

  • limiter l'accès entre les programmes de sécurité et les programmes standard à deux blocs de données standard.


Remarques sur les instructions

Contenu Instruction "FileDelete: Supprimer un fichier sur la carte mémoire"
Remarques sur les instructions

Contenu

Remarques n'ayant pu figurer dans l'aide en ligne et remarques importantes sur les caractéristiques du produit.

Instruction "FileDelete: Supprimer un fichier sur la carte mémoire"

Contrairement à ce qu'indique l'aide en ligne, les règles suivantes s'appliquent pour les valeurs 8091 et 8094 du paramètre "Status" :

  • La valeur 8091 a la signification suivante : le chemin n'existe pas ou est invalide.

  • La valeur 8094 n'est pas émise.


Test du programme utilisateur

Test du programme utilisateur

Ce chapitre contient des informations sur les sujets suivants :
  • Remarques sur le test avec la table de visualisation
  • Remarques sur le test avec la table de forçage permanent
  • Remarques sur le test avec des points d'arrêt


Remarques sur le test avec la table de visualisation

Contenu Accès multiple à la même CPU (S7-300/400/1200) Chargement de blocs de données en cours de tâche de forçage Fonction "Débloquer sorties de périphérie" Test de programmes migrés depuis des versions antérieures de STEP 7 Test de programmes mis à niveau Formats d'affichage modifiés dans la table de visualisation
Remarques sur le test avec la table de visualisation

Contenu

Remarques n'ayant pu figurer dans l'aide en ligne et remarques importantes sur les caractéristiques du produit.

Accès multiple à la même CPU (S7-300/400/1200)

A partir d'une PG/d'un PC, il n'est possible d'accéder en ligne à une CPU (S7-300/400/1200) que si TIA Portal est ouvert. Les accès multiples à une même CPU de cette famille ne sont pas autorisés et peuvent provoquer des erreurs.

Chargement de blocs de données en cours de tâche de forçage

Le chargement de blocs de données modifiés en cours de tâche de forçage peut entraîner des états imprévisibles. La tâche de forçage force toujours l'adresse indiquée alors que l'affectation a pu changer dans le bloc de données. Mettez toujours fin aux tâches de forçage en cours avant de charger les blocs de données.

Fonction "Débloquer sorties de périphérie"

La fonction "Débloquer sorties de périphérie" n'est pas disponible dans TIA Portal pour les CPU de la gamme S7-1500.

Elle peut être exécutée dans TIA Portal uniquement avec une CPU S7-300, S7-400 ou S7-1200.

Test de programmes migrés depuis des versions antérieures de STEP 7

Pour visualiser et tester un programme migré depuis une version antérieure de STEP 7, vous devez d'abord le compiler et le charger avec la version courante de STEP 7.

Test de programmes mis à niveau

Après la mise à niveau de projets à la version V16, un nouveau calcul du total de contrôle est effectué en interne. Dans des cas rares, cela peut avoir pour conséquence que la table de visualisation n'affiche aucune valeur pour les variables car le total de contrôle a été modifié même si les blocs sont identiques. Dans la colonne "Valeur de visualisation", aucune valeur n'est alors affichée, mais le symbole des lunettes avec un cercle rouge barré. Dans ce cas, le projet doit être de nouveau compilé et chargé avant de pouvoir être visualisé et testé en ligne avec la table de visualisation.

Formats d'affichage modifiés dans la table de visualisation

Le nombre de formats d'affichage a été réduit. Ainsi, les formats d'affichage qui ne sont plus pris en charge sont réinitialisés aux paramètres par défaut lors d'une mise à niveau du projet.

Exemple : Les pointeurs ne peuvent plus être affichés qu'en format "Pointeur" ou en format "Hexadezimal".


Remarques sur le test avec la table de forçage permanent

Contenu Forçage permanent de variables lors de l'accès direct à la périphérie (S7-300) Exemple Formats d'affichage modifiés dans la table de forçage permanent
Remarques sur le test avec la table de forçage permanent

Contenu

Remarques n'ayant pu figurer dans l'aide en ligne et remarques importantes sur les caractéristiques du produit.

Forçage permanent de variables lors de l'accès direct à la périphérie (S7-300)

Si, dans votre programme utilisateur, vous utilisez un accès direct à la périphérie pour une CPU S7-300, le forçage de cette adresse de périphérie n'est pas autorisé.

Exemple

Si le programme utilisateur accède à l'adresse de périphérie "IB0:P", les plages d'adresses suivantes ne peuvent pas être forcées : I0.0:P, IB0:P, IW0:P et ID0:P.

Formats d'affichage modifiés dans la table de forçage permanent

Le nombre de formats d'affichage a été réduit. Ainsi, les formats d'affichage qui ne sont plus pris en charge sont réinitialisés aux paramètres par défaut lors d'une mise à niveau du projet.

Exemple : Les pointeurs ne peuvent plus être affichés qu'en format "Pointeur" ou en format "Hexadezimal".


Remarques sur le test avec des points d'arrêt

Contenu Définition de points d'arrêt dans le programme utilisateur standard pour les CPU F S7-1500
Remarques sur le test avec des points d'arrêt

Contenu

Remarques n'ayant pu figurer dans l'aide en ligne et remarques importantes sur les caractéristiques du produit.

Définition de points d'arrêt dans le programme utilisateur standard pour les CPU F S7-1500

Si un point d'arrêt est activé et atteint, la CPU passe immédiatement à l'état ARRÊT après l'état "ATTENTE". Si vous voulez de nouveau passer à l'état "MARCHE" après l'état "ATTENTE" pour continuer à tester votre programme utilisateur standard, vous pouvez le simuler avec S7-PLCSIM.

Pour plus d'informations sur le test avec des points d'arrêt dans des CPU F, voir le manuel "SIMATIC Safety - Configuration et programmation".


Mise à niveau de blocs

Contenu Mise à niveau de blocs possédant une protection know-how (S7-1200/1500) Mise à niveau de blocs GRAPH (S7-300, S7-400, S7-1500) Comparaison hors ligne/en ligne Mise à jour des spécifications du périphérique
Mise à niveau de blocs

Contenu

Remarques n'ayant pu figurer dans l'aide en ligne et remarques importantes sur les caractéristiques du produit.

Mise à niveau de blocs possédant une protection know-how (S7-1200/1500)

Les blocs avec une protection Know-how qui ont été configurés avec une ancienne version de TIA Portal peuvent être chargés dans l'automate sans entrer de mot de passe après la mise à niveau à la nouvelle version et ils sont exécutables.

Pour ouvrir et éditer ces blocs dans la version actuelle, procédez comme suit :

  • Blocs dont la protection Know-how a été configurée avec la version V13 SP1 ou une version supérieure :

    • Supprimez la protection Know-how dans la version actuelle, éditez le bloc et configurez de nouveau la protection know how.

  • Blocs dont la protection Know-how a été configurée avec une version antérieure à V13 SP1 :

    • Supprimez la protection Know-how dans la version V13 SP1 et procédez à la mise à niveau du bloc à la version actuelle. Éditez à présent le bloc et définissez de nouveau la protection Know-how pour le bloc dans la version actuelle.

Mise à niveau de blocs GRAPH (S7-300, S7-400, S7-1500)

Après la mise à niveau d'un projet d'une version antérieure à V15 à V16, vérifiez si des blocs GRAPH réparés figurent dans le fichier journal et testez dans votre programme si ces blocs sont exécutables.

Si un projet V15.x contenant des blocs GRAPH est mis au niveau à la version V16, il faut d'abord compiler les blocs de programme avant de pouvoir les visualiser.

Comparaison hors ligne/en ligne

Les données de projet internes ont été nettoyées dans la version actuelle pour une amélioration de l'intégrité des données. Après l'installation, il est possible que des blocs isolés soient automatiquement corrigés à l'ouverture et la comparaison hors ligne/en ligne affiche en conséquence des totaux de contrôle différents.

Mise à jour des spécifications du périphérique

Lorsque vous mettez à niveau votre projet, les spécifications de périphérique internes des CPU utilisées sont mises à jour dans des cas déterminés.

Le message suivant vous avertit qu'une mise à jour est en cours : "La configuration des périphériques de CPU du projet a été mise à jour."

La mise à jour n'a aucun effet sur le programme en cours d'exécution dans la CPU.


Compatibilité des programmes API des anciennes versions

Compatibilité des programmes API des anciennes versions

Ce chapitre contient des informations sur les sujets suivants :
  • Compatibilité des programmes API de versions antérieures à V16
  • Compatibilité des programmes API des versions antérieures à V15.1.
  • Compatibilité des programmes API des version antérieures à V15
  • Compatibilité des programmes API des versions antérieures à V14 SP1
  • Compatibilité des programmes API des version antérieures à V14
  • Compatibilité des programmes API des versions antérieures à V13 SP1


Compatibilité des programmes API de versions antérieures à V16

Contenu Compatibilité Incohérence du total de contrôle Unités logicielles Contrôle de syntaxe pour les instances (CONT, LOG, LIST, GRAPH) Instructions "UPPER_BOUND" et "LOWER BOUND" (CONT, S7-1200/S7-1500) Instruction "S_CONV" (CONT) Initialisation du type de données STRUCT lors de l'importation de fichiers source externes (SCL) Déclaration AT Instruction "MOVE" Instruction "MOVE" (AWL) Instructions "SCATTER_BLK" et "GATHER_BLK" (SCL) Constantes sans type (SCL) Adressage d'ARRAY via un indice variable et un accès à la périphérie (S7-1200) Taille de bloc en cas d'utilisation de tableaux (ARRAY) dans des structures Taille de blocs GRAPH Affectation de constantes sans type (SCL)
Compatibilité des programmes API de versions antérieures à V16

Contenu

Remarques n'ayant pu figurer dans l'aide en ligne et remarques importantes sur les caractéristiques du produit.

Compatibilité

En principe, tous les programmes API qui ont été créés avec des versions anciennes du TIA Portal peuvent toujours être utilisés dans la version V16. Toutefois, étant donné que la version V16 comporte des améliorations et des corrections d'erreur au niveau du compilateur, il se peut dans certains cas que le programme se comporte différemment après la mise à niveau ou que vous ayez à modifier manuellement le code du programme. Ces quelques cas sont détaillés ci-après.

Incohérence du total de contrôle

Après la mise à niveau d'un projet à la version V16, il se peut que des divergences en ligne/hors ligne soient affichées bien que les programmes en ligne et hors ligne soient identiques. Ceci est dû au fait que le calcul des totaux de contrôle a été optimisé dans la version V16. Les blocs sont compatibles dans la majorité des cas.

Dans certains cas, le calcul du total de contrôle modifié peut vous obliger à compiler et à charger le projet à nouveau avant de pouvoir le visualiser et le tester en ligne.

Unités logicielles

Les règles suivantes s'appliquent au nom de l'unité logicielle à partir de la version V16 :

  • Les caractères autorisés sont tous les caractères alphanumériques et le tiret bas.

  • Le nombre maximal de caractères est 125.

  • Le nom d'une unité logicielle doit être univoque dans la CPU et aucun autre bloc avec le même nom ne doit exister dans la CPU.

Si les unités logicielles dans votre programme ne respectent pas ces règles, une erreur de syntaxe est affichée après la mise à niveau. Dans ce cas, modifiez la propriété de l'unité logicielle et compilez une nouvelle fois le programme.

Contrôle de syntaxe pour les instances (CONT, LOG, LIST, GRAPH)

Lors de l'appel d'un bloc fonctionnel, il est contrôlé si le type du bloc de données d'instance indiqué est identique au bloc fonctionnel appelé. En plus du numéro et de la structure, le nom du bloc est aussi contrôlé.

En cas d'incohérences, une erreur de syntaxe s'affiche après la mise à niveau. Dans ce cas, contrôlez le type du bloc de données d'instance dans l'onglet "Général" des propriétés du bloc. Si le type ne correspond pas au bloc fonctionnel appelé, vous devez modifier l'appel du bloc et indiquer une instance correspondante.

Instructions "UPPER_BOUND" et "LOWER BOUND" (CONT, S7-1200/S7-1500)

L'entrée de validation "EN" des deux instructions "UPPER_BOUND" et "LOWER BOUND" est alors correctement évaluée. Si l'entrée "EN" a l'état logique "0", l'instruction n'est pas exécutée et la sortie de validation "ENO"a l'état logique "0". Si vous utilisez l'une des deux instructions, vérifiez si votre programme a été modifié après la mise à niveau.

Instruction "S_CONV" (CONT)

L'entrée de validation "EN" de l'instruction "S_CONV" n'a pas été analysée dans les anciennes versions de TIA Portal lors de la conversion de (W)Char vers (W)String, si aucun paramètre n'a été connecté à la sortie de validation "ENO". Ce comportement a été corrigé. En cas d'utilisation de "S_CONV", vérifiez si votre programme n 'a pas été modifié après la mise à niveau.

Initialisation du type de données STRUCT lors de l'importation de fichiers source externes (SCL)

Les règles d'initialisation pour STRUCT ont été uniformisées. Les listes d'initialisation sont désormais évaluées selon les mêmes règles, que vous utilisiez l'interface de bloc sous forme de table ou l'interface de bloc textuelle.

Si vous utilisez différentes syntaxes dans une liste d'initialisation et initialisez par exemple certains éléments avec indication du nom et d'autres uniquement avec indication de la valeur, contrôlez votre programme après l'importation dans TIA Portal V16.

L'exemple suivant montre comme les éléments de structure sont évalués dans la version V16, dans l'interface de bloc sous forme de table aussi bien que textuelle :

myStruct : Struct

member_1 : Int;

member_2 : Int;

member_3 : Int;

member_4 : Int;

member_5 : Int;

End_Struct:=(1,mem_3:=33,2,3);

//Les éléments de structure sont initialisés de la manière suivante :

//mem_1 := 1;

//mem_3 := 33;

//mem_4 := 2;

//mem_5 := 3;

Déclaration AT

Dans de rares cas, les paramètres de bloc suivant directement une déclaration AT dans l'interface recevaient des valeurs incorrectes. Ce comportement a été corrigé.

Dans le même temps, il n'est plus possible de superposer aux paramètres de bloc des types de données BOOL, BYTE, SINT, USINT ou CHAR, des variables de type de données STRUCT et UDT. Les superpositions avec des variables de type ARRAY ne sont possibles que si la taille de l'array (tableau) ne dépasse pas la taille des données du type superposé.

Si vous utilisez des déclarations AT, contrôlez votre programme après la mise à niveau.

Instruction "MOVE"

L'instruction "MOVE" permet de copier toutes les variables d'un bloc de données dans un autre bloc de données ("DA a" := "DB b"), si les deux blocs ont la même structure, c'est-à-dire quand le nombre, les types de données et l'ordre de déclaration des variables déclarées sont identiques. En outre les deux blocs de données doivent avoir le même format d'enregistrement (optimisé ou non optimisé).

Si les deux blocs ont le format d'enregistrement optimisé, toutes les variables des deux blocs doivent être soit rémanentes, soit non rémanentes.

Instruction "MOVE" (AWL)

À partir de TIA Portal V16, il n'est plus possible, dans AWL, de valoriser la sortie OUT d'une instruction MOVE avec une variable du type de données VARIANT, reprise des sections InOut ou Out de l'interface de bloc.

Instructions "SCATTER_BLK" et "GATHER_BLK" (SCL)

À partir de V16, les types de données autorisés ont été restreints : Si vous utiliser des structures (type de données STRUCT ou API) comme paramètres, celles-ci doivent exclusivement contenir des variables de type de données BOOL.

Constantes sans type (SCL)

Le contrôle sémantique des constantes sans type a été adapté aux autres langages de programmation : si une constante sans type n'est pas compatible avec le type de données de l'opérande affectée, une erreur de traduction est désormais toujours signalée à l'activation du contrôle CEI.

Adressage d'ARRAY via un indice variable et un accès à la périphérie (S7-1200)

Dans une CPU de la gamme S7-1200, l'adressage d'ARRAY via un indice variable et l'identification de l'accès à la périphérie ":P" n'est plus possible.

Exemple d'adressage d'ARRAY non autorisé :

#array[0, #myIndexTag, 2]:P

Exemples d'adressages d'ARRAY autorisés avec accès à la périphérie :

#array[0, #myConstant, 2]:P

#array[0, 1, 2]:P

Exemples d'adressages d'ARRAY autorisés avec indice variable :

#array[0, #myIndexTag, 2]

Taille de bloc en cas d'utilisation de tableaux (ARRAY) dans des structures

En cas d'utilisation de structures (STRUC) contenant plus d'un élément de tableau, l'erreur suivante se pouvait se produire :

Si plusieurs accès au tableau se trouvaient hors de la plage valide, la CPU ne basculait pas sur ARRÊT et l'accès à un élément de tableau avait lieu.

Ce comportement a été corrigé dans V16 : La CPU passe dans ce cas à ARRÊT ou exécute un traitement d'erreur local ou global si celui-ci a été programmé.

Il se peut qu'à la suite de cette correction les blocs concernés soient plus grands.

Taille de blocs GRAPH

Veuillez noter que la taille de tous les blocs GRAPH augmente d'environ 90 octets suite à la correction.

Affectation de constantes sans type (SCL)

Pour les affectations de constantes sans type à des variables de type "Real", un message d'erreur est généré si le contrôle CEI est activé et si, en même temps, la constante se trouve au sein de la plage de valeurs d'un LReal et hors de la plage de valeurs d'un Real.


Compatibilité des programmes API des versions antérieures à V15.1.

Contenu Compatibilité Ordre de traitement des appels de fonctions dans SCL (S7-1200/S7-1500) Comparaison (SCL S7-1200 >= 4.2 et S7-1500 >= 2.0) Importation de temporisations CEI (S7-1200/S7-1500) Remplacer des caractères Unicode invalides lors de la mise à niveau Instructions "SCATTER" / "SCATTER_BLK" et "GATHER" / "GATHER_BLK" (S7-1200/1500) Instructions "BLKMOV" / "UBLKMOV" et "FILL" / "UFILL" Instruction “RUNTIME” (SCL/AWL S7-1200/S7-1500)
Compatibilité des programmes API des versions antérieures à V15.1.

Contenu

Remarques n'ayant pu figurer dans l'aide en ligne et remarques importantes sur les caractéristiques du produit.

Compatibilité

En principe, tous les programmes API qui ont été créés avec des versions anciennes de TIA Portal peuvent toujours être utilisés dans la version V15.1. Toutefois, étant donné que la version V15.1 comporte des améliorations et des corrections du compilateur, il se peut dans certains cas que le programme se comporte différemment après la mise à niveau ou que vous ayez à modifier manuellement le code du programme. Ces quelques cas sont détaillés ci-après.

Ordre de traitement des appels de fonctions dans SCL (S7-1200/S7-1500)

Dans les versions antérieures de TIA Portal, l'ordre de traitement des instructions contenant des expressions ou des appels de fonction n'était pas toujours univoque. Le traitement n'était pas toujours effectué de droite à gauche, mais dans certains cas des parties gauches de l'expression étaient d'abord traitées.

Ce comportement a été corrigé dans la version V15.1, de sorte que la partie droite de l'affectation est d'abord calculée et ensuite seulement appliquée à la partie gauche.

Exemple :

#myArr["FC_1"()]:= #x + #y;

Dans les versions antérieures, la "FC1" était d'abord exécutée afin de déterminer l'élément ARRAY. Ensuite #x + #y était calculé.

A partir de la version V15.1, le programme est maintenant traité correctement de droite à gauche : #x + #y est d'abord calculé, puis "FC1" est exécuté.

En raison de cette correction, il se peut que votre programme réagisse différemment après la mise à niveau, p. ex. si les variables #x ou #y sont mises à 1 dans "FC1". Vérifiez donc votre programme après la mise à niveau.

Comparaison (SCL S7-1200 >= 4.2 et S7-1500 >= 2.0)

Lors de la comparaison de deux blocs de données d'instance par des opérations de comparaison dans SCL, ce n'est pas la structure des blocs, mais uniquement les numéros des blocs qui sont comparés. A partir de V15.1, un message d'erreur durant la compilation vous signale que cette opération ne fournira éventuellement pas le résultat escompté (en général, FALSE est fourni, car les numéros des blocs diffèrent).

Exemple :

Le résultat de l'opération de comparaison suivante est FALSE, même si la structure des deux blocs est identique.

IF "MyDBofFB" = "MyDBofSameFB" THEN …

Importation de temporisations CEI (S7-1200/S7-1500)

Les temporisations CEI comportent des paramètres protégés en écriture. p. ex. ET (valeur de temps actuelle). Dans les versions antérieures de TIA Portal, les valeurs de départ de ces paramètres protégés en écriture étaient écrasées lors de l'importation de fichiers source externes. Ce comportement a été corrigé avec V15.1 : Les valeurs de départ des paramètres protégés en écriture sont à présent ignorées lors de l'importation de fichiers source. Au lieu de celles-ci, les valeurs par défaut du type de données sont utilisées. Vérifiez donc votre programme après une importation.

Remplacer des caractères Unicode invalides lors de la mise à niveau

Lors de la mise à niveau à V15.1, les caractères Unicode invalides dans votre programme sont corrigés. Des caractères invalides dans des constantes de chaîne de caractères sont par exemple remplacés par les séquences d'échappement définies par CEI. De cette manière, le total de contrôle du programme peut être modifié, et les différences entre le programme en ligne et hors ligne sont affichées. Dans ce cas, compilez et chargez de nouveau votre programme.

Instructions "SCATTER" / "SCATTER_BLK" et "GATHER" / "GATHER_BLK" (S7-1200/1500)

Avec les instructions "SCATTER" / "SCATTER_BLK", vous pouvez décomposer une suite de bits en ses bits constitutifs. Avec les commandes "GATHER" / "GATHER_BLK", vous pouvez composer une suite de bits à partir de bits individuels.

Les valeurs avec lesquelles les instructions travaillent ne doivent en aucun cas se situer dans la plage de périphérie ou dans le DB d'un objet technologique car la cohérence des données n'est pas garantie dans ces plages.

Cette règle est vérifiée par un contrôle de la syntaxe plus précis à partir de V15.1. Si des paramètres d'entrée non admissibles ont été assignés à l'instruction mentionnée ci-dessus dans votre programme, un message d'erreur s'affiche lors de la compilation.

Solution : copiez d'abord les variables dans une zone de mémoire temporaire et transférez ensuite depuis cette zone les instructions "SCATTER" ou "GATHER".

Instructions "BLKMOV" / "UBLKMOV" et "FILL" / "UFILL"

Avec les instructions "BLKMOV" / "UBLKMOV" et "FILL" / "UFILL", vous copiez les contenus d'une zone de mémoire (zone source) dans une autre zone de mémoire (zone cible). Si ces instructions accèdent à une zone de mémoire inexistante, une erreur de programme est générée. Dans les anciennes versions, un code d'erreur était émis dans des cas rares au paramètre "RET_VAL" à la place d'une erreur de programme. Ce comportement a été corrigé pour les CPU S7-1500 à partir de la version de firmware 2.6.

Instruction “RUNTIME” (SCL/AWL S7-1200/S7-1500)

Le paramètre „Mem“ de l'instruction „RUNTIME“ est un type de données „LREAL“ et ne peut être utilisé qu'avec une variable de ce type de données. Une conversion implicite est impossible. Cette règle est vérifiée par un contrôle de la syntaxe plus précis à partir de V15.1. Si vous avez assigné un type de données non autorisé au paramètre „Mem“ de l'instruction „RUNTIME“ dans votre programme, un message d'erreur s'affiche lors de la compilation.


Compatibilité des programmes API des version antérieures à V15

Contenu Compatibilité S7-GRAPH : Conversions implicites "Types de données matériel <> INT" Sous-catégories dans ProDiag (S7-1500) Instructions "(U)MOVE_BLK" et "(U)FILL_BLK" (S7-1500) Boucles de programme dans SCL (S7-1200/S7-1500) Valeurs en retour des fonctions dans SCL LDT_TO_DATE dans SCL (S7-1500) Comparaison d'un élément de tableau (ARRAY) avec une variable du type de données "VARIANT" dans SCL (S7-1200/1500) Instruction "GetSymbolPath" (S7-1200/S7-1500) Instruction "GetInstancePath" (S7-1200/S7-1500) Additions et soustractions avec DTL/LDT/DT Informations d'exécution (S7-1200/S7-1500) ARRAY de multiinstances Paramètre de bloc de type de données "VARIANT" (S7-1200/1500) Importer des sources externes Taille de l'ARRAY of BOOL/BYTE/CHAR (S7-1500)
Compatibilité des programmes API des version antérieures à V15

Contenu

Remarques n'ayant pu figurer dans l'aide en ligne et remarques importantes sur les caractéristiques du produit.

Compatibilité

En principe, tous les programmes API qui ont été créés avec des versions anciennes du TIA Portal peuvent toujours être utilisés dans la version V15. Toutefois, étant donné que la version V15 comporte des améliorations et des dépannages au niveau du compilateur, il se peut dans certains cas que le programme se comporte différemment après la mise à niveau ou que vous ayez à modifier manuellement le code du programme. Ces quelques cas sont détaillés ci-après.

S7-GRAPH : Conversions implicites "Types de données matériel <> INT"

À partir de TIA Portal V15, il n'est plus possible (comme c'est déjà le cas pour CONT, LOG, LIST et SCL) de programmer des conversions implicites de types de données matériel (par ex. INT -> DB_ANY ou DB_ANY -> INT).

Veuillez utiliser à la place le type de données UINT ou une conversion explicite.

Sous-catégories dans ProDiag (S7-1500)

À partir de TIA Portal V14 SP1 Update 2, les différentes sous-catégories pour ProDiag ne sont plus ajoutées manuellement mais activées ou désactivées dans la colonne "Activation".

En conséquence, après la mise à niveau d'un projet <V14 SP1 Update 2 qui utilise des sous-catégories déjà existantes dans au moins une surveillance, le bouton "Réparer" doit être activé avant de pouvoir créer de nouvelles sous-catégories.

Instructions "(U)MOVE_BLK" et "(U)FILL_BLK" (S7-1500)

Dans TIA Portal <= V15, les instructions "(U)MOVE_BLK" et "(U)FILL_BLK" n'accédaient qu'à la mémoire image en cas d'accès direct à la périphérie.

Ce comportement a été corrigé et provoque maintenant une erreur d'exécution, car des accès directs à la périphérie en cas de commandes BLK ne sont pas autorisés.

Boucles de programme dans SCL (S7-1200/S7-1500)

SCL ne permet pas de modifier l'indice d'une boucle de programme à partir de la boucle dans S7-1200/S7-1500.

L'exemple de programme suivant ne serait donc pas valide :

FOR #i := 1 TO 10 DO

#i := #i + 1;

END_FOR;

À partir de TIA Portal V15, un contrôle de la syntaxe est effectué à ce sujet et une erreur de compilation s'affiche lors de la compilation.

Valeurs en retour des fonctions dans SCL

Le comportement des fonctions dont la valeur en retour contient un type de données structurés a été corrigé. Les types de données structurés sont API ou STRING.

En fonction de l'utlisation ou pas de la sortie ENO de la fonction, il arrivait qu'une copie de travail temporaire soit créée pour la valeur de la fonction bien qu'une création de cette copie n'ait pas été nécessaire pour le même appel sans ENO. Le transfert de cette copie temporaire à la variable commutée est exécuté avec la fin de la fonction.

Ce comportement a été modifié comme suit :

L'utilisation du paramètre de sortie ENO n'a plus d'influence sur le transfert par copie ou par référence de la valeur en retour. Lorsque la valeur en retour contient un type de données structuré, elle est en général transféré par référence. Les règles de transfert sont décrites dans le chapitre "Transférer les paramètres comme copie ou comme pointeurparamètres comme copie ou comme pointeur" .

LDT_TO_DATE dans SCL (S7-1500)

Le comportement de LDT_TO_DATE en cas d'erreur de conversion pendant le fonctionnement a été corrigé.

Comparaison d'un élément de tableau (ARRAY) avec une variable du type de données "VARIANT" dans SCL (S7-1200/1500)

Dans quelques cas, la comparaison d'un élément de tableau indexé de manière variable avec un VARIANT n'était pas exécutée correctement. Au lieu de l'élément de tableau, c'est le tableau entier qui était utilisé pour la comparaison.

Ce comportement a été corrigé dans V15 : L'élément de tableau indexé est désormais évalué pour la comparaison. Si vous utilisez des comparaisons de ce type dans votre programme, vous devez vérifier le bloc concerné après la mise à niveau.

Exemple :

IF (#my_Array[#1] = #my_variant) THEN…

La comparaison portait jusqu'ici entre "my_variant" et "my_Array". À partir de V15, la comparaison est effectuée correctement et "my_variant" est comparé avec l'élément #1 de "my_Array".

Instruction "GetSymbolPath" (S7-1200/S7-1500)

Si un FB interconnecte une variable statique à un paramètre formel d'un appel et si un bloc subordonné utilise "GetSymbolPath" V1.0 ou V1.1 pour le paramètre, la compilation de ce bloc entraîne l'affichage supplémentaire d'un nom de DB avant le nom de la variable statique, mais sans point en tant que séparateur et sans remplacement du #. La version V1.2 de "GetSymbolPath" affiche le chemin d'accès correctement avec un point comme séparateur et sans #.

Si vous utilisez l'instruction "GetSymbolPath" dans votre programme, il est recommandé d'utiliser l'instruction "GetSymbolPath" V1.2 après la mise à niveau à une version >=V15.

Instruction "GetInstancePath" (S7-1200/S7-1500)

Si un FB interconnecte une variable statique à un paramètre formel d'un appel et si un bloc subordonné utilise "GetInstancePath", la compilation de ce bloc entraîne l'affichage supplémentaire du nom de DB avant le nom de la variable statique.

Additions et soustractions avec DTL/LDT/DT

Les constantes sans type ne peuvent plus être utilisées dans des additions et soustractions avec les types de données DTL/LDT/DT. Une erreur de syntaxe s'est affichée.

Par exemple, les opérations arithmétiques suivantes ne sont désormais plus possibles :

#myDTL + 1

#myLDT + 1

#myDate_And_Time +1

Utilisez à la place des constantes du type de données "Time" ou "LTime"

#myDTL + TIME#1d

#myLDT + TIME#1ms

#myDate_And_Time + LTIME#1ns

Informations d'exécution (S7-1200/S7-1500)

Les instructions étendues "GetInstanceName", "GetInstancePath", "GetSymbolName", "GetSymbolPath" et "GetBlockName" se comportent désormais de manière identique dans tous les langages de programmation : Si, en raison de restrictions concernant la taille, la chaîne de caractères à afficher est trop grande pour le paramètre de sortie "OUT", le nom est coupé et le caractère "..." est affiché à la fin de la chaîne de caractères.

ARRAY de multiinstances

Jusqu'ici et dans certains cas, les ARRAY de multiinstances ne pouvaient pas être correctement adressés si une multiinstance avait été adressée via un indice variable qui était instancié dans une autre multiinstance qui, de son côté, était un élément d'un ARRAY de multiinstances.

Exemple :

#MyMultiArray[#index].MyMultiMember := 10;

Ce comportement a été corrigé dans V15.

Si vous avez utilisé ce type d'accès dans votre programme, vous devez vérifier le bloc concerné après la mise à niveau et éventuellement le recompiler.

Paramètre de bloc de type de données "VARIANT" (S7-1200/1500)

Comme c'était déjà le cas dans CONT, LOG, LIST et GRAPH, il n'est également plus possible dans SCL d'affecter un DB d'instance en tant que paramètre effectif à un paramètre formel de type de données "VARIANT".

Les DB d'instance dérivés d'un type de données API ou d'un type de données système constituent une exception. Vous pouvez les affecter dans tous les langages de programmation à un paramètre de bloc de type de données "VARIANT".

Il n'est plus possible d'affecter comme paramètre effectif une variable lecture seule à un paramètre de bloc de type de données "VARIANT".

Si possible, supprimez la protection en écriture de la variable. Si ce n'est pas possible, vérifiez si vous pouvez modifier votre programme pour éviter l'accès à des variables protégées en écriture. Si p. ex. vous souhaitez uniquement un accès en lecture, vous pouvez recopier le contenu d'une variable protégée en écriture dans le bloc appelant dans une variable sans protection en écriture. Vous pouvez ensuite transmettre cette variable comme paramètre effectif.

Importer des sources externes

Lors de l'importation d'une source externe dans laquelle une instruction est utilisée comme instance unique ou comme multiinstance, le programme entier était jusqu'ici converti à la version de l'instruction utilisée dans la source. Ce comportement est corrigé à partir de la version V15 de TIA Portal : Les instructions déjà contenues dans le projet ne sont plus converties mais conservent la version de l'instruction que vous avez configurée.

Si le projet contient après l'importation plusieurs versions d'une instruction, une erreur de syntaxe est signalée. Dans ce cas, recompilez tout le programme. Sélectionnez pour cela dans le navigateur du projet le dossier "Blocs de programme" et choisissez la commande "Compiler > Logiciel (modifications uniquement)" ou "Compiler > Logiciel (compilation complète)" dans le menu contextuel.

Taille de l'ARRAY of BOOL/BYTE/CHAR (S7-1500)

Jusqu'ici, les ARRAY des types de données BOOL, BYTE ou CHAR avaient différentes tailles, selon qu'ils étaient utilisés ou non dans une structure. À partir de V15, la taille des ARRAY a été harmonisée. Si vous effectuez dans votre programme un accès absolu, par ex. via un pointeur ANY, à un ARRAY de BOOL, BYTE ou CHAR, vous devez vérifier le programme après la mise à niveau.


Compatibilité des programmes API des versions antérieures à V14 SP1

Contenu Compatibilité Taille totale des variables pour les alarmes de programme Boucles de programme dans SCL (S7-1200/S7-1500) Instructions CASE dans SCL ARRAY de multiinstances Type de paramètre "Block_DB" pour l'indication du bloc de données d'instance Accès à la périphérie comme paramètres d'entrée de blocs (S7-1500 à partir du firmware V2.1)
Compatibilité des programmes API des versions antérieures à V14 SP1

Contenu

Remarques n'ayant pu figurer dans l'aide en ligne et remarques importantes sur les caractéristiques du produit.

Compatibilité

En principe, tous les programmes API qui ont été créés avec des versions antérieures du TIA Portal peuvent toujours être utilisés dans la version V14 SP1. Toutefois, étant donné que la version V14 SP1 comporte des améliorations et des dépannages au niveau du compilateur, il se peut dans certains cas que le programme se comporte différemment après la mise à niveau ou que vous ayez à modifier manuellement le code du programme. Ces quelques cas sont détaillés ci-après.

Par ailleurs, vous avez également la possibilité de travailler sur le projet en mode de compatibilité. Pour plus d'informations sur la compatibilité des projets, consultez la rubrique "Compatibilité des projets".

Taille totale des variables pour les alarmes de programme

Le procédé d'alarme de la CPU S7-1500 met au maximum 512 octets à disposition pour les variables (paramètres SD) de l'instruction "Program_Alarm".

Seul un avertissement relatif à cette taille était généré dans TIA Portal <= V14 lors de la compilation. Une vérification plus stricte est effectuée à partir de TIA Portal V14 SP1. En cas de dépassement de cette taille, une erreur est signalée dès la compilation afin d'exclure des scénarios d'erreur pendant l'exécution. Désormais, cette vérification ne se rapporte plus à la taille réelle des paramètres SD au moment de l'appel de l'instruction "Program_Alarm", mais à la taille maximale possible des paramètres SD. Vous devez donc penser à l'avance à la longueur que vous indiquerez lors de la déclaration des variables chaînes de caractères à transmettre, car ces dernières utilisent un nombre important d'octets.

Ce point est à prendre en compte lors de la migration de projets d'une version <= V14 à la version V14 SP1 Update 1 ou une version plus récente.

Boucles de programme dans SCL (S7-1200/S7-1500)

SCL ne permet pas de modifier l'indice d'une boucle de programme à partir de la boucle dans S7-1200/S7-1500.

L'exemple de programme suivant ne serait donc pas valide :

FOR #i := 1 TO 10 DO

#i := #i + 1;

END_FOR;

À partir de TIA Portal V14.0.1, un contrôle de la syntaxe est effectué à ce sujet et une erreur de compilation s'affiche lors de la compilation.

Instructions CASE dans SCL

Dans une instruction Case, les repères sans instruction "GOTO" correspondante ne sont plus autorisés. Une erreur de syntaxe s'est affichée.

ARRAY de multiinstances

Dans certains cas, les ARRAY de multiinstances n'ont pas pu être adressés correctement dans la version V14 si certaines variables possédaient le réglage de rémanence "Activer dans l'IDB" dans une multiinstance. Ce comportement a été corrigé dans la version V14 SP1.

Si vous avez utilisé ce type de variables dans votre programme, vous devez éventuellement compiler à nouveau le bloc concerné après la mise à niveau.

Type de paramètre "Block_DB" pour l'indication du bloc de données d'instance

Dans CONT et LOG, vous ne pouvez pas indiquer le bloc de données d'instance d'une instruction via l'entrée du type de données "Block_DB". Cette réaction a été harmonisée pour toutes les familles de CPU et tous les types de blocs.

A partir de TIA Portal V14 SP1, une erreur de syntaxe est émise sur ce point.

Si vous avez transféré dans votre programme des blocs de données d'instance à l'aide du type de données "Block_DB", vous devez modifier votre programme Utilisez plutôt une instance paramètre pour transférer une instance à l'exécution.

Accès à la périphérie comme paramètres d'entrée de blocs (S7-1500 à partir du firmware V2.1)

En cas d'erreur d'accès à la périphérie, les accès directs à la périphérie qui sont connectés comme paramètres d'entrée dans les blocs n'empêchent plus le parcours du bloc. Au lieu de cela, le bloc est traité avec la valeur de remplacement du signal.

Le comportement du système reste inchangé pour les CPU S7-1500 avec un firmware d'une version inférieure à V2.1 et pour toutes les CPU S7-1200 :

Le bloc n'est pas appelé à cause de l'erreur d'accès à la périphérie. L'exécution du programme est reprise après l'appel de bloc. En présence d'un OB 122 ou si la gestion locale des erreurs est activée, ils sont exécutés.


Compatibilité des programmes API des version antérieures à V14

Contenu Compatibilité LIST : Instructions "SRW", "SLW" et "SSI" (S7-300, S7-400, S7-1500) Représentation du format BCD Instructions "SET_BF : Mise à 1 champ de bits" et "RESET_BF : Mise à 0 champ de bits" (S7-1200, S7-1500) Instructions "SCALE : Mise à l'échelle" et "UNSCALE : Annuler mise à l'échelle" (S7-1500) Bits inutilisés de type de données API (UDT) dans le cas d'un firmware >= V1.8.1 Conversion explicite de type de données dans SCL (S7-1200) en cas de firmware >= V4.2 SCL : Mécanisme EN/ENO pour les paramètres de bloc de type de données (W)STRING (S7-1200/1500) Transmission de paramètres STRING entre des blocs optimisés et des blocs standard (S7-1200/1500) Déclaration de longueur pour des constantes de type de données "STRING" ou "WSTRING" Modification du type de données de base pour HW_ANY de WORD en UINT Longueur des commentaires de bloc Contrôle de la syntaxe des instructions " SR : Bascule mise à 1/mise à 0 " et " RS : Bascule mise à 0/mise à 1 " Pointeur Any : Accès à des données optimisées Type de données "(L)REAL" Paramètre "ST" pour les temps IEC Variables pour les messages (S7-1500) Conversion implicite du type de données pour les paramètres de bloc de type de données "DB_ANY" Interface de blocs d'organisation à accès standard Comparaison de variables de type de données WORD avec des variables de type de données S5TIME (S7-1500)
Compatibilité des programmes API des version antérieures à V14

Contenu

Remarques n'ayant pu figurer dans l'aide en ligne et remarques importantes sur les caractéristiques du produit.

Compatibilité

En principe, tous les programmes API qui ont été créés avec des versions anciennes du TIA Portal peuvent toujours être utilisés dans la version V14. Toutefois, étant donné que la version V14 comporte des améliorations et des dépannages au niveau du compilateur, il se peut dans certains cas que le programme se comporte différemment après la mise à niveau ou que vous ayez à modifier manuellement le code du programme. Ces quelques cas sont détaillés ci-après.

LIST : Instructions "SRW", "SLW" et "SSI" (S7-300, S7-400, S7-1500)

La plage de valeurs autorisée du nombre de décalage de ces instructions a été modifiée entre TIA Portal V13 SP1 et TIA Portal V14.

Dans la version V13 SP1, il est possible d'indiquer, comme nombre de décalage, un nombre compris dans une plage allant de 0 à 31 sur une CPU des gammes S7-1200/S7-1500 et un nombre compris dans une plage allant de 0 à 15 sur une CPU des gammes S7-300/S7-400.

À partir de la version V14, les plages de valeurs ont été harmonisées et vont de 0 à 15 pour toutes les gammes de CPU (S7-300/400/1200/1500).

Représentation du format BCD

La représentation du format BCD en ce qui concerne le signe en tête a été modifiée entre TIA Portal V13 SP1 et TIA Portal V14.

Dans la version V13 SP1, les valeurs au format BCD sont représentées sans signe en tête.

À partir de la version V14, les valeurs au format BCD sont représentées avec un signe en tête. Il peut en résulter une modification de la représentation des valeurs au format BCD.

Entiers (système décimal) | Nombres hexadécimaux | Représentation dans la version V13 SP1 | Représentation dans la version V14
0 | 16#0000 | BCD#0 | BCD#0
-26215 | 16#9999 | BCD#9999 | BCD#-999
1365 | 16#0555 | BCD#555 | BCD#555
21845 | 16#5555 | BCD#5555 | BCD#555
4096 | 16#1000 | BCD#1000 | BCD#0
-28672 | 16#9000 | BCD#9000 | BCD#0

Instructions "SET_BF : Mise à 1 champ de bits" et "RESET_BF : Mise à 0 champ de bits" (S7-1200, S7-1500)

Le comportement de l'instruction en ce qui concerne les structures a été modifié entre TIA Portal V13 SP1 et TIA Portal V14.

Dans la version V13 SP1, le nombre de bits mis à 1 ou à 0 est égal au nombre indiqué à l'entrée. Cette règle s'applique également si vous avez indiqué, par exemple, une structure de type de données API, STRUCT ou ARRAY. Si, par exemple, vous souhaitez mettre 10 bits à 1 ou à 0 et que la structure contient uniquement 5 bits, les 5 bits suivants seront également mis à 1 ou à 0 dans la séquence d'adressage.

À partir de la version V14, le nombre de bits mis à 1 dans les structures de type de données API, STRUCT ou ARRAY se limite au nombre de bits contenus dans la structure : si vous indiquez la valeur "20", par exemple, et que la structure ne contient que 10 bits, seuls ces 10 bits seront mis à 1. Si vous indiquez la valeur "5", par exemple, et que la structure contient 10 bits, 5 bits seront mis à 1.

Instructions "SCALE : Mise à l'échelle" et "UNSCALE : Annuler mise à l'échelle" (S7-1500)

Le comportement de l'instruction lorsque vous indiquez les valeurs limites (LO_LIM > HI_LIM) a été modifié entre TIA Portal V13 SP1 et TIA Portal V14.

Dans la version V13 SP1, un message d'erreur s'affichait si la valeur limite inférieure était supérieure à la valeur limite supérieure.

À partir de la version V14, cette indication de valeur est autorisée et le résultat est mis à l'échelle de manière inversement proportionnelle à la valeur entrée.

Sur les CPU de la gamme S7-300/400, le résultat de l'instruction est depuis toujours mis à l'échelle de manière inversement proportionnelle à la valeur entrée.

Bits inutilisés de type de données API (UDT) dans le cas d'un firmware >= V1.8.1

Les bits inutilisés de type de données API dans les zones de mémoire par défaut sont affectés ou écrasés, p. ex. dans un type de données API contenant 4 bits.

Dans le cas d'un firmware de version < V1.8.1, les bits inutilisés d'un type de données API peuvent être utilisés ailleurs.

À partir de la version de firmware >= V1.8.1 tous les bits, même si 4 bits seulement sont utilisés, sont affectés ou écrasés.

Remarque

Assignation d'adresse

Prenez garde à ne pas assigner deux fois la même adresse absolue à différents adressages symboliques.

Conversion explicite de type de données dans SCL (S7-1200) en cas de firmware >= V4.2

En cas de firmwares dont les versions < V4.2, lors de la conversion explicite de types de données dans SCL de SINT/INT/DINT/REAL_TO_STRING/WSTRING, la chaîne de caractères a été transmise alignée à droite et remplie de blancs avant le texte.

Exemple : REAL_TO_WSTRING(12) = ' 1.200000E+1'

A partir de TIA Portal V13, la chaîne de caractères est représentée avec un signe en tête et transmise alignée à gauche lors de la conversion explicite de type de données de SINT/INT/DINT/REAL_TO_STRING/WSTRING dans SCL.

Exemple : REAL_TO_WSTRING(12) = '+1.200000E+1'

SCL : Mécanisme EN/ENO pour les paramètres de bloc de type de données (W)STRING (S7-1200/1500)

A partir de TIA Portal V14, le système vérifie si les paramètres de bloc de type de données (W)STRING sont tronqués lors du transfert de paramètres en cours d'exploitation. Cela peut se produire si les paramètres effectifs et les paramètres formels ont une longueur déclarée différente. Quand la longueur déclarée du paramètre cible ne suffit pas à recevoir (W)STRING lors de l'exécution, (W)STRING est tronquée et la sortie de validation ENO est mise à "FALSE".

Lorsque le programme évalue la sortie de validation ENO, la sémantique du programme peut se modifier.

Transmission de paramètres STRING entre des blocs optimisés et des blocs standard (S7-1200/1500)

Avant la version TIA Portal V14, aucune information de longueur des STRING n'était fournie au bloc appelé durant la transmission de paramètres entre les blocs optimisés et les blocs non optimisés. De ce fait, certaines erreurs d'accès non détectées par le mécanisme ENO pouvaient se produire lors du traitement des STRING. La sortie de validation ENO restait TRUE malgré l'erreur d'accès.

Depuis TIA Portal V14, les informations de longueur STRING sont transmises et les erreurs d'accès sont surveillées par le mécanisme ENO. Lorsque le programme évalue la sortie de validation ENO, la sémantique du programme peut se modifier.

Déclaration de longueur pour des constantes de type de données "STRING" ou "WSTRING"

Les déclarations de longueurs ne sont plus autorisées pour les constantes (W)STRING locales et globales. Si votre programme contient des déclarations de longueur, par ex. « MyStringConst [7] », celles-ci seront automatiquement supprimées lors de la mise à niveau. Cette modification n'a toutefois pas d'effet sémantique sur votre programme.

Modification du type de données de base pour HW_ANY de WORD en UINT

Le type de données matériel "HW_ANY" sert à l'identification d'un composant matériel quelconque, p.ex. d'un module. Dans V14 le type de données de base de "HW_ANY" a été changé de WORD en UINT. Après conversion vers V14, des erreurs peuvent se produire pendant la compilation si vous avez saisi sur un paramètre de type de données "HW_ANY" une constante WORD explicite en tant que valeur effective (p. ex. W#16#1) ou une variable de type de données WORD.

Dans ce cas, modifiez la notation de la constante (p.ex. 16#1) ou modifiez le type de données des variables en UINT.

Longueur des commentaires de bloc

A partir de TIA Portal V14, les commentaires de bloc doivent avoir une longueur maximale de 32767 caractères unicode.

Contrôle de la syntaxe des instructions " SR : Bascule mise à 1/mise à 0 " et " RS : Bascule mise à 0/mise à 1 "

En entrée « S », des entrées, sorties, mémentos ainsi que données statiques ou locales peuvent être utilisées en tant qu'opérandes. L'utilisation de constantes n'est pas autorisé. Autrefois, l'utilisation des constantes « 0 » et « 1 » n'était cependant pas refusée par le contrôle de la syntaxe. À partir de TIA Portal V14, le contrôle de la syntaxe a été amélioré, de sorte que désormais, l'utilisation de "0" ou de "1" en entrée "S" est également refusée. Il se peut désormais que vous receviez un message d'erreur lors de la compilation d'un programme autrefois compilable sans erreurs. Dans pareil cas, modifiez votre programme et utilisez une opérande autorisée.

Pointeur Any : Accès à des données optimisées

Sur une CPU de la gamme S7-1500 aussi, avec le pointeur ANY, vous pouvez uniquement pointer sur des zones de mémoire dotées du type d'accès « Standard ». L'accès à des données optimisées via un pointeur ANY n'est pas autorisé.

À partir de TIA Portal V14, un contrôle de la syntaxe plus précis est mis en place pour les pointeurs ANY. L'accès à des données optimisées est désormais refusé. Il se peut désormais que vous receviez un message d'erreur lors de la compilation d'un programme autrefois compilable sans erreurs.

Type de données "(L)REAL"

Sur les versions Windows 64 bit, le type de données LREAL est parfois évalué différemment que dans les anciennes versions Windows 32 bit. Une différence peut se produire pour les arrondis et les valeurs (L)Real de constantes en bit de poids faible.

L'éventuelle différence se situe au niveau du dernier caractère de la mantisse ; par conséquent, elle n'a généralement qu'une incidence minime sur l'exactitude.

Si vous évaluez le dernier caractère de la mantisse, il est possible que la sémantique de votre programme STEP 7 soit modifiée après la conversion.

Paramètre "ST" pour les temps IEC

Le paramètre "ST" d'un temps IEC est utilisé en interne et ne peut pas être écrit. Pour cette raison, ce paramètre n'est plus visible à partir de TIA Portal V14. Si, dans votre programme, vous accédez en écriture au paramètre "ST", un message d'erreur s'affiche lors de la compilation après la mise à niveau.

Si vous échangez des données avec Inter Project Engineering et que vous avez accédé au paramètre "ST" avec une IHM, vous devez d'abord exporter le projet puis le réimporter dans la CPU de proxy. C'est à ce moment uniquement que le paramètre "ST" disparaît dans la configuration de l'IHM.

Variables pour les messages (S7-1500)

Les projets créés avec une version antérieure de TIA Portal peuvent encore contenir des variables encapsulées qui sont structurées différemment dans les différentes langues du projet. Les variables peuvent être dans un ordre différent ou ne pas exister dans certaines langues. Lors de la mise à niveau d'un tel projet, l'ordre des variables est uniformisé. L'ordre est défini en fonction de la langue de référence définie dans le projet d'origine. Dans ce cas, il est recommandé de vérifier et de corriger les textes compilés.

Conversion implicite du type de données pour les paramètres de bloc de type de données "DB_ANY"

En cas d'accès à un paramètre de bloc du type de données "DB_ANY" avec la syntaxe DB_ANY.%DB(B|W|D), aucune conversion implicite du type de données n'était effectuée auparavant. Le profil binaire de la valeur source était simplement transféré dans le type de données cible. Si le type de données cible était inférieur au type de données source, cela provoquait un débordement et la valeur écrite pouvait être erronée ou imprécise. En cas d'imprécision ou d'erreur d'exécution, la sortie de validation ENO n'était pas mise sur "FALSE".

À partir de V14, la conversion est effectuée selon les règles de la conversion implicite du type de données en cas de transmission des paramètres avec la syntaxe DB_ANY.%DB(B|W|D). Notez qu'une autre valeur peut donc être écrite après la mise à niveau et que la sémantique de votre programme peut s'en trouver modifiée. De plus, si une erreur d'exécution se produit, la sortie de validation ENO est mise sur "FALSE".

Interface de blocs d'organisation à accès standard

L'interface de blocs d'organisation à accès standard doit avoir une taille minimale de 20 octets. L'interface de l'OB1 a été examinée au regard de la taille minimale pendant la compilation dans les versions antérieures de TIA Portal. À partir de V14, les interfaces de tous les blocs d'organisation sont vérifiées. Il se peut désormais que vous receviez un message d'erreur lors de la compilation d'un programme autrefois compilable sans erreurs.

Comparaison de variables de type de données WORD avec des variables de type de données S5TIME (S7-1500)

À partir de TIA Portal V14, lors de la comparaison entre une variable de type de données WORD et une variable de type de données S5TIME, les deux variables sont converties dans le type de données TIME. La variable WORD est interprétée comme valeur S5TIME. Si l'une des deux variables ne peut pas être convertie, la comparaison n'est pas effectuée et le résultat est FALSE. Si la conversion fonctionne, la comparaison est effectuée selon l'expression de comparaison choisie.


Compatibilité des programmes API des versions antérieures à V13 SP1

Contenu Compatibilité Bits inutilisés de type de données API (UDT) dans le cas d'un firmware >= V1.8.1 Conversion explicite de type de données dans SCL (S7-1200) en cas de firmware >= V4.2 Lecture d'une entrée de périphérie invalide Instruction "S_CONV : convertir la chaîne de caractères" Instruction "SET : Mise à 1 bit par bit d'une zone" (S7-300/S7-400) Instruction "MUX : Multiplexeur" (SCL) Instruction "DEMUX : Démultiplexeur" (SCL) Instruction "MOVE : Copier valeur" (LIST) (S7-1500) Instruction "Program_Alarm : Créer une alarme de programme avec des variables" (S7-1500) Instructions "READ_DBL : Lire dans un bloc de données de la mémoire de chargement" et "WRIT_DBL : Écrire dans un bloc de données dans la mémoire de chargement" Instructions "READ_DBL : Lire dans un bloc de données de la mémoire de chargement" et "WRIT_DBL : Écrire dans un bloc de données dans la mémoire de chargement" (SCL) Valeurs de fonction (Return) Comparaison des types de données matériel HW_IO et HW_DEVICE Conversion implicite de nombres à virgule flottante en DWORD (GRAPH) (S7-1500) Affectation d'une valeur à une constante LTIME (S7-1500) Indicer indirectement des composants ARRAY du type de données séquence de bits dans SCL (S7-1200/S7-1500) Mécanisme EN/ENO en cas de conversions de chaînes de caractères (S7-1200/S7-1500) Dépassement de la pile de données locales (S7-300/S7-400)
Compatibilité des programmes API des versions antérieures à V13 SP1

Contenu

Remarques n'ayant pu figurer dans l'aide en ligne et remarques importantes sur les caractéristiques du produit.

Compatibilité

En principe, tous les programmes API qui ont été créés avec TIA Portal V12 SP1 ou V13 peuvent toujours être utilisés dans V13 SP1. Toutefois, étant donné que la version V13 SP1 comporte des améliorations et des dépannages au niveau du compilateur (compilation du code de programme), il se peut dans certains cas que le programme se comporte différemment après la mise à niveau ou que vous ayez à modifier manuellement le code du programme. Ces quelques cas sont détaillés ci-après.

Bits inutilisés de type de données API (UDT) dans le cas d'un firmware >= V1.8.1

Les bits inutilisés de type de données API dans les zones de mémoire par défaut sont affectés ou écrasés, p. ex. dans un type de données API contenant 4 bits.

Dans le cas d'un firmware de version < V1.8.1, les bits inutilisés d'un type de données API peuvent être utilisés ailleurs.

À partir de la version de firmware >= V1.8.1 tous les bits, même si 4 bits seulement sont utilisés, sont affectés ou écrasés.

Remarque

Assignation d'adresse

Prenez garde à ne pas assigner deux fois la même adresse absolue à différents adressages symboliques.

Conversion explicite de type de données dans SCL (S7-1200) en cas de firmware >= V4.2

En cas de firmwares dont les versions < V4.2, lors de la conversion explicite de types de données dans SCL de SINT/INT/DINT/REAL_TO_STRING/WSTRING, la chaîne de caractères a été transmise alignée à droite et remplie de blancs avant le texte.

Exemple : REAL_TO_WSTRING(12) = ' 1.200000E+1'

A partir de TIA Portal V13, la chaîne de caractères est représentée avec un signe en tête et transmise alignée à gauche lors de la conversion explicite de type de données de SINT/INT/DINT/REAL_TO_STRING/WSTRING dans SCL.

Exemple : REAL_TO_WSTRING(12) = '+1.200000E+1'

Lecture d'une entrée de périphérie invalide

Dans TIA Portal à partir de la version V12 le code d'erreur 16#2942 Lecture d'une entrée de périphérie invalide n'est plus affiché que si vous avez programmé l'accès invalide pour qu'il soit effectif, p. ex. %MW10 := "UngültigerWortZugriff":P, et non si elle se trouve dans une séquence invalide. Par ex. #tmp := "UngültigerWortZugriff":P, si la variable #tmp n'est pas utilisée dans le reste du bloc de programme.

Instruction "S_CONV : convertir la chaîne de caractères"

Le mécanisme EN/ENO se comporte différemment dans TIA Portal V13 SP1 et dans TIA Portal V13.

Dans la version V13, la sortie de validation ENO indique, en cas d'erreur, l'état de signal "0" et ce même si vous avez désactivé la sortie de validation ENO. Si vous avez activé une autre instruction à la sortie de validation ENO, celle-ci ne sera pas exécutée.

Dans la version V13 SP1, la sortie de validation ENO indique, en cas d'erreur, l'état de signal "1" si vous avez désactivé la sortie de validation ENO. Si vous avez activé une autre instruction à la sortie de validation ENO, celle-ci sera exécutée comme prévu.

Instruction "SET : Mise à 1 bit par bit d'une zone" (S7-300/S7-400)

Dans TIA Portal, vous pouvez également connecter un élément d'un bloc de données au paramètre N de l'instruction SET.

Instruction "MUX : Multiplexeur" (SCL)

Jusqu'à la version TIA Portal V13 incluse, la valeur de la variable au paramètre d'entrée était fournie sans être modifiée comme valeur de fonction, même si le paramètre K avait un nombre entier négatif. Ce comportement a changé dans TIA Portal V13 SP1.

Si dans TIA Portal V13 SP1 vous indiquez une variable avec un type de données valide aux paramètres d'entrée de l'instruction MUX et que le paramètre K présente un nombre entier négatif, la valeur de la variable est alors modifiée. Les types de données valides sont répertoriés dans la description de l'instruction MUX dans le système d'information.

Instruction "DEMUX : Démultiplexeur" (SCL)

Jusqu'à la version TIA Portal V13 incluse, aucune valeur n'était fournie au paramètre de sortie OUTELSE si la valeur au paramètre K était < 0. En revanche, la valeur du paramètre d'entrée IN était fournie au paramètre de sortie OUTELSE si la valeur au paramètre K était supérieure au nombre de sorties disponibles. Ce comportement a changé dans TIA Portal V13 SP1.

Si vous indiquez au paramètre K dans TIA Portal V13 SP1 une valeur située en dehors des sorties disponibles (K < 0 ou K > sorties disponibles), la valeur du paramètre d'entrée IN est alors fournie au paramètre de sortie OUTELSE.

Instruction "MOVE : Copier valeur" (LIST) (S7-1500)

A partir de TIA Portal V13 SP1 une règle de syntaxe plus stricte s'applique à l'instruction "MOVE" :

Jusqu'à TIA Portal V13 inclus, il était possible de spécifier les constantes non typées telles que "0" dans le paramètre d'entrée IN.

Si vous voulez copier dans TIA Portal V13 SP1 la valeur "0" p. ex., vous devez spécifier une constante typée conforme au type de données du paramètre de sortie (p. ex. INT#0, DINT#0, etc.).

Instruction "Program_Alarm : Créer une alarme de programme avec des variables" (S7-1500)

A partir de TIA Portal V13 SP1 le type de données INT ne peut plus être utilisé pour les variables ou pour la variable d'indice d'une liste de textes. Utilisez à la place le type de données UINT.

Instructions "READ_DBL : Lire dans un bloc de données de la mémoire de chargement" et "WRIT_DBL : Écrire dans un bloc de données dans la mémoire de chargement"

TIA Portal V13 SP1 signale une erreur de compilation si vous utilisez "READ_DBL" V1.0 ou "WRIT_DBL" V1.0 et que vous accédez avec le paramètre DSTBLK à un bloc de données avec l'attribut "Sauvegarder uniquement dans la mémoire de chargement".

Utilisez à la place la version 1.2 des deux instructions.

Instructions "READ_DBL : Lire dans un bloc de données de la mémoire de chargement" et "WRIT_DBL : Écrire dans un bloc de données dans la mémoire de chargement" (SCL)

À partir de TIA Portal V13 SP1, la même règle de syntaxe stricte que dans tous les autres langages de programmation s'applique aux instructions "READ_DBL" et "WRIT_DBL" dans SCL.

Dans TIA Portal V13, il était possible d'indiquer aux paramètres SRCBLK et DSTBLK des blocs de données "standard" qui contenaient des variables avec des types de données différents.

À partir de TIA Portal V13 SP1, les différentes variables contenues par les blocs de données "standard" et "optimisés" doivent avoir le même type de données ; dans le cas contraire, une erreur de compilation est signalée.

Valeurs de fonction (Return)

A partir de TIA Portal V13 SP1, des règles de syntaxe plus strictes s'appliquent lors de l'appel d'une fonction :

Une vérification permet de s'assurer que la valeur de fonction (Return) est écrite dans tous les cas, y compris lorsque, dans la fonction, plusieurs chemins de programme peuvent être exécutés, par ex. lors de l'utilisation d'instructions de saut ou de boucles IF. Ainsi, toute éventualité que les valeurs de fonction ne soient pas écrites lors de l'exécution est définitivement supprimée.

Il se pourrait que des erreurs de syntaxe se produisent lors de la compilation dans des fonctions qui se compilaient pourtant sans erreur avec V13. Modifiez dans ce cas le code du programme de manière à ce que la valeur de fonction s'inscrive dans tous les chemins possibles du programme.

Exemple :

SCL Copie le code de programme suivant dans le presse-papiers

IF #MyIn1 = #MyIn2 THEN

#Block_3 := #MyIn1 + 1;

END_IF;

Dans cet exemple, la valeur de fonction de "Block_3" n'est pas écrite si la condition de l'instruction IF n'est pas remplie. La valeur de fonction contient donc une valeur indéfinie.

SCL Copie le code de programme suivant dans le presse-papiers

#Block_3 := #MyIn1;

IF #MyIn1 = #MyIn2 THEN

#Block_3 := #MyIn1 + 1;

END_IF;

Dans cet exemple, la valeur de fonction de "Block_3" est écrite dans tous les cas étant donné qu'elle est préconfigurée avec "MyIn1" avant que la boucle IF ne s'exécute.

Comparaison des types de données matériel HW_IO et HW_DEVICE

A partir de TIA Portal V13 SP1, une règle de syntaxe plus stricte s'applique pour la comparaison des types de données HW_IO et HW_DEVICE :

Jusqu'à TIA Portal V13 inclus, il était possible de comparer directement les types de données HW_IO et HW_DEVICE entre eux.

Si vous voulez comparer ces deux types de données dans TIA Portal V13 SP1, vous devez d'abord créer une variable de type HW_ANY dans la partie "Temp" de l'interface de bloc, puis copier le LADDR (de type HW_DEVICE) dans la variable. Ensuite, la comparaison de HW_ANY et HW_IO est possible.

Conversion implicite de nombres à virgule flottante en DWORD (GRAPH) (S7-1500)

A partir de TIA Portal V13 SP1, des règles de syntaxe plus strictes s'appliquent à la conversion implicite de nombres à virgule flottante en DWORD :

Jusqu'à TIA Portal V13 inclus, il était possible de convertir implicitement une constante non typée (1.0 p. ex.) en type de données DWORD si la valeur était inférieure à 32 bits.

Si vous voulez, sous TIA Portal V13 SP1, convertir implicitement un nombre à virgule flottante en type de données DWORD, utilisez exclusivement des constantes typées (REAL#1.0 p. ex.), car une constante non typée (1.0 p. ex.) est interprétée comme type de données LREAL et ne peut donc de ce fait plus être convertie implicitement en DWORD.

Affectation d'une valeur à une constante LTIME (S7-1500)

A partir de TIA Portal V13 SP1, une règle de syntaxe plus stricte s'applique pour la définition d'une valeur à une constante LTIME :

Jusqu'à TIA Portal V13 inclus, il était possible d'affecter une valeur TIME (par ex. T#10s) à une constante LTIME.

Si vous voulez affecter une valeur à une constante LTIME dans TIA Portal V13 SP1, vous devez utiliser une syntaxe LTIME. (z. B. LT#10s).

Veuillez noter que les projets du portail TIA des versions précédentes doivent déjà être adaptés avant la mise à niveau à TIA Portal V13 SP1.

Indicer indirectement des composants ARRAY du type de données séquence de bits dans SCL (S7-1200/S7-1500)

Dans TIA Portal V13, dans SCL sur une CPU de la gamme S7-1200/1500, vous avez la possibilité d'indiquer comme indice pour l'adressage des composants d'un ARRAY non seulement une variable du type de données Nombre entier, mais aussi une variable de type BYTE, WORD, DWORD ou LWORD, quand le contrôle CEI n'est pas activé. Cela n'est pas possible sur une CPU des gammes S7-300/400.

Il en résulte une incompatibilité avec TIA Portal V12 SP1 où l'indexation indirecte est autorisée avec le type de données Séquences de bits sur une CPU des gammes S7-300/400.

Mécanisme EN/ENO en cas de conversions de chaînes de caractères (S7-1200/S7-1500)

Conversion

Explication

Strg_TO_Chars : Convertir la chaîne de caractères en Array of CHAR

La sortie de validation ENO indique l'état de signal "0" et ce même si vous avez désactivé la sortie de validation ENO :

  • En cas de caractère invalide au paramètre CHARS

  • En cas d'indice de tableau invalide au paramètre PCHARS

  • Si la somme des paramètres PCHARS et STRG dépasse la longueur du tableau cible.

Chars_TO_Strg : Convertir Array of CHAR en chaîne de caractères

La sortie de validation ENO indique l'état de signal "0" et ce même si vous avez désactivé la sortie de validation ENO :

  • Si la somme des paramètres PCHARS et CNT dépasse la longueur du tableau source.

Dépassement de la pile de données locales (S7-300/S7-400)

A partir de TIA Portal V13 SP1, une vérification permet de savoir si la taille de la pile de données locales, que vous avez définie dans la configuration matérielle pour les priorités d'OB, est dépassée.

Il se peut que vous obteniez ainsi des messages d'erreur lors de la compilation dans des projets qui se compilaient pourtant sans erreur avec V13. Modifiez alors la taille maximale de la pile de données locales dans la configuration matérielle.


Inter Project Engineering (IPE)

Inter Project Engineering (IPE)

Ce chapitre contient des informations sur les sujets suivants :
  • Remarques sur l'IPE


Remarques sur l'IPE

Contenu Utiliser un diagnostic système dans l'appareil Proxy Liaisons à l'automate logiciel SIMATIC S7-1500 Prise en charge de messages Alarm_S Compatibilité
Remarques sur l'IPE

Contenu

Remarques n'ayant pu figurer dans l'aide en ligne et remarques importantes sur les caractéristiques du produit.

Utiliser un diagnostic système dans l'appareil Proxy

Pour pouvoir utiliser la fonction "Diagnostic système" dans un appareil Proxy IPE, par ex. un affichage du diagnostic système, insérez les "Alarmes API" comme contenu d'un appareil Proxy.

Liaisons à l'automate logiciel SIMATIC S7-1500

Les liaisons à l'automate logiciel SIMATIC S7-1500 servant de proxy matériel ne sont possibles que via les interfaces affectées à l'API logiciel.

Prise en charge de messages Alarm_S

La fonctionnalité Configuration intégrée avec WinCC et SIMATIC Manager prend en charge les messages Alarm_S, qui sont accessibles via des blocs de données et Continuous Function Chart (CFC).

Compatibilité

Avec TIA Portal V15.1, vous pouvez ouvrir les fichiers IPE de la même version et de versions antérieures à partir de V13 SP1.

Les fichiers IPE créés avec TIA Portal version V15.1 ne peuvent pas être ouverts avec des versions antérieures.