Skip to main content

Demarrage d'un IPC C6017 Beckhoff

##L'# L'IPC C6017-20 Beckhoff

###IPC## IPC Beckhoff
Beckhoff fait parti des pionnier de l'automation basée sur des PC. Un IPC est un PC industriel (Industrial PC), c'est à dire adapté aux contraintes d'un environnement de production avec :
* un facteur de forme compacte pour l'intégration dans un coffret électrique,
* une alimentation 24Vdc,
* résistance mécanique améliorée (tenue en température, vibrations,...)
* configuration Fanless pour certains modèles.


ipc6017.jpg



Les IPC Beckhoff s'appuient sur une OS de type Windows 10, 11 (version IoT) ou FreeBSD. L'IPC se comporte alors comme un PC classique sur lequel on peut installer des programmes PC comme Firefox, Office, Photoshop....

Dans le dommaine de l'automation, l'installation de Photoshop ou d'Office n'est pas une priorité ;), mais on peut y exécuter du code C/C++ adapté à l'application à piloter, y installer des bases de données, y intégrer les connxions cloud, etc. On profite de toute la puissance et la polyvalence d'un PC pour exécuter des applications.

-Sur un automate classique comme un S7-1200, l'on ne peut pas installer des applications comme sur un PC ou smartphone. Seule une évolution du firmware peut ajouter de nouvelles fonctionnalités proposées par le constructeur

**Exemple :**
Installer Node-Red sur un Siemens S7-1200 / S7-1500 n'est pas possible par exemple. Il faut utiliser un PC sur lequel Node-Red est installé pour que l'on puisse communiquer avec les Automtes. Comme un IPC est un PC, y installer Node-Red se fait comme sur un PC win10 classique.

### IPC et exécution de code automate avec le Runtime TwinCAT

On peut transformer un IPC en Automate avec l'installation du runtime TwinCAT. On pourra ainsi exécuter du code automate de type IEC 61131-3, c'est à dire du code en langage Ladder, FBD, STructuré. Dans un des articles, j'avais installé un runtime Codesys sur un Raspberry Pi pour le transformer en PLC, le principe est identique ici.

### Comparaison entre un IPC et un Raspberry PI
Dans l'article sur l'installation du Runtime Codesys sur Raspberry PI, on pourrait croire qu'un Raspberry Pi est équivalent à un IPC pour beaucoup moins cher. La réalité est cependant plus nuancée :

| Raspberry Pi | IPC |
|:----|:----|
| Exécute uniquement des applicatifs Linux| Exécute des uniquement des applicatifs Windows|
|Ne possède pas d'interfaces de communication permettant d'utiliser un bus de terrain temps réel comme l'EtherCAT| L'IPC Beckhoff possède 4 interfaces EtherCAT natives|
|Le Raspberry Pi travaille sur une carte SD|L'IPC travaille sur un disque SSD M.2 rapide|
|Le Raspberry Pi nécessite un boîtier spécifique pour le monter sur rail Din ainsi qu'une alimention 5V ou USB| L'IPC est dans un boitier robuste alimenté en 24Vdc|

On peut transformer un Raspberry Pi en IPC robustifié, mais dans ce cas de figure, on est proche du coût d'un IPC. Il existe des entreprises qui proposent des Raspberry-Pi customisé pour l'industrie comme [Kunbus](https://kunbus.com).

## Installation de l'IPC C6017 Beckhoff

A la livraison des IPC C6017, seul Windows 10 IoT est installé. Pour paramétrer l'IPC, on peut y connecter un écran en DisplayPort ainsi qu'un clavier et souris en USB. On peut alors paramétrer les adresses IP pour les 4 ports Ethernet, installer des applications, etc.

Personnellement, je préfère m'économiser la place sur le bureau pour un écran et un clavier en utilisant l'accès en bureau à distance avec l'IPC.

### Détermination de l'adresse IP de l'IPC

En configuration de base, les ports Ethernet de l'IPC sont en DHCP. La première étape a été de connecter l'IPC sur une Box ou un routeur wifi possédant un serveur DHCP pour que l'IPC puisse récupérer une adresse IP.

livebox.png


En connectant l'IPC sur une LiveBox, j'ai identifié l'adresse IP que la box a affecté à l'IPC. Dans ce cas de figure, @IP = 192.168.1.22 et le nom de l'IPC est CP-8435B5.

Connaissant l'adresse IP, nous pouvons nous connecter sur l'IPC en distant.

### Connexion à distance

Avant de démarrer la connexion en mode bureau à distance, nous faisant un ping sur l'adresse IP déterminée précédemment pour confirmer la bonne communication.


ping-ipc.png

Nous pouvons mainternant nous connecter sur l'IPC en utilisant la connexion bureau à distance (remote control).

Depuis votre PC, ouvrez le logiciel Connexion Bureau à distance :


bureau-distance.png



On peut saisir les paramètres de connexion :
l'@IP correspond à l'adresse IP de l'IPC déterminé plus haut

En sortie d'usine, l'IPC posssède :
* un compte Administrator
* le mot de passe par défaut est 1


connexion.png



Une fenêtre vous demandera le mot de passe associé au compte Administrator. Sorti d'usine, le mot de passe est 1, cliquez sur **OK**.


mdp.png



Une confirmation de l'autorisation de se connecter à l'IPC sera demandée. Cochez _Ne pas me redemander pour les connexions à cet ordinateur_ et confirmez en cliquant sur **OUI**.


autorisation.png



On est maintenant connecté au bureau windows de l'IPC. Normalement, le Beckhoff device manager devrait être ouvert automatiquement. Il s'agit d'une page web qui permet de paramétrer l'IPC.


config1.png



Une des premières étapes que je préconise, c'est de passer sur une adresse IP statique sur un des ports de l'IPC, comme cela, on pourra travailler sur l'IPC directement branché sur le PC sans avoir à passer pour un serveur DHCP sur une box ou autre. La configuration se fait dans l'onglet _Hardware_ et _NIC_.

On fait un _Disable_ sur DHCP sur le port ethernet que l'on souhaite utiliser parmi les 4 et l'on choisie une adresse IP adaptée. Dans mon cas, j'ai configurer l'adressage statique sur le port 1 de la manière suivante :

- Adresse IP : 192.168.1.244
- Subnet Mask : 255.255.255.0
- Gateway : 192.168.1.1


config2.png


On clique sur le petit V pour _Save Network Settings_

Maintenant que nous avons changé l'adresse IP, il faudra relancer un nouvel accès bureau à distance car nous passé de l'@IP 192.168.1.22 à l'@IP 192.168.1.244.


connexion2.png



Les procédures de login, mot de passe et d'autorisation de connexion restent identiques.

### Installation du Runtime TwinCAT sur IPC C6017
Lors de l'accès en mode Bureau distant sur l'IPC, nous pouvons fermer le Beckhoff Device Manager. Dans cette seconde étape, nous allons installer le Runtime TwinCAT pour que notre IPC puisse exécuter du code automate.


install.png



Il y a deux méthodes. Soit l'IPC est connecté sur Internet (box, clé 4G, autre) soit il ne dispose pas de connexion. Les méthodes sont identiques, sauf que cas d'absence d'internet sur l'IPC, il faudra télécharger le Runtime sur une clé USB pour pouvoir l'installer sur l'IPC. Avec une connexion internet, on peut télécharger directement le Runtime depuis l'IPC.

On ouvre une session du navigateur Microsof Edge depuis l'IPC et l'on se connecte sur le site de [Beckhoff](https://beckhoff.com/fr-fr/). On clique ensuite sur l'image TwinCAT correspondant au paragraphe Automation.


install2.png



Une nouvelle page s'ouvre et l'on clique à nouveau sur l'image TwinCAT correspondant au Runtime TwinCAT.


install3.png



On peut maintenant cliquer sur l'image TC1xxx TwinCAT 3 Base


install4.png



On clique ensuite sur TC1200 | TwinCAT3 PLC, puis dans Documentation and Downloads, puis dans Software and Tools pour arriver au Runtime TwinCAT 3 Downloads | eXtended Automation Runtime (XAR) qui fait environ 181 MB. (Un compte Beckhoff est nécessaire pour télécharger le Runtime)


install5.png



On télécharge le Runtime. Le .exe se trouve dans C:/user/Administrator/Downloads/


install6.png



La procédure d'installation est classique, on accepte les termes de licence et l'on fait une installation complète.

 install8.png    install7.png

install9.png  install10.png

install11.png  install12.png


Un redémarrage de l'IPC est nécessaire pour lancer le Runtime TwinCAT.


install13.png



### Installation des drivers EtherCAT

Après installation du Runtime TwinCAT, il faut encore activer les drivers pour l'EtherCAT. Depuis l'IPC, avec l'explorateur de fichier, aller sur C:/TwinCAT/3.1/System/

Deux étapes à faire :
* double cliquer sur win8settick.bat (si on ne le fait pas, TwinCAT peut avoir des soucis pour programmer l'IPC)
* double cliquer sur TcRteInstall.exe

install14.png


Quand vous avez cliqué sur TcRteInstall.exe, une fenêtre s'ouvrira pour que vous puissiez choisir les ports ethernet de l'IPC sur lesquels vous allez activer le driver EtherCAT. Le plus simple est d'activer le driver EtherCAT sur les 4 ports de l'IPC C6017.

Il faudra choisir les ports en compatible Device et cliquer sur Install sur chaque port pour qu'ils passent de compatible Device vers Installed.


install15.png



Et les 4 ports devraient ainsi avoir les performances temps-réel du bus EtherCAT.


install16.png


Nous en avons fini avec la configuration de l'IPC. Nous pouvons faire un **Shut down** pour l'éteindre correctement, car n'oubliez pas, il s'agit d'un PC windows 10, il faut éteindre le PC correctement et non en coupant brutalement l'alimention !


install17.png

On éteint l'IPC en cliquant sur l'icone windows et en faisant un **Shut down** !


## Premier programme automate sur l'IPC C6017

Comme dans les articles précédents, nous allons exécuter sur l'IPC un premier programme automate afin de valider l'installation logicielle.

### Projet TwinCAT pour tester l'IPC

Depuis votre PC de développement, vous ouvrez TwinCAT. En parallèle, vous allumez l'IPC. Sur l'IPC, aucune connexion bureau à distance est nécessaire pour le moment.

Depuis TwinCAT sur votre PC, vous choisissez un projet TwinCAT XAE Project et l'on fait **Next**.

vs1.png

Il faut donner un nom de projet comme par exemple projetIPC et l'on fait **Create**.

vs2.png


L'arborescence de projet est ainsi crée. Comme nous souhaitons déployer ce projet sur l'IPC C6017 que nous venons de configurer, il faut configurer la cible, en faisant _Choose Target System_ dans l'onglet Local.


vs3.png

On clique sur **Search Ethernet** pour détecter l'IPC

vs4.png

Une fenêtre Add Route Dialog apparaît. On fait un **Broadcast Search** en vérifiant que Transport Type est configuré sur TCP_IP et que Address Info soit configuré sur IP Address.

vs5.png


On coche l'interface Ethernet à utiliser. (J'ai décoché l'interface virtuelle associée à Siemens)

vs6.png


L'IPC est alors détecté, à la condition que vous ayez respecté les procédures précedentes d'activation de l'interface EtherCAT (win8settick.bat et TcRteInstall.exe). Il reste à cliquer sur **Add Route**. Un petit cadenas apparait en dessous de Connected pour indiquer que la liaison avec l'IPC est OK. On peut faire Close maintenant.


vs7.png


Dans le choose Target, on choisit la cible correspond à l'IPC.


vs8.png


### Code PLC

Dans cette partie, nous créer un premier code automate à injecter sur le Runtime de l'IPC. Depuis notre PC de développement, nous allons intégrer un nouvel Item PLC (add new item ...) dans notre Projet _projetIPC_.

vs9.png


On choisit un Standard PLC Project que nous pouvons nommer PLC1. On fait **Add** ensuite.

vs10.png


On écrit le code structuré suivant qui réalise un simple comptage tous les temps de cycle automate.


vs11.png


On clique sur **Build -> Build Solution**

vs12.png


On clique sur **Activate Configuration** :

vs13.png

On vérifie qu'il s'agit bien du projetIPC sur lequel nous travaillons et l'on clique sur **OK**.

vs14.png


On clique sur **OK** pour démarrer le Runtime TwinCAT sur l'IPC puis sur **Login** pour que votre PC puisse charger le code dans l'IPC.

vs15.png  vs16.png


Si c'est votre premier chargement dans l'IPC, TwinCAT vous demandera de confirmer l'utilisation du port 851 pour le transfert du programme. On fait **YES**, puis on clique sur **START** (bouton vert).


vs17.png  vs18.png


Si toutes les étapes ont été respectées, le compteur devrait s'incrémenter à chaque cycle automate. Ce code est exécuté sur l'IPC. Pour stopper le code, il faut cliquer sur l'icône **Stop** (en rouge).

vs19.png  vs20.png 


Pour quitter la liaison avec l'IPC, on clique sur **Logout**.

vs21.png


### Arrêt de l'IPC

Pour arrêter "correctement l'IPC", on se connecte sur son adresse IP avec l'outil Bureau à distance depuis votre PC


connexion2.png


Après l'accès au bureau windows de l'IPC, on clique sur l'icône windows et l'on choisi **Shut down** pour arrêter l'IPC. On attent 30s et l'on peut couper l'alimentation.


install17.png


On éteint l'IPC en cliquant sur l'icone windows et en faisant un **Shut Down** !