Manuel du propriétaire | Omron CX-PROTOCOL Manuel utilisateur

Ajouter à Mes manuels
23 Des pages
Manuel du propriétaire | Omron CX-PROTOCOL Manuel utilisateur | Fixfr
MANUEL STA 40
Protocol Macro
Cx-Protocol
Logiciel d’élaboration
de protocole
CONDENSÉ
OMRON
1
MANUEL STA 40
Cx-Protocol V1.2
Avertissement
Cette documentation est destinée à faciliter la mise en œuvre du matériel omron. Certains
détails sont volontairement occultés pour ne pas provoquer de confusion. Malgré tout le soin
apporté à la réalisation de cette documentation, omron ne pourra être tenu pour responsable
des erreurs ou omissions et de leur conséquences. Cette documentation pourra être modifiée
sans préavis et ne présente aucun engagement de la part d'omron.
JP Viskovic le 06/05/02
2
MANUEL STA 40
Cx-Protocol V1.2
Sommaire
1
CX-PROTOCOL V1.2...................................................................................................................................................... 4
1.1
1.2
2
CONFIGURATION.......................................................................................................................................................... 5
2.1
2.2
2.3
2.4
3
CARACTÈRISTIQUES ..................................................................................................................................................... 4
RACCORDEMENT RS232C ........................................................................................................................................... 4
AUTOMATE CS1 .......................................................................................................................................................... 5
AUTOMATE CJ1 ........................................................................................................................................................... 5
AUTOMATE C200HX/HG/HE...................................................................................................................................... 6
AUTOMATE CQM1H ................................................................................................................................................... 6
PRINCIPE DE PROTOCOL MACRO .......................................................................................................................... 7
L’INSTRUCTION PMCR SUR CS1/CJ1 ..................................................................................................................................... 7
3.2
L’INSTRUCTION PMCR SUR C200HX/HG/HE ET CQM1H......................................................................................... 7
4
ELABORATION D’UN PROTOCOLE ......................................................................................................................... 8
4.1
CRÉATION D'UN PROTOCOLE ........................................................................................................................................ 8
4.2
SÉLECTION DE LA CARTE DE COMMUNICATION PMSU ................................................................................................ 9
4.3
ELABORATION DES SÉQUENCES ................................................................................................................................... 9
4.3.1
Création d’une séquence..................................................................................................................................... 9
4.3.2
Méthode de contrôle des signaux de transmissions .......................................................................................... 10
4.3.3
Création d’une étape........................................................................................................................................ 11
4.4
ELABORATION DES MESSAGES ................................................................................................................................... 12
4.4.1
Création d’un message...................................................................................................................................... 12
4.4.2
Détermination des délimiteurs de trame ........................................................................................................... 13
4.4.3
Détermination de la méthode de contrôle d’erreur........................................................................................... 13
4.4.4
Détermination du champs longueur [Length]................................................................................................... 13
4.4.5
Détermination de l’adresse du destinataire [Address] ..................................................................................... 14
4.4.6
Détermination de la trame [Data] .................................................................................................................... 14
4.4.7
L’adressage relatif ............................................................................................................................................ 15
4.5
EXEMPLE 1 ................................................................................................................................................................ 17
4.6
EXEMPLE 2 ................................................................................................................................................................ 18
4.7
MATRICE ................................................................................................................................................................... 19
4.7.1
Principe............................................................................................................................................................. 19
4.7.2
Création d'une matrice...................................................................................................................................... 20
5
MISE EN ŒUVRE DU PROTOCOLE ........................................................................................................................ 21
5.1
5.2
5.3
5.4
CONFIGURATION DE LA CARTE PMSU....................................................................................................................... 21
TRANSFERT DU PROTOCOLE MACRO .......................................................................................................................... 22
LA FONCTION TRACE ................................................................................................................................................. 22
DRAPEAUX SYSTÈME ................................................................................................................................................. 23
JP Viskovic le 06/05/02
3
MANUEL STA 40
Cx-Protocol V1.2
1Cx-Protocol V1.2
1.1
Caractèristiques
Cx-Protocol est un logiciel destiné à l'élaboration de protocole d'envoi et réception de donnée à
partir des cartes PMSU (Protocol Macro Support Unit) et via RS232C, RS422 et RS485.
Un protocole macro est constitué de séquences comportant des messages destinés à être
envoyés ou bien reçus. Le protocole macro est élaboré puis transféré dans la carte PMSU à
l’aide du logiciel Cx-Protocol. Les séquences a exécutées sont désignées par leur numéro et à
l'aide de l'instruction PMCR disponible sur les automates CQM1H, C200HX/HG/HE et CS1/CJ1.
Il existe 2 types de protocoles:
!
Protocoles Système déjà présents dans les cartes de communications CQM1H et CS1/CJ1
!
Protocoles clients élaborés à l'aide de Cx-Protocol puis transférés dans la carte PMSU
De plus, les cartes PMSU disposent de la fonction "Trace" permettant l'enregistrement
chronologique des trames échangées.
1.2
Raccordement RS232C
JP Viskovic le 06/05/02
4
MANUEL STA 40
Cx-Protocol V1.2
2Configuration
2.1
Automate CS1
Il existe 2 types de carte PMSU:
Les cartes SCB insérées directement dans l'UC :
!
CS1W-SCB21: 2 x RS232C
!
CS1W-SCB41: RS232C + RS422A/485
Les cartes SCU montage rack :
!
2.2
CS1W-SCU21: 2 x RS232C
Automate CJ1
Une carte SCU montage rack :
!
CJ1W-SCU41: RS232C + RS422A/485
JP Viskovic le 06/05/02
5
MANUEL STA 40
2.3
Cx-Protocol V1.2
Automate C200HX/HG/HE
La série alpha dispose de 3 cartes de communication à insérer directement dans l'UC:
!
C200HW-COM04-EV1: 1 x RS232C
!
C200HW-COM05-EV1: 2 x RS232C
!
C200HW-COM06-EV1: RS232C + RS422A/485
Les cartes non EV1 ne disposent pas de toutes les fonctionnalités décrites dans ce manuel.
2.4
Automate CQM1H
Il existe une carte SCB insérée directement dans l’UC :
!
CQM1H-SCB41 : RS232C + RS422A/485
Pour utiliser le Protocol Macro sur la série CQM1H, il est impératif de:
-
Basculer le dip switch 8 en façade sur la position on.
-
De sélectionner, dans Cx-Protocol, un API de type C200HG-CPU43
JP Viskovic le 06/05/02
6
MANUEL STA 40
Cx-Protocol V1.2
3Principe de Protocol Macro
Le protocole de communication est élaboré à l'aide de Cx-Protocol sous forme de trames
appelées messages à transmettre ou bien à recevoir. Ces messages peuvent être enchaînés
dans une séquence ou bien suivant une matrice en fonction du contenu des réponses. Le
protocole est compilé puis transféré dans la carte PMSU. L'instruction PMCR exécute une
séquence en la désignant par son numéro dans le bloc de contrôle C. Les données à envoyer
sont lues dans le bloc source (S) tandis que les réponses sont consignées dans le bloc de
destination (D).
Les données lues [R] ou écrites [W] sont consignées aux adresses S et D décalées d’un offset
déterminé dans la séquence.
3.1
L’instruction PMCR sur CS1/CJ1
3.2
L’instruction PMCR sur C200HX/HG/HE et CQM1H
JP Viskovic le 06/05/02
7
MANUEL STA 40
Cx-Protocol V1.2
4 Elaboration d’un Protocole
Cx-Protocol dispose de protocoles standard Omron dans l'onglet [System]. Ces protocoles
peuvent être copiés dans l’espace [Projet], puis modifiés éventuellement et transférés ensuite
dans la carte PMSU.
4.1
Création d'un protocole
Le type d'automate est déclaré au moment de la création du protocole.
Le menu contextuel de [New Protocol List] permet d'ajouter un protocole destiné à un API de la
série Alpha (C200HX…) ou bien CS1/CJ1.
JP Viskovic le 06/05/02
8
MANUEL STA 40
4.2
Sélection de la carte de communication PMSU
Sélectionnez dans l'éditeur de protocole
4.3
Cx-Protocol V1.2
le type de carte PMSU.
Elaboration des séquences
4.3.1 Création d’une séquence
Le menu contextuel de [New Protocol] permet la création des séquences.
JP Viskovic le 06/05/02
9
MANUEL STA 40
*
Cx-Protocol V1.2
#
Communication sequence
Link word
Control
Response
Timer Tr
000 Séquence lecture
---
Set
Scan
0.3s
001 Séquence écriture
---
TimerTfr
Timer Tfs
Le numéro et le nom des séquences sont modifiables directement dans l'éditeur.
Link word Permet de déterminer un zone mémoire partagée entre l'UC et la carte PMSU
commune à toutes les séquences O1, I1, O2 et I2.
Control
Positionne les signaux de contrôle de la transmission RTS/CTS, Xon /Xoff,
délimiteurs, etc…(voir plus bas).
Response [Scan] consigne la réponse en fin de cycle.
[Interrupt fixed] consigne la réponse aussitôt et exécute le sous programme (alpha)
ou tâche d'interruption (CS1/CJ1) spécifiée.
[Interrupt receive case] consigne la réponse aussitôt et exécute le sous programme
(alpha) ou la tâche interruptive (CS1/CJ1) spécifiée pas l'étape dans la séquence.
Timer Tr
Délai maxi de réponse. Au delà, une erreur d'exécution est générée.
Timer Tfr
Délai maxi entre le premier caractère et le dernier caractère reçu.
Timer Tfs
Délai maxi entre le premier caractère et le dernier caractère envoyé.
4.3.2 Méthode de contrôle des signaux de transmissions
RTS/CTS : permet de gérer le flux de données en positionnant le signal CTS de ON à OFF pour
informer l’émetteur que son buffer est plein et qu’il ne peut plus recevoir de données.
Xon/Xoff :
permet de gérer le flux en envoyant (avec les données) le caractère Xoff (13H) pour
informer l’émetteur que son buffer est plein et qu’il ne peut plus recevoir de données.
Modem :
fonction spécifique positionnant le signal DTR à ON pendant toute la durée
d’exécution de la séquence initiée par PMCR. Le signal RTS est positionné à ON
seulement pendant l’émission de caractères.
Contention :permet l’envoi d’un caractère spécifique lorsque le protocole nécessite une
demande préalable à émettre.
Delimiter : La transmission de plusieurs trames ne peut se poursuivre qu’à condition d’avoir
reçu un caractère confirmant la réception (receive code). Dans ce cas la trame
émise comporte également un délimiteur de fin de trame (send code).
JP Viskovic le 06/05/02
10
MANUEL STA 40
Cx-Protocol V1.2
4.3.3 Création d’une étape
Une séquence peut contenir jusqu'à 16 étapes. Une étape consiste en une commande de:
!
Lecture (Receive)
!
Ecriture (Send)
!
Lecture /écriture (Send /Receive)
!
RAZ du tampon de réception (Flush) *
!
Attente (Wait) *
!
Activation /désactivation du signal DTR (Open/Close) *
*: CS1/CJ1 uniquement
*
Step
Repeat
Command
Retry
Send Wait
Send Message
Recv Message
Response
Next
Error
00
RSET/001
SEND
0
0.01s
Lecture1DM
######
Yes
End
Abort
Step
n° de l'étape
Repeat
nombre de répétition de cette étape
Command
envoi, réception ou envoi + réception enchaîné suivant le tableau de réponse
prédéfini dans la matrice.
Retry
nombre d'essai dans la limite de l'intervalle de temps fixé par les timers
(commande Send/ Receive uniquement).
Send Wait
délai d'attente avant l'exécution de l'envoi
Send Message désigne un message dans la liste [Send Message List] (cf chap. 1.8).
Recv Message désigne un message dans la liste [Receive Message List] (cf chap. 1.8).
Response
Réponse attendue
Next
détermine l'action suivante, étape suivante, étape spécifique, fin ou annulation
Error
détermine l'action suivante en cas d'anomalie (idem next)
JP Viskovic le 06/05/02
11
MANUEL STA 40
4.4
Cx-Protocol V1.2
Elaboration des messages
4.4.1 Création d’un message
Les étapes constituant les séquences font appel à des messages décrit dans les listes:
!
Send Message List
!
Receive Message List
Chacun des champs détermine le type de caractère ou la méthode d’extraction de la donnée et
est ensuite concaténé pour former une trame dans le champs [Data].
*
Send Message
Header <h>
Terminator <t>
Check code <c>
Lecture1DM
"@"
[2A0D]
LRC
Length <l>
Address <a>
Data
$(R(1),2)
<h>+<a>
Send Message Nom du message
Header
Caractère d'entête du message
Terminator
Caractère de fin du message
Check code
méthode de contrôle du message (LRC, LRC2, CRC-CCIT, CRC16, SUM )
Length
méthode de calcul de la taille du message (octet binaire, mots …)
Address
détermine à quel endroit se trouve l'adresse dans le bloc de mot pointé par
l'instruction PMCR et le nombre d'octet à considérer.
Data
concaténation du message.
JP Viskovic le 06/05/02
12
MANUEL STA 40
Cx-Protocol V1.2
4.4.2 Détermination des délimiteurs de trame
Les champs [Header] et [Terminator] permettent de déterminer un caractère d’en-tête et de fin de
trame. Il peut s’agir d’un caractère ou bien du code ASCII d’un caractère non imprimable s’il s’agit
d’un protocole binaire.
4.4.3 Détermination de la méthode de contrôle d’erreur
Le champs [Check code] établit le type de contrôle d’erreur, LRC, CRC….
Le code de contrôle d’erreur est calculé puis placé dans la trame à expédier.
Si, lors de la réception, le code reçu est différent du code calculé, une erreur est générée et peut
être exploitée ensuite dans une matrice.
4.4.4 Détermination du champs longueur [Length]
Certain protocole (Modbus) introduise dans la trame la longueur de la trame. Si ce champs est
placé dans la trame, la longueur de la trame sera calculée automatiquement.
Attention, la longueur de la trame n’est pas vérifiée dans le cas d’un API de la série alpha. Dans
le cas d’un CS1/CJ1, une erreur est générée.
JP Viskovic le 06/05/02
13
MANUEL STA 40
Cx-Protocol V1.2
4.4.5 Détermination de l’adresse du destinataire [Address]
S’il s’agit d’un protocole maître susceptible d’interroger un esclave parmi d’autres, le champs
[Address] permet de déterminer l’endroit ou est consigné le numéro de l’esclave. Ce numéro peut
être constant ou bien consigné à une adresse relative (cf ch. 4.4.7 Adressage relatif). Dans ce
cas, Il peut être judicieux d’utiliser la même adresse que celle utilisée par le compteur de
répétition en guise de numéro d’esclave de manière à interroger n esclaves à l’aide d’une seule
étape.
4.4.6 Détermination de la trame [Data]
Le champs [Data] permet d’assembler les différents termes qui vont constituer la trame finale.
On peut ainsi combiné :
•
Un en-tête [Header]
•
Une adresse d’esclave [Address]
•
Une donnée [Message Data] du type :
– constante
– variable déterminé par un adressage relatif (cf. ch 4.4.7 adressage relatif)
•
Calcul de longueur de trame [Length]
•
Code de contrôle d’erreur [Check code]
•
Caractère de fin de trame [Terminator]
Les couleurs signalent les champs intégrés aux calculs de longueur, de contrôle d’erreur ou les
deux en même temps.
JP Viskovic le 06/05/02
14
MANUEL STA 40
Cx-Protocol V1.2
4.4.7 L’adressage relatif
4.4.7.1
Principe
Les données utilisées par les champs [Length] et [Data] peuvent être déterminée par une
constante ou bien provenir d’une variable mémoire de l’automate dont l’adresse et la taille sont
spécifiés à l’aide de :
•
L’adresse de référence de la variable [Variable…]
•
La taille de la variable [Length…]
Ces deux paramètres peuvent être déterminés de 3 façons :
1.
Par l’opérande de l'instruction PMCR, [S] pour un envoi et [D] pour une réception
2.
Par les mots de la zone commune aux séquences « Link word »
3.
Directement (zones CIO, WR, DM, LR, HR, AR, EM)
Les variables ASCII (conversion Hexa->ASCII) sont précédées du symbole $ tandis que les
variables Hexa (conversion ASCII->Hexa) du symbole &. Les " variables reverses" sont
précédées du symbole ~ pour indiquer que les données sont lues/ écrites en commençant le mot
de poids fort.
JP Viskovic le 06/05/02
15
MANUEL STA 40
4.4.7.2
Cx-Protocol V1.2
Influence du compteur de répétition
Si le compteur de répétition a été configuré dans l’éditeur de séquence, sa valeur aura une
influence directe sur l’adresse effective de la variable automate.
Dans tous les cas, l’adresse effective résulte de l’adresse de référence additionnée du
résultat de l’expression :
YN + x
Ou :
- N représente le compteur de répétitions (défini dans l’éditeur de séquences).
- y représente le coefficient multiplicateur (pente)
- x le décalage
Par défaut, N = 1 , x = 1 et y = 0 ce qui a pour conséquence de ne pas modifier l’adresse de
référence :
adresse effective = adresse de référence + 1
ème
mot.
Ce décalage initiale de 1 mot permet de débuter directement à partir du 2
En effet, le premier mot contient la taille du bloc pour permettre l’exécution de l’instruction PMCR.
4.4.7.3
Description des champs
Type :
Read R()
Write W()
yN + x:
*
Data :
JP Viskovic le 06/05/02
la donnée est lue dans la zone spécifiée par Data
les données sont consignées dans la zone spécifiée par Data
champs destinés à y et x respectivement
variable non connue au préalable (en réception)
Channel
zone mémoire et adresse spécifiées par Area ,EM et Channel #
Operand
zone pointée par l'opérande l'instruction PMCR
I1,I2,O1,O2
la donnée est lue/écrite dans l'une des 4 zones communes aux
séquences (Link area).
16
MANUEL STA 40
4.5
Cx-Protocol V1.2
Exemple 1
Envoi d'une trame dont l'adresse à lire est consignée dans le DM0008 (3031).
Cette donnée est toujours exprimée sur 2 octets.
La variable s'écrit "$(R(1),2)" :
$:
indique que la valeur doit être convertit en caractère ASCII.
R:
indique que la donnée est pointée par l'opérande source de l'instruction PMCR.
(1):
le premier mot constitue l'adresse de départ.
2:
2 octets. Le compteur de répétition n'est pas activé "----" par conséquent N est figé à 1.
JP Viskovic le 06/05/02
17
MANUEL STA 40
4.6
Cx-Protocol V1.2
Exemple 2
Exécution d'une trame de lecture à 2 adresses différentes 0103 et 0120.
L'étape est donc exécutée 2 fois (compteur de répétition = 2)
La taille de l'adresse peut varier à chaque exécution de PMCR.
L'opérande source de l'instruction PMCR pointe le DM20.
Le DM20 contient la quantité d'octet (4).
Les DM24 et 23 contiennent la première donnée (inversé).
Les DM26 et 25 contiennent la seconde donnée (inversé).
La variable s'écrit: ~(R(2N+1),R(DM 00020))
~:
lecture des mots en ordre inverse
R(2N+1):
L'adresse est pointée par l'opérande source de l'instruction PMCR
avec un décalage de +3 puis de +5 au passage suivant car N vaut
successivement 1 puis 2.
R(DM00020):
La quantité d'octet est consignée dans le DM20
JP Viskovic le 06/05/02
18
MANUEL STA 40
4.7
Cx-Protocol V1.2
Matrice
4.7.1 Principe
La séquence renvoi dès le premier pas vers la matrice appelée ici "LectEcrit" qui en fonction de la
requête reçu orientera vers le pas spécifié ( 001 réponse à une lecture ou 002 réponse à une
écriture).
JP Viskovic le 06/05/02
19
MANUEL STA 40
Cx-Protocol V1.2
4.7.2 Création d'une matrice
L'option "Matrix" n'apparaît dans le champs Next que lorsqu'une matrice existante est
sélectionnée dans le champs Recv Message. Il faut donc dans l'ordre:
1. Créer une matrice en lui donnant simplement un nom.
2. Elaborer la séquence en commençant par le renvoi vers cette matrice puis les messages à
transmettre.
3. Elaborer la matrice en désignant les pas à exécuter en fonction des messages reçus et
consignés dans
Chaque cas répertorié dans la matrice doit ensuite désigner l'action suivante à entreprendre.
!
Next : séquence suivante (dans l'ordre des numéro)
!
Goto:
saut vers une séquence spécifiée
!
End:
met fin à l'exécution de la matrice
!
Abort: aucune action, la matrice continue de s'exécuter.
Pour être opérationnel, les messages reçus destinés à être comparés dans la matrice, doivent
comporter la même entête.
JP Viskovic le 06/05/02
20
MANUEL STA 40
Cx-Protocol V1.2
5Mise en œuvre du protocole
5.1
Configuration de la carte PMSU
La méthode et le format de communication utilisés doivent être configurés dans l’API.
Il faut tout d’abord connecter Cx-Protocole à l’API en choisissant dans la barre des menus
l’option [PLC/Connect to PLC] ou bien en passant par le menu contextuel de l’icône
Puis sélectionner par un click droit le port de communication à configurer.
Attention, le menu contextuel n’est accessible qu’en cliquant très précisément sur l’icône
JP Viskovic le 06/05/02
21
MANUEL STA 40
5.2
Cx-Protocol V1.2
Transfert du protocole macro
L’option [dowload] du menu [Protocol] (ou bien du menu contextuel) n’est accessible qu’à
condition d’avoir sélectionné dans l’arborescence un protocole ou bien la liste contenant les
protocoles. Ceci permet de transférer tout ou partie du protocole.
Cx-protocol compile puis transfert le protocole mais propose aussi d’y inclure ou non les sources
ainsi qu’une protection par mot de passe.
5.3
La fonction Trace
Cette fonctionnalité de Cx-protocol est très utile pour réaliser la mise au point du protocole. La
carte PMSU est capable de tracer l’envoi/réception de 670 caractères sur série alpha et 1700 sur
CS1/CJ1.
La fonction trace est démarrée/arrêtée puis éditer par le menu contextuel de l’icône
JP Viskovic le 06/05/02
22
MANUEL STA 40
5.4
Cx-Protocol V1.2
Drapeaux système
Fonctions
Port activé
Erreur d’exécution du P. macro
Erreur sur une étape de séquence
Drapeau d’annulation
Drapeau fonction trace en cours
Drapeau séquence terminée
Drapeau séquence annulée
Drapeau étape d’attente
Code erreur :
1 : pas de protocole (alpha)
2 : erreur de n° de séquence
3 : erreur zone L/E données
4 : erreur de syntaxe P. macro
5 : erreur UC
n° de la séquence en cours
Etape et cas identifié par la matrice
Drapeau mémoire du cas identifié
Drapeau mémoire de l’étape
Valeur courante du compt. de rép.
RAZ port de communication
Délai réponse PMSU dépassé
Erreur bus carte insérée (inner)
Erreur de données (CRC, FCS)
JP Viskovic le 06/05/02
CS1-SCB
Port 1
Port 2
CIO
CIO
1906.00 1916.00
1909.15 1919.15
1909.14 1919.14
1909.13 1919.13
1909.12 1919.12
1909.11 1919.11
1909.10 1919.10
1909.09 1919.09
CS1/CJ1-SCU
Port 1
Port 2
CIO
CIO
n+6.00 n+16.00
n+9.15 n+19.15
n+9.14 n+19.14
n+9.13 n+19.13
n+9.12 n+19.12
n+9.11 n+19.11
n+9.10 n+19.10
n+9.09 n+19.09
HX/HG/HE-SCB
Port A
Port B
IR
IR
----289.08
289.12
289.09
289.13
--------289.10
289.14
289.11
289.15
-----
1909.00
à
1909.03
n+9.00
à
n+9.03
286.08
à
286.11
1919.00
à
1919.03
1910
1920
1911
1921
1912
1922
1913
1923
1914
1924
A636.01 A636.02
A424.00
A424.01
A424.09
n+19.00
à
n+19.03
n+10
n+20
n+11
n+21
n+12
n+22
n+13
n+23
n+14
n+24
A62n.01 A62n.02
A417.n
-----
289.12
à
289.15
----287
288
------------IR289.00 IR289.01
IR268.00
IR268.01
IR268.02
23

Manuels associés