Automatisation & Scripting

Automatisez TIA Portal, simplement.

Transformez l'API TIA Openness en endpoints REST standards. Générez des projets, compilez du code SCL et déployez via des scripts Python ou Node.js.

La complexité du C#

L'Openness natif est puissant, mais lourd.

L'API native Siemens TIA Openness nécessite une expertise .NET avancée. La gestion des DLLs, des threads STA et des versions TIA rend le scripting industriel difficile.

Dépendance Visual Studio

Impossible de scripter simplement. Un environnement de développement complet .NET est requis.

Code Verbeux

Des centaines de lignes de C# pour créer un simple bloc. Gestion d'erreurs complexe.

Pas de CI/CD simple

Intégrer une DLL Windows dans un pipeline GitLab/Jenkins est un défi technique majeur.

Incompatibilité Versions

Recompiler votre outil pour chaque version de TIA (V16, V17, V18, V19...).

La Solution REST

Le chaînon manquant pour le DevOps Industriel

T-IA Connect expose Openness via HTTP. Utilisez des langages de script modernes (Python, JS, Go) pour piloter vos projets Siemens.

Scripting Universel

Automatisez TIA avec Python, PowerShell ou Curl. Aucune compétence C# requise.

Architecture Headless

Idéal pour les serveurs de build. Lancez TIA Portal en mode silencieux via l'API.

Génération XML/SCL

Importez/Exportez vos blocs en XML ou SCL pour la gestion de version (Git).

Indépendant de la Version

Un seul script fonctionne pour TIA V16 à V21. L'API gère la compatibilité.

Tutoriel : Créer un Bloc via Script

Comparaison : Créer un bloc fonctionnel (FC) en C# natif vs un simple appel API REST.

Méthode Native (C# complexe)~50 lignes
// Native TIA Openness - ~50 lines minimum
using Siemens.Engineering;
using Siemens.Engineering.SW.Blocks;

// Complex initialization
TiaPortal portal = new TiaPortal(TiaPortalMode.WithUserInterface);
Project project = portal.Projects.Open(new FileInfo(projectPath));

// Navigate the tree structure
foreach (Device device in project.Devices)
{
    DeviceItem cpu = device.DeviceItems
        .FirstOrDefault(di => di.GetService<SoftwareContainer>() != null);
    
    if (cpu != null)
    {
        SoftwareContainer sw = cpu.GetService<SoftwareContainer>();
        PlcSoftware plcSoftware = sw.Software as PlcSoftware;
        PlcBlockGroup blocks = plcSoftware.BlockGroup;
        
        // Create an FC block
        PlcBlock newBlock = blocks.Blocks.CreateFC("MyNewFC");
    }
}

// Error handling, transactions, cleanup...
...
Méthode T-IA Connect (Script simple)~15 lignes
// T-IA Connect - 3 lines
const response = await fetch(
  'http://localhost:5000/api/blocks',
  {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      name: 'MyNewFC',
      type: 'FC',
      language: 'SCL'
    })
  }
);

const block = await response.json();
console.log('Block created:', block.name);
Cas d'Application

Conçu pour l' Industrie 4.0

Pipelines CI/CD

Compilez et testez vos projets PLC automatiquement dans Jenkins ou GitLab CI.

Générateurs de Code

Créez votre propre configurateur de machine web qui génère le projet TIA.

Extraction de Données

Scannez vos projets pour extraire la liste des I/O et générer la documentation.

Migration de Masse

Mettez à jour des centaines de projets automates via un script batch.

Prêt pour le Scripting Industriel ?

Arrêtez de lutter avec les DLLs. Commencez à automatiser TIA Portal en 5 minutes.