CONFIGURAZIONE ED UTILIZZO DI UN MASTER PUZZLE IN CAN

In questo esempio si vuole utilizzare un master puzzle che comunica con un dispositivo syel P10 linux. Sul master sono state utilizzate tre cartucce con tre tipi di ingressi differenti a titolo dimostrativo. Nel file start.c si nota come siano state dichiarate

xn_config[0] = C_ADC;       // ingresso analogico
xn_config[1] = C_IN;        // ingress1 digitali
xn_config[2] = C_OUT;       // uscite digitali
xn_config[3] = C_EMPTY;
xn_config[4] = C_EMPTY;
xn_config[5] = C_EMPTY;
xn_config[6] = C_EMPTY;
xn_config[7] = C_EMPTY;

puzzle_start_can(0, 0);     // avvio comunicazione

Nel file common.h viene inizialmente inclusa la libreria apposita "puzzle6.h"

#include "puzzle6.h"

#define Ing_Anal          p50_x1_anal
#define Ing_dig1          x2_i1   // X2.0
#define Ing_dig2          x2_i2   // X2.1
#define Out_dig1          x3_o1   // X3.0
#define Out_dig2          x3_o2   // X3.1

Nell'esempio, oltre che modificare le uscite digitali e leggere gli ingressi sia digitali che quello analogico vengono fatte delle valutazioni sul valor medio del dato analogico. A display vedrete i seguenti valori:

Ing_Anal = lettura ingresso analogico
Ing_Anal_max = massimo valore letto in ingresso (a fianco c'è un numero che sono i campioni sopra il valor medio di 10 tik)
Ing_Anal_min = minimo valore letto in ingresso (a fianco c'è un numero che sono i campioni sotto il valor medio di 10 tik)

Ing_Anal_mediato = lettura ingresso analogico mediata
Ing_Anal_mediato_max = massimo valore mediato
Ing_Anal_mediato_min = minimo valore mediato Il tasto reset azzera questi valori

L'esempio è stato testato su un dispositivi syel p10 ed un master puzzle via CAN bus ed è liberamente scaricabile dal seguente link: scarica

2025-02-04 Creatore dell'articolo Simone De Santis. Per ulteriori richieste simone.desantis@syel.it