Automazione_Oggi_370 - page 117

MARZO 2014
AUTOMAZIONE OGGI 370
117
zione è sufficiente fare doppio clic nell’area circolare bianca.
- È possibile anche visualizzare il trend dei cilindri mediante diagrammi
temporali della distanza. Con un clic su un cilindro si apre la rispettiva
finestra con il grafico del trend (figura 6).
- Per facilitare l’analisi degli errori e ottenere informazioni dettagliate
sul progetto, il software permette di controllare interfacce specifiche
e visualizzare i valori che sono cambiati (visualizzati in rosso) e quelli
inalterati (nero/blu); permette inoltre di aprire un blocco funzione per
mostrare il contenuto e aggiungere punti di monitoraggio (figura 7).
che illustrano l’utilizzo delle funzioni digitali, analogiche e di co-
municazione delle strutture di controllo (‘if’, ‘for’, ‘while’, ‘switch’),
dei sensori ecc.
Fonti: White paper “Free and Open Source Software (Foss): Open Source sof-
tware and virtualization in the automation industry – a change of fashion or a
paradigmchange?”OpenSourceAutomationDevelopment Lab;White Paper
“How to use Linux in idustrial automation” Moxa; IEC 61499; nxtControl; ardu-
ino
A titolo esemplificativo analizziamo un tutorial dedicato al controllo di
motori passo-passo alimentati esternamente nelle versioni unipolare
con array Darlington e bipolare con ponte a H mediante un potenzio-
metro da 10 k sull’ingresso analogico 0.
Codice:
#include <Stepper.h>
// numero di passi del motore passo-passo
#define STEPS 100
// crea un’istanza della classe del motore passo-passo, specificando
// il numero di passi del motore e i pin
// a cui è collegato
Stepper stepper(STEPS, 8, 9, 10, 11);
// la lettura precedente dall’ingresso analogico
int previous = 0;
void setup()
{
// imposta il numero di giri del motore su 30 giri/min
stepper.setSpeed(30);
}
void loop()
{
// ottiene il valore del sensore
int val = analogRead(0);
// muove di un numero di passi pari alla variazione nella
// lettura del sensore
stepper.step(val - previous);
// ricorda il valore precedente del sensore
previous = val;
}
Tutorial per Arduino
5
6
7
8
9
1...,107,108,109,110,111,112,113,114,115,116 118,119,120,121,122,123,124,125,126,127,...136
Powered by FlippingBook