Bonjour à tous. Je sais pas si je suis dans la bonne section mais je tente au besoin je redirigerai . Actuellement en stage pour valider ma formation de technicien en automatisme.. J'ai pour mission la programmation d'un Ihm PRO FACE sous GP PRO EX. Cet IHM devra communiqué avec un automate déporté de la meme marque ainsi qu'une centrale de mesure IME NEMO D4 DC.. J'auai besoin de votre aide s'il vous plait afin de coder un scrip qui me permetra de recuperer les valeurs de la centrale de mesure. J'ai un debut de code en C mais je n'arrive pas à l'adapter pour le scrip de gp pro.. Si quelqu'un peut m'aiguiller ce serait genial, comme je l'ai precisé au dessus je suis Novice en automatisme et j'ai vraiment besoin de terminé ce projet pour l'obtention de ma certif. Si vous avez besoin d'informations supplémentaire n'hesiter pas.. Je vous transmet dans un premier temps l'ebauche du code que j'ai pu trouvé sur le site ime:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
insigne int calc_crc (char *ptbuf, unsigned int num) 
/*****************************************************************
*           Descrizione : calculates a data buffer CRC WORD
*           Input : ptbuf = pointer to the first byte of the buffer
*           num = number of bytes
*           Output : //
*           Return :
** ***************************************************************/
{
unsigned int crc16;
unsigned int temp;
unsigned char c, flag;
 
 
crc16 = 0xffff;                                                                     /* init the CRC WORD */ 
for (num; num>0; num--) {
        temp = (unsigned int) *ptbuf;                                      /* temp  has the first byte */
        temp &= 0x00ff;                                                                     /* mask the MSB */
           crc16 = crc16 ^ temp;                                                /* crc16 XOR with temp */
         for (c=0; c<8; c++) {
               flag = crc16 & 0x01;                                        /* LSBit di crc16 is mantained */
               crc16 = crc16 >> 1;                                                 /* Lsbit di crc16 is lost */
               if   (flag != 0)
                    crc16 = crc16 ^ 0x0a001;                              /* crc16 XOR with 0x0a001 */
         }
         ptbuf++;                                                                /* pointer to the next byte */
} 
crc16 = (crc16 >> 8) | (crc16 << 8);                               /* LSB is exchanged with MSB */ 
return (crc16); 
 
}                                                                                                        /* calc_crc */




Address                   Byte n.                      Description                                           Unit
0x1000                        4                                Voltage                                          mV
0x1002                        4                                Current                                          mA
0x1004                        4                         Signed power                                         (*)
0x1006                        4                        Positive Energy                                        Wh
0x1008                        4                      Negative Energy                                         Wh
0x100A                        4                             Time                                            seconds
0x100C                        4                      Average Power                                          (*)
0x100E                        4                  Maximum Power Demand                                  (*)
0x1010                        2         Minutes elapsed durino theaverage calculation          
0x1012                        4                    Positive Amperehours                                    Ah
0x1014                        4                   Negative Amperehours                                    Ah

0x1201                     WORD           Current transformer ratio (KTA)                        integer
0x1202                     WORD            Voltage transformer ratio (KTV)                         1/10 
0x1203                     WORD                     Device identifier                                     0x14
Voili voilou.; Je bloque complet si y a une ame charitable pour me sortir du brouillard svp ^^ en sachant que l'ihm me renvoie n code erreur qui est le suivant:

RHAA036 Error has been responded for device read Command ( Error code 2[2H] There are out of range devices)
Merci à tous. Cordialement