Comment pouvons-nous aider ?

Print

ACE en tant qu’unité d’extension d’E/S : Tableau d’échange avec les esclaves

 

Certains ACE sont équipés d’un port série RS232 ou/et RS485. Pour cette opération, vous devez avoir 2 ACE PLC avec un port série libre.

Dans les automates ACE esclave et maître

Relier chaque ACE par le port série
  • RS232
    • R (RX) <> T- (TX)
    • T (RX) <> R- (TX)
    • GND <> GND
  • RS485
    • R <> R
    • T- <> T-
    • GND <> GND
Réseau multipoint pour RS232

Pour seulement 2 ACE via RS232, c’est très simple : RX <> TX, TX <> RX et GND <> GND

Pour plus de 2 ACE sur RS232 (pas RS485), c’est possible ! Il suffit d’ajouter 1 diode sur chaque broche TX de l’esclave

Configurer le port série comme « Custom type » et sélectionner le bon mode RS232, ou RS485 pour les ACE-1430/1450
  • RS232/485, Custom type, 9600 bds, None parity and 1 stop bits.

Pour cela, vous devez retourner à la section « Setup Hardware » dans le coin supérieur gauche du logiciel vBuilder (icône verte ou bleue).

ou

Téléchargez les sous-programmes pour le maître et le(s) esclave(s) et ajoutez-les à vos automates ACE

Télécharger :

Ajoutez-les à chaque automate ACE en sélectionnant l’un des fichiers .viofs Ajouter une sous-boutine

Maître

Esclave(s)
Nombre d’esclaves et taille de la table d’échange

Les sous-programmes du maître permettent d’échanger des étiquettes ui16 avec chaque esclave.

Vous devez choisir :

  • le nombre d’esclaves
  • la taille de la table d’échange ui16.

Par défaut, le sous-programme peut gérer 5 esclaves avec 10 tags par esclave (5 en lecture et 5 en écriture)

N’oubliez pas non plus d’augmenter ou de diminuer la taille des tables pour chaque balise si nécessaire (voir « Balises » dans le programme Maître et Esclave)

  • ui16 doit être réglé sur 5 (longueur 5 = balises 0 à 4) pour obtenir 5 * ui16 dans la table d’échange
  • Les balises des tableaux DataRead et DataWritten (ui8) doivent être réglées sur 5*2 1 = 11 pour obtenir 5 * ui16 dans la table d’échange
    • Exemple : 10 ui16 dans la table d’échange signifie une taille de tableau de 21 ui8 pour DataRead et DataWritten
  • Les balises RWrite* et RRead* d’un esclave non utilisé peuvent être supprimées

Esclave ACE PLC : écrire un programme de test

Dans « Toolbox », ajoutez une sous-routine et sélectionnez la sous-routine SlaveRemoteIO

Comment cela fonctionne-t-il ?

  • LocalWriteUI16[ ] est un tableau de balises ui16 de taille 5
    • LocalWriteUI16[0] est le tag numéro 0 écrit par le maître
    • LocalWriteUI16[4] est le tag numéro 4 écrit par le maître
  • LocalReadUI16[ ] est un tableau de balises ui16 de taille 5
    • LocalReadUI16[0] est le tag numéro 0 lu par le maître (envoyé au maître)
    • LocalReadUI16[4] est le tag numéro 4 lu par le maître (envoyé au maître)

Dans le programme de test, nous allons envoyer au maître la valeur reçue par le maître (voir l’outil « Copy ») !

Nous copions donc les valeurs

  • LocalWriteUI16[0] vers LocalReadUI16[0] la balise
  • LocalWriteUI16[1] vers la balise LocalReadUI16[1] balise

Maître ACE PLC : Ecrire un programme de test

Dans « Toolbox », ajouter une sous-routine et sélectionner la sous-routine ReadWriteToSlave

Comment cela fonctionne-t-il ?

  • RWriteUI16Slave1[ ] est un tableau de balises ui16 de taille 5
    • RWriteUI16Slave1[0] est le tag numéro 0 à écrire dans l’esclave 1
    • RWriteUI16Slave1[4] est le tag numéro 4 à écrire dans l’esclave 1
    • RWriteUI16Slave2[0] est le numéro de balise 0 à écrire dans l’esclave 2
  • RReadUI16Slave1[ ] est un tableau de balises ui16 de taille 5
    • RReadUI16Slave1[0] est le tag numéro 0 à lire dans l’esclave 1
    • RReadUI16Slave2[3] est le tag numéro 3 à lire dans l’esclave 2

Dans le programme de test, nous allons envoyer des valeurs à chaque esclave (voir l’outil « Copy ») !

Nous copions donc les valeurs

  • Tag 0 de l’esclave 1 = 10000
  • Tag 1 de l’esclave 1 = 10001
  • Étiquette 0 de l’esclave 2 = 20000
  • Étiquette 1 de l’esclave 2 = 20001

Nous vérifions ensuite si les valeurs reçues par les esclaves sont identiques (car les valeurs sont copiées par chaque esclave ACE)

Remarques

eACE/ACE avec 2 ports RS232 (7096, 7092,…)

Si vous utilisez un ACE avec 2 ports RS232, utilisez le port A1.
Si vous souhaitez utiliser le port A2 (Personnalisé dans « Setup Hardware »), vérifiez et confirmez par [ OK ] le popup dans « Port A2 SEND » et « Port A2 RECEIVE » (Voir « Subroutine » « ReadWriteToSlave »)

Avertissements dans notre programme: Oui, il est normal que vous obteniez ces avertissements, il y a quelques outils « Copy » pour le mode debug (voir les valeurs en mode debug).
Vous pouvez les supprimer.

Copier des bits d’entrée/sortie ou des bits de registre

Utilisez l’outil « Copy » en mode« Pack » pour copier tous les états de sortie à distance dans 1 balise ui16
Vous pouvez également utiliser« Unpack » pour extraire tous les états d’entrée à distance de la balise ui16

Copier un flottant dans 2 * UI16

Convertir un I32 en 2 * UI16, puis reconvertir 2 * UI16 en i32