Wiesemann & Theis GmbH

Tecnologia di rete, dei sensori e delle interfacce per industria, ufficio e informatizzazione

Applicazione per la motherbox:

Collegare in modo logico i Web-IO


  • motherbox php data request

L’esempio presentato qui illustra le seguenti funzioni della motherbox:

  • Esecuzione temporizzata di uno script PHP
  • Comunicazione di rete via PHP

Gli stati e i valori di misura acquisiti da più Web-IO (digitale, analogico, termografo ecc.) devono essere utilizzati come base decisionale per l’attivazione di uscite digitali.

Esempio di applicazione

Nella stanza dei server di un’azienda è installato per il monitoraggio della temperatura un Termoigrobarografo web PoE. Lo stato di funzionamento del climatizzatore di questa stanza può essere prelevato tramite un contatto relè. Questo contatto è inserito in un Web-IO 2x Digital Input, 2x Digital Output PoE. Il climatizzatore è dotato inoltre di un proprio monitoraggio della temperatura e all’occorrenza si accende autonomamente.

Tuttavia se al superamento della temperatura limite il climatizzatore non si accende, si deve accendere una luce di emergenza sul tabellone elettronico del portiere. Anche tale luce di emergenza è collegata con un Web-IO 2x Digital Input, 2x Digital Output PoE e può essere così accesa e spenta attraverso la rete.

Realizzazione

Per attivare questa semplice funzione di monitoraggio è necessario visualizzare la temperatura nella stanza dei server e lo stato di funzionamento del climatizzatore. Sulla base del risultato collegato viene fissato lo stato del segnale della luce d’emergenza.

Come intelligenza centrale viene impiegata una motherbox W&T. Eseguire il supporto PHP e la funzione degli script PHP via CRON soddisfano i requisiti. In alternativa ogni PC può essere impiegato con le proprietà summenzionate invece che con la motherbox. Gli script d’esempio per questa applicazione possono essere scaricati qui.

Il file webio_raw.php contiene funzioni standard che potete richiamare dal vostro script PHP. Mediante queste funzioni potete richiamare stati e valori di misura di Web-IO e continuare ad elaborarli singolarmente. Qui di seguito vengono spiegate le funzioni disponibili incl. i parametri necessari da richiamare e i valori per il ri-invio.

  • getDigitalIn(IP, port, canale, password): richiama lo stato attuale di un canale da un Web-IO digitale. Al richiamo bisogna inoltrare l’indirizzo IP, la porta HTTP, il numero del canale da interrogare e la password. Il valore di riinvio è 0 o 1 e corrisponde allo stato attuale dell’input. Esempio (nessuna password assegnata): getDigitalIn(’10.4.27.10’, 80, 2, ’’);
  • getDigitalOut(IP, port, canale, password): Come getDigitalIn(), fornisce l’informazione di stato sull’uscita del Web-IO interrogata.
  • getCounter(IP, port, canale, password): richiama lo stato attuale del contatore di un canale di un Web-IO o Web-counter digitale. I parametri da richiamare sono indirizzo IP, numero della porta HTTP, numero del canale e password. Viene restituito lo stato del contatore. Esempio: getCounter(’10.40.27.10’, 80, 4, ’mein_passwort’);
  • setDigitalOut(IP, port, canale, password, stato): fissa lo stato di un singolo output su un Web-IO digitale. Accanto all’indirizzo IP, alla porta HTTP, al numero del canale e alla password è necessario dare anche lo stato finale dell’output. Questo deve essere indicato con 0 (= output off) o 1 (= output on). Il valore di ri-invio è il nuovo stato di attivazione. Il seguente esempio attiva l’output n. 6 sul Web-IO con l’indirizzo IP 10.40.27.10: setDigitalOut(’10.40.27.10’, 80, 6, ’mein_passwort’, 1);
  • getAnalogIO(IP, port, canale): Richiamo di entrate e uscite di Web-IO e termografi web analogici. Restituisce un valore float. Esempio: getAnalogIO(’10.40.27.11’, 80, 1);
  • setAnalogOut(IP, port, canale, password, stato): fissa lo stato di un singolo output su un Web-IO analogico. Accanto all’indirizzo IP, alla porta HTTP, al numero del canale e alla password è necessario dare anche lo stato finale dell’output. Esso è da indicare in cifre (per es. 2.54 o 7.23). Il valore di rinvio è il vecchio valore analogico durante il processo di regolazione sul valore finale. Il seguente esempio fissa il n. di output 1 sul Web-IO con l’indirizzo IP 10.40.27.11 a 3,5: setDigitalOut(’10.40.27.10’, 80, 1, ’mein_passwort’, 3.5);

A partire dall’esemplare combinazione di strumenti:

  • Termografo web nella stanza del server con IP: 10.40.27.11, porta HTTP: 80, misura la temperatura sul canale 1
  • Web-IO nella stanza dei server con IP: 10.40.27.10, porta HTTP: 80, contatto di segnalazione del climatizzatore all’input 0, nessuna password assegnata
  • Web-IO dal portiere con IP: 10.40.27.12, porta HTTP: 80, spia d’allarme sull’Output 1, password: ’mia_password’

La spia di allarme deve essere attivata, quando la temperatura supera i 30°C e il contatto del climatizzatore è inattivo. Il rispettivo script PHP ha il seguente aspetto:


			<?php
				include ’../webio_raw.php’;
				$state = getDigitalIn(’10.40.27.10’, 80, 0, ’’);
				$temperature = getAnalogIO(’10.40.27.11’, 80, 0);
				$output = $state == 0 && $temperature > 30 ? 1 : 0;
				setDigitalOut(’10.40.27.12’, 80, 1, ’mein_passwort’, $output);
			?>

Innanzitutto viene incorporata la biblioteca di funzione attraverso il comando "include" con le funzioni standard dalla root directory. Solo dopo il collegamento si possono utilizzare le funzioni sopra descritte. Nelle variabili $state e $temperature il contatto del climatizzatore e la temperatura nella stanza del server vengono letti. Se lo stato è OFF e la temperatura è superiore ai 30°C, $output viene messo su 1, altrimenti su 0. Infine l’uscita digitale, alla quale viene collegata la spia d’allarme dal portiere, viene messa sullo stato rilevato.

Con l’aiuto dell’esecuzione controllata da CRON di questo script PHP il controllo può essere effettuato a intervalli di un minuto.

Configurazione della motherbox

Salvare il file webio_raw.php per FTP o via condivisione SMB direttamente nella root directory userfiles della motherbox, il file webio_network.php, dopo l’adattamento alla Sua situazione, nella cartella programs. Infine sono necessari le seguenti operazioni di configurazione, per far eseguire al sistema lo script ogni minuto:

  • Richiamate la homepage della motherbox inserendo l’indirizzo IP nella riga dell’indirizzo del vostro browser.

    Homepage Motherbox
  • Scegliere Login nel menu ad albero ed effettuare il login attraverso la finestra di dialogo richiamata con diritti da amministratore (nome utente: admin e la vostra password).

    Finestra di dialogo login della Motherbox
  • Navigare sulla pagina Home >> Configurazione >> Propri file. Cliccare nella panoramica file sulla cartella programs. Il file webio_network.php viene visualizzato.

    Browser file motherbox
  • Un click sull’icona Modificare le proprietà del file (a sinistra vicino webio_network.php) apre la finestra di dialogo Modifica.

    Modificare le proprietà del file
  • Attivare in modo temporizzato e accertatevi che in ognuno dei seguenti campi di testo sia segnato un *. Secondo questa definizione CRON lo script viene richiamato ogni minuto.

    Accettate tutte le impostazioni con Salva... Fatto!

    Controllo eventi

 

In conclusione

In questo modo si possono realizzare semplici controlli, se il ciclo minimo di controllo di un minuto soddisfa le esigenze. È vantaggioso che i singoli segnali possano essere distribuiti sulla rete. In questo modo viene eliminato il vincolo locale.

^