Raccordement OSITRACK SCA62 SCA50

TCSMCN1F2 (M12 vers libre pour ositrack)
1 shield
2 rouge
3 Noir 0V
4 Blanc D0
5 Bleu D1

Si banchement en direct de la tête de lecture Ositrack alors TCSMCN1F2 avec 24V :
1 Shield
2 24V
3 0V
4 D0
5 D1

RJ45
3 Vert 0V
4 Noir D(A)
5 Rouge D(B)

Sur SCA50 :
1 Shield
2 Blanc 0V
3 Rouge 0V
4 Blanc D(A)
5 Bleu D(B)

Mémoire OSITRACK et modes de marche

Zone etiquette : %MW0 (16#0000) à %MW32767 (16#7FFF)
Zone Station : %MW32768 (16#8000) à %MW65535 (16# FFFF)

16#8000 Bit 0 étiquette présente, Bit 5 : Badg de configuration présent
16#8001 : compteur d’étiquettes (incrémenté à chaque nouvelle étiquette)
16#8002 à 8009 UID identifiant unique actualisé à chaque nouvelle étiquette
16#8018 : bits 0 à 7 adresse de la station (1 à 15)
16#8019 à FFFF zone réservée aux réglages de la station

Zone étiquette :
XGH B21/B22/B90 : 256 octets de 0 à 127
XGH B32 : 112 octets 0 à 55
XGH B444 : 3408 octets de 0 à 1703
XGH B445 13632 octets de 0 à 6815

PRM utilisation avec Quantum

Le piège d’une utilisation de la PRM avec Quantum est qu’il faut localiser les variables d’E/S :
– Les Buffers d’E/S
– le tableau de Diag_info pour le DIAG
– le tableau de lecture pour le READ
– le tableau de données à écrire pour le WRITE

Accès aux paramètres internes du NOM M340

Exemple de code:
if dataCh010Get then
read_var(addm(‘0.1.0’), ‘%MW’, dataCh010StartAddr, dataCh010Size, dataCh010Mgt, dataCh010Buff);
dataCh010Get := false;
end_if;

Contenu de la zone:

Address Field kind Designation
%MW0 INT Tx Start Delay: wait a delay before sending data. It is commonly used with the half duplex modem mode to set the RTS signal, wait the CTS signal and then wait this delay before sending data. It seems to conform to FOCKS mechanism.
%MW1 INT Tx End delay: wait a while after the last byte sent. It is commonly used with half duplex modem mode to maintain the RTS signal this time, to let enougth time to the modem to send the buffer to the peer, before switching to reception mode. It seems to conform to the FOCKS mechanism.
%MW16 INT bus_message_count
%MW18 INT bus_com_error_count
%MW20 INT bus_except_error_count
%MW22 INT slave_mes_count
%MW24 INT slave_no_resp_count
%MW26 INT slave_NAK_count
%MW28 INT slave_busy_count
%MW30 INT bus_char_overrun_count
%MW30 INT Internal com_event_count
%MW30 INT Internal diag_register
%MW30 INT Internal successfull_mstr_count
%MW30 INT Internal successfull_slave_count
%MW40 INT Internal bad_adr_count
%MW42 INT Internal bad_length_count
%MW44 INT Internal mstr_retry_count
%MW46 INT Internal STOP_BYTES
%MW48 INT Internal listenOnlyMode
%MW50 INT Internal KindOfFlowControl (0:full duplex, 1 RTS, 2 DTR)
%MW100 INT Internal conf mode
%MD102 DINT Internal conf baudrate
%MW104 INT Internal conf dataLength
%MW106 INT Internal conf parity
%MW108 INT Internal conf stopBitNb
%MW110 INT Internal conf rs232
%MW112 INT Internal conf hwFlowCtrl
%MW114 INT Internal conf modemMode
%MW116 INT Internal conf framesDelay
%MW118 INT Internal conf silence
%MW120 INT Internal conf slaveAnswerDelay
%MW122 INT Internal conf slaveNumber
%MW124 INT Internal conf slaveNumberExternal
%MW126 INT Internal conf polarizationModbus
%MW128 INT Internal conf polarizationUnitelway
%MW130 INT Internal conf nbRetries
%MW132 INT Internal conf rtsCtsTimeout
%MW134 INT Internal conf endOfFrameChar1
%MW136 INT Internal conf endOfFrameIncludedChar1
%MW138 INT Internal conf endOfFrameByteChar1
%MW140 INT Internal conf endOfFrameChar2
%MW142 INT Internal conf endOfFrameChar2
%MW144 INT Internal conf endOfFrameIncludedChar2
%MW146 INT Internal conf endOfFrameByteChar2
%MW148 INT Internal conf blindTimeMs
%MW150 INT Internal usePatchedTimings
%MW152 INT Internal t3_5ch
%MW154 INT Internal t1_5ch
%MW156 INT Internal tDelay
%MD158 DINT Internal conf KindOfFlowControl (0: none, 1: RTS automatic, 2: DTR automatic instead of RTS)
%MW160 INT Internal conf ctsDelayBeforeTx : In half duplex mode, on sending, the RTS signal raise, then when the CTS raise the delay is executed beforte sending the frame.
%MW162 INT Internal conf rtsDelayAfterTx: In half duplex mode, after sending, the RTS signal is maintain until the delay is over.
%MW200 INT Current version of the local channel server (00.01)
%MW201 INT Flash Slave Address
%MW202 INT Is it authorized to change the address ?
%MW1000 INT Modbus RTU Master: internal protocol code
%MW1002 INT Modbus RTU Master: KindOfFlowControl (0: none, 1: RTS automatic, 2: DTR automatic instead of RTS)
%MW1010 INT Modbus RTU Master: T1_5crS
%MW1012 INT Modbus RTU Master: T1_5crR
%MW1014 INT Modbus RTU Master: T3_5crS
%MW1016 INT Modbus RTU Master: T3_5crR
%MW1018 INT Modbus RTU Master: DelayInBits
%MW1090 INT Modbus RTU Master: nb retries configured
%MW1100 INT Modbus RTU Master: SlaveAnswerDelay10ms Broadcast
%MW1101 INT Modbus RTU Master: SlaveAnswerDelay10ms Slave 1
%MW1102 INT Modbus RTU Master: SlaveAnswerDelay10ms Slave 2
%MW1103 INT
%MW1347 INT Modbus RTU Master: SlaveAnswerDelay10ms Slave 247
%MW1348 INT Modbus RTU Master: SlaveAnswerDelay10ms Point to Point
%MW1500 INT Modbus RTU Slave: internal protocol code
%MW1502 INT Modbus RTU Slave: KindOfFlowControl (0: none, 1: RTS automatic, 2: DTR automatic instead of RTS)
%MW1510 INT Modbus RTU Slave: T1_5crS
%MW1512 INT Modbus RTU Slave: T1_5crR
%MW1514 INT Modbus RTU Slave: T3_5crS
%MW1516 INT Modbus RTU Slave: T3_5crR
%MW1518 INT Modbus RTU Slave: DelayInBits
%MW1600 INT Modbus RTU Slave: SlaveAddr
%MW1602 INT Modbus RTU Slave: BlindTimeAfterReception
%MW1604 INT Modbus RTU Slave: blindTimeActivated
%MW1606 INT Modbus RTU Slave: ListenOnlyMode
%MW2000 INT Modbus ASCII Master : internal protocol code
%MW2002 INT Modbus ASCII Master : KindOfFlowControl (0: none, 1: RTS automatic, 2: DTR automatic instead of RTS)
%MW2010 INT Modbus ASCII Master: T1_5crS
%MW2012 INT Modbus ASCII Master: T1_5crR
%MW2014 INT Modbus ASCII Master: T3_5crS
%MW2016 INT Modbus ASCII Master: T3_5crR
%MW2018 INT Modbus ASCII Master: DelayInBits
%MW2090 INT Modbus ASCII Master: nb retries configured
%MW2100 INT Modbus ASCII Master: SlaveAnswerDelay10ms Broadcast
%MW2101 INT Modbus ASCII Master: SlaveAnswerDelay10ms Slave 1
%MW2102 INT Modbus ASCII Master: SlaveAnswerDelay10ms Slave 2
%MW2103 INT
%MW2347 INT Modbus ASCII Master: SlaveAnswerDelay10ms Slave 247
%MW2348 INT Modbus ASCII Master: SlaveAnswerDelay10ms Point to Point
%MW2500 INT Modbus ASCII Slave: internal protocol code
%MW2502 INT Modbus ASCII Slave: KindOfFlowControl (0: none, 1: RTS automatic, 2: DTR automatic instead of RTS)
%MW2510 INT Modbus ASCII Slave: T1_5crS
%MW2512 INT Modbus ASCII Slave: T1_5crR
%MW2514 INT Modbus ASCII Slave: T3_5crS
%MW2516 INT Modbus ASCII Slave: T3_5crR
%MW2518 INT Modbus ASCII Slave: DelayInBits
%MW2600 INT Modbus ASCII Slave: SlaveAddr
%MW2602 INT Modbus ASCII Slave: BlindTimeAfterReception
%MW2604 INT Modbus ASCII Slave: blindTimeActivated
%MW2606 INT Modbus ASCII Slave: ListenOnlyMode
%MW3000 INT Char Mode: internal protocol code
%MW3002 INT Char Mode: KindOfFlowControl (0: none, 1: RTS automatic, 2: DTR automatic instead of RTS)
%MW3100 INT Char Mode: Stop criteria present
%MW3102 INT Char Mode: Ticr
%MW3104 INT Char Mode:  EOF byte 1
%MW3104 INT Char Mode:  EOF char 1 added
%MW3104 INT Char Mode:  EOFbyte 2
%MW3104 INT Char Mode:  EOF char 2 added

Connection à un M340, transparence réseau

Dans le set address on peut en USB mettre l’adresse IP avec r.m.c{IP}

Ou pour router sur USB à partir de TCP/IP, choisir le driver TCP/IP et mettre : 90.0.0.1\\r.m.c{IP}

On peut aussi : IP1\\r.m.c{IP2} : cela veut dire que l’on est connecté sur le même réseau que l’automate IP1 avec le PC et que l’on veut aller sur l’automate IP2 qui est sur un autre réseau.

On a aussi la possibilité de mettre « nom de réseau » à la place de r.m.c, ce qui permet de porter des applications avec des modules situés à des emplacements différents.

On peut aussi si on est en modbus série :
@modbus serie
@modubusserie\\r.m.c{IP}

Pour résumer : (où r.m.c peut aussi être nom de réseau)
USB
SYS
r.m.c{IP}
SYS\\r.m.c{IP}
SYS\\r.m.c.@

Ethernet :
IP
IP\\r.m.c{IP2}
IP\\r.m.c.@

Modbus série :

@
@\\r.m.c{IP}
r.m.c.@

Ajouter une ligne au menu contextuel d’un dossier sous l’explorateur windows

– lancer regedit
– ouvrir la clef : HKEY_CLASSES_ROOT/Directory/Shell
– créer une clef nommée listing par exemple
– ajouter une nouvelles sous clef nommée : command
– dans cette clef mettre la comamnde que l’on veut exécuter :

cmd /c « cd /d %1 && dir /B /S >%TEMP%tmplist.txt && notepad %TEMP%tmplist.txt

ou tout simplement :
cmd /c « cd /d %1 dir /B /S > d:\temp\listing.txt

etc…

Hot standby Premium Modification en ligne

Faire la modification en ligne du primaire (Automate A)

Resultat : le standby (Automate B) passe Offline

sauvegarder l’application sur disque
Se connecter à l’automate B
transférer l’application dans le B et le passer en RUN

résultat : L'automate B passe alors de Offline à Standby

Le système est à nouveau redondant

Note : si une erreur survient sur le primaire avant le tranfert ver l’automate B, une commande RUN/STOP de l’automate B permet de la faire passer en Primaire. Il faudra alors transférer l’application dans le A pour revenir à la situation initiale avec la redondance.

Hot standby Premium Modification en local

Faire la modification en mode local sous Unity
Transférer l’application sur le Standby (B)

Résultat : le Standby devient Offline STOP

passer le Primaire (A) en STOP

Résultat : le système ne fonctionne plus

passer l’autoamte B en RUN

Résultat : l'automate B devient Primaire

Transférer l’application dans l’automate A

Passer l'automate A en RUN
Résultat l'automate A devient standby