Home / Cours Automatisme / Traitement des entrées analogiques avec les automates Siemens 7-1200

Traitement des entrées analogiques avec les automates Siemens 7-1200

Introduction

Dans les applications industrielles, les capteurs analogiques (pression, température, niveau, etc.) transmettent une valeur physique variable sous forme d’un signal électrique proportionnel. Pour exploiter ces données dans un automate Siemens S7-1200, il est nécessaire de passer par un traitement analogique.

Cet article vous guide pas à pas dans la compréhension de ce traitement, de la lecture des entrées jusqu’à l’affichage ou l’exploitation de la valeur réelle (ex. : niveau d’eau en litres).

Signal analogique : tension ou courant ?

Les capteurs analogiques courants transmettent leur signal via :

  • 0–10 V ou -10V-10V ou 0-5V (tension)
  • 0-20mA ou 4–20 mA (courant, plus fiable pour les longues distances)

L’automate lit ce signal brut via une entrée analogique (ex. : IW64), mais il ne « comprend » que des valeurs numériques codées sur 15 bits (de 0 à 27648).

NB : l’entrée analogique consomme deux octets (Word : 16bits)

Résolution et codage

  • Résolution de 15 bits = 2^15 = 32 768 valeurs possibles.
  • Plage utile : 0 à 27648
    • 0 = 0 V ou 4 mA
    • 27648 = 10 V ou 20 mA

La plage 27648 est choisie pour permettre un traitement linéaire facile, laissant un peu de marge pour les dépassements ou les défauts.

Exemple pratique : Capteur de niveau 0–3000 L

🎯 Objectif :

Nous allons considérer un capteur de niveau installé sur un réservoir de 3000 litres. Il fournit une tension proportionnelle de -10 V à +10 V, lue par une entrée analogique de l’automate Siemens S7-1200 (ex. AI0).

  • Signal électrique : de -10 V à +10 V
  • Valeur physique : de 0 L à 3000 L
  • Valeur brute lue par l’automate : de -27648 à +27648
  • Type de traitement : Norm_X + Scale_X

Lire la valeur d’un capteur de niveau dans un réservoir d’eau de 0 à 3000 litres, délivrant un signal de -10V à 10 V ensuite afficher la quantité réelle d’eau dans l’automate.

Dans cet exemple -10V correspond à -27648 et 10V correspond à 27648 en valeur brute de l’API (la même chose si on résonne en courant 4mA correspondra à 0 et 20mA correspondra à 27648)

Étapes du traitement dans TIA Portal

1️⃣ Lire l’entrée analogique

Ex. : Le signal arrive sur la borne AI0 → l’automate lit la valeur sur IW64 (entrée de type Word).

IW64 → représente la valeur brute (entière) comprise entre -27648 et +27648

2️⃣ Normalisation avec Norm_X

La fonction Norm_X permet de convertir cette valeur brute INT en un REAL normalisé compris entre 0.0 et 1.0, même si la valeur d’entrée est négative.

➕ Astuce importante :

Même si la tension varie de -10 V à +10 V, la valeur physique (niveau) varie de 0 à 3000 litres. Donc, il faut d’abord décaler la plage.

🎯 Nouvelle stratégie : centrage et normalisation

  • La plage brute est de -27648 à +27648 (plage totale = 55296)
  • La valeur minimale utile devient -27648 → correspond à 0 litres
  • La valeur maximale utile est +27648 → correspond à 3000 litres

👉 Norm_X :

Signal_norm := Norm_X(IN := IW64, Min := -27648, Max := 27648)

Cela nous donne une valeur normalisée entre 0.0 et 1.0.

3️⃣ Mise à l’échelle avec Scale_X

📦 La fonction Scale_X permet de transformer la valeur normalisée (entre 0.0 et 1.0) en une valeur physique réelle.

Exemple :

Niveau_Litre := Scale_X(IN := Signal_norm, Min := 0.0, Max := 3000.0)

Résumé des types de données

Type de donnéeDescriptionExemple
IW64Valeur brute (INT) lue en entrée-27648 à 27648
REALValeur réelle traitée0.0 à 3000.0
Norm_XConversion INT → REAL [0.0 – 1.0]0.0 à 1.0
Scale_XConversion en grandeur physique0 à 3000 litres

📌 Pourquoi INT → REAL, puis REAL → physique ?

  • Les entrées analogiques sont lues sous forme entière (INT).
  • Pour un traitement mathématique, il faut passer en REAL.
  • Norm_X permet de convertir l’entier codé (brut) en valeur relative.
  • Scale_X applique une mise à l’échelle vers l’unité réelle de mesure.

Diagramme du traitement

Capteur (-10V à +10V)

Entrée AI0 → IW64 (INT)

Norm_X : -27648 → 0.0 / +27648 → 1.0

Scale_X : 0.0 → 0 L / 1.0 → 3000 L

Niveau réel en litres (REAL)

Avantages

  • ✅ Compatible avec toutes les entrées analogiques ±10 V
  • ✅ Traitement linéaire standardisé
  • ✅ Facilement adaptable à d’autres capteurs (température, pression…)
  • ✅ Haute précision grâce au codage 15 bits

Configuration des entrées analogiques dans TIA Portal

Conclusion

La gestion d’une entrée analogique bipolaire dans un automate S7-1200 nécessite :

  1. Une lecture correcte de la valeur brute.
  2. Une normalisation adaptée aux bornes min/max.
  3. Une mise à l’échelle vers la grandeur physique réelle.

Les blocs Norm_X et Scale_X de TIA Portal rendent ce processus simple, fiable et standardisé, que vous utilisiez une tension de ±10 V ou un courant de 4–20 mA.

Répondre

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *