The Interaction of Fertilizer Levels and Weeding Frequency on Growth and Yiel...Agriculture Journal IJOEAR
Ìý
This document summarizes a study on the interaction of fertilizer levels and weeding frequency on the growth and yield of roselle. The study was conducted in Yola, Nigeria over two seasons. It found that roselle growth and yield parameters like plant height, number of branches, increased with higher levels of nitrogen fertilizer up to 150kg/ha. Weeding the crop more frequently, such as every 2-4 weeks, also led to better growth and higher yields compared to less frequent or no weeding. The highest plant heights and number of branches were obtained with a combination of the highest fertilizer level (150kgN/ha) and most frequent weeding (every 2-4 weeks). The lowest values for all
Presentazione alla Google Dev Fest Mediterranean 2016 di Catania con presentazione sulle metodologie di utilizzo di microservices e sui sistemi per monitorare le infrastrutture
ºÝºÝߣ del decimo Meetup di Milano, che si è tenuto il 26 Gennaio dalle ore 10:30 alle ore 12:00 in formato virtuale.
Abbiamo parlato insieme a Davide Bonaciti di come ha realizzato un caso d'uso di automazione e CI/CD. Stefano Bernardini, Serena Galassi e Lorenzo Ornella, invece, ci parleranno di DataGraph e ci mostreranno una demo di implementazione per realizzare un'asta del fantacalcio 2.0.
Il web service e i sistemi embedded - Tesi - cap2pma77
Ìý
Nel capitolo secondo capitolo della tesi " SVILUPPO E IMPLEMENTAZIONE SU MICROCONTROLLORE DI UN’APPLICAZIONE WEB SERVER PER IL CONTROLLO DI UN SISTEMA EMBEDDED"sono presentati diversi prodotti commerciali impieganti Web Service , in modo particolare dispositivi di tipo embedded. Viene discusso, inoltre, su come le tecnologie Web entrino nel mondo industriale e della domotica e si pone l’attenzione sui fattori che impediscono il pieno sviluppo in questi ambiti. Infine vengono proposti diversi articoli che affrontano tematiche simili a quelle della tesi.
Dependency injection questa sconosciutaAndrea Dottor
Ìý
L'uscita di ASP.NET Core ha portato a una maggiore diffusione dell'utilizzo della DI (Dependency Injection) ma spesso senza che lo sviluppatore sappia la sua reale utilità o potenzialità .
Dependency Injection, uno dei design pattern della programmazione OOP. Una best-practice dello sviluppo che può portare alla semplificazione del codice scritto, facilitare il disacoppiamento, e migliorare la testabilità .
In questa sessione vedremo cos'è la DI e come utilizzarla intelligentemente all'interno dei nostri progetti.
ºÝºÝߣ dell'evento "XE One Day - Good code" tenuto il 15.09.2018.
Il codice è disponibile alla pagina dell'evento https://www.xedotnet.org/eventi/one-day-good-code/
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...Mattia De Bernardi
Ìý
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamento al sistema di controllo TANGO, tramite l'ausilio del framework Apache Cordova
Presentazione alla Google Dev Fest Mediterranean 2016 di Catania con presentazione sulle metodologie di utilizzo di microservices e sui sistemi per monitorare le infrastrutture
ºÝºÝߣ del decimo Meetup di Milano, che si è tenuto il 26 Gennaio dalle ore 10:30 alle ore 12:00 in formato virtuale.
Abbiamo parlato insieme a Davide Bonaciti di come ha realizzato un caso d'uso di automazione e CI/CD. Stefano Bernardini, Serena Galassi e Lorenzo Ornella, invece, ci parleranno di DataGraph e ci mostreranno una demo di implementazione per realizzare un'asta del fantacalcio 2.0.
Il web service e i sistemi embedded - Tesi - cap2pma77
Ìý
Nel capitolo secondo capitolo della tesi " SVILUPPO E IMPLEMENTAZIONE SU MICROCONTROLLORE DI UN’APPLICAZIONE WEB SERVER PER IL CONTROLLO DI UN SISTEMA EMBEDDED"sono presentati diversi prodotti commerciali impieganti Web Service , in modo particolare dispositivi di tipo embedded. Viene discusso, inoltre, su come le tecnologie Web entrino nel mondo industriale e della domotica e si pone l’attenzione sui fattori che impediscono il pieno sviluppo in questi ambiti. Infine vengono proposti diversi articoli che affrontano tematiche simili a quelle della tesi.
Dependency injection questa sconosciutaAndrea Dottor
Ìý
L'uscita di ASP.NET Core ha portato a una maggiore diffusione dell'utilizzo della DI (Dependency Injection) ma spesso senza che lo sviluppatore sappia la sua reale utilità o potenzialità .
Dependency Injection, uno dei design pattern della programmazione OOP. Una best-practice dello sviluppo che può portare alla semplificazione del codice scritto, facilitare il disacoppiamento, e migliorare la testabilità .
In questa sessione vedremo cos'è la DI e come utilizzarla intelligentemente all'interno dei nostri progetti.
ºÝºÝߣ dell'evento "XE One Day - Good code" tenuto il 15.09.2018.
Il codice è disponibile alla pagina dell'evento https://www.xedotnet.org/eventi/one-day-good-code/
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...Mattia De Bernardi
Ìý
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamento al sistema di controllo TANGO, tramite l'ausilio del framework Apache Cordova
SESAMO (application login automator): evoluzioni applicative e considerazioni...AndrijaCiric1
Ìý
REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLLO DI PROCESSO IN AMBITO INDUSTRIALE
1. Università degli studi di Trieste
Dipartimento di Ingegneria ed Architettura
Corso di studi in Ingegneria Informatica
Laureando:
Enrico PALUZZANO
Relatore:
prof. Alberto BARTOLI
2. Introduzione
 Il lavoro presentato è stato svolto all’interno
dell’azienda SMS Concast.
ï‚— SMS Concast sviluppa e produce software per
l’automazione degli impianti siderurgici.
 Il software presentato è il sistema di comunicazione,
utilizzato dalle applicazioni, per controllare il processo
produttivo dell’impianto: il suo nome è GATE.
3. Organizzazione aziendale
 L’organizzazione degli impianti viene strutturata
su diversi livelli.
 Livello 1: è il livello che gestisce l’automazione
nell’impianto.
 Il livello 2: è il livello preposto alla gestione del processo
produttivo.
(livello in cui è stato sviluppato il software prodotto)
 Il livello 3: è il livello preposto alla gestione delle
commesse.
4. Livello 2
ï‚— Il software sviluppato nel livello 2 svolge svariati
compiti:
ï‚— calcolo dei piani di taglio per gli acciai speciali
 controllo della composizione chimica dell’acciaio
…
 Le necessità del software di questo livello sono:
 Conoscere lo stato dell’impianto
ï‚— Comandare il processo produttivo
5. PLC
 Lo stato dell’impianto viene controllato da specifiche
apparecchiature chiamate PLC (Programmable Logic
Controller)
ï‚— Al loro interno sono installate le applicazioni di Livello 1
che permettono di:
ï‚— Scrivere in memoria i dati ricevuti dai rilevatori
ï‚— Leggere dalla memoria i comandi da inviare alle macchine
tramite gli attuatori
 Un’applicazione di livello 2, per controllare il processo
produttivo, deve necessariamente comunicare con i PLC.
ï‚— Questa comunicazione avviene interagendo con la loro
memoria interna.
6. Definizione del problema (I)
 Comunicare con i PLC presenta delle difficoltà in
quanto:
ï‚— Possono esser prodotti da case produttrici differenti
ï‚— Utilizzano librerie proprietarie diverse
ï‚— Necessitano di comunicazioni robuste ed affidabili
 Le applicazioni di livello 2 hanno la necessità di
comunicare:
 Con più PLC nello stesso momento
ï‚— In maniera concorrente fra loro
ï‚— Frequentemente
7. Definizione del problema (II)
 Per questo è stato realizzato dall’azienda un software
intermedio tra applicazioni di livello 2 e PLC.
ï‚— Vantaggi:
ï‚— Non impegna le applicazioni nella comunicazione
 Incorpora l’utilizzo di diversi protocolli
ï‚— Permette di controllare lo stato delle comunicazioni
ï‚— Svantaggi:
ï‚— Deve essere robusto
(capace di gestire correttamente i malfunzionamenti)
ï‚— Deve essere affidabile
(non può bloccarsi altrimenti le applicazioni non controllano
più il processo produttivo)
8. Specifiche richieste
 A fronte di una commessa è stato chiesto al livello 2
dell’azienda di:
 Tradurre le applicazioni che già distribuisce, in
linguaggio C#
ï‚— Ridisegnare le interfacce utilizzando WPF(Windows
Presentation Foundation)
ï‚— Sviluppare delle nuove applicazioni personalizzate per
alcune necessità specifiche del committente
9. Stato dell’arte
 Il software presentato in questa tesi è stato sviluppato
partendo da quello correntemente utilizzato.
ï‚— Il software precedente:
 E’ scritto in linguaggio Pascal
ï‚— Utilizza tre tipi di librerie
ï‚—
ï‚—
ï‚—
Softnet
AllenBradley
SendReceive
ï‚— Implementa il controllo da remoto
10. Specifiche del GATE (I)
 Il nuovo software, sviluppato nell’ambito del tirocinio,
presenta le seguenti specifiche:
 E’ scritto in linguaggio C#
ï‚— Ha le interfacce disegnate utilizzando WPF
ï‚— Utilizza la libreria proprietaria Softnet utilizzata per
comunicare con i PLC SIEMENS S7
ï‚— Implementa il sistema remoto utilizzando WCF
(Windows Comunication Foundation)
11. La comunicazione(I)
ï‚— Per comunicare con i PLC, le applicazioni, comunicano
con il Gate utilizzando la seguente procedura:
ï‚— Definiscono una connessione (Link)
ï‚— Accodano una richiesta (Transazione)
 Prelevano l’esito della richiesta
ï‚— Successivamente il Gate interagisce con i PLC nel
seguente modo:
ï‚— Carica la libreria proprietaria
ï‚— Apre il canale di comunicazione
ï‚— Esegue la richiesta tramite le funzioni della libreria
proprietaria
12. La comunicazione (II)
 La comunicazione, all’interno del Gate, avviene
tramite l’intervento di due macro entità :
ï‚— PlcDriver
ï‚— PipeObject
GATE
PIPEOBJECT
PLCDRIVER
APPLICAZIONI
SOFTNET
PLC
ALLEN-BRADLEY
LINK
LINK
ALLNBRADLEY
PLC
SENDRECEIVE LINK
SENDRECEIVE
PLC
SOFTNET LINK
TRANSAZIONI
13. Comportamento delle classi
ï‚— Il PipeObject ha il compito di:
ï‚— Ricevere le richieste di connessione da parte delle applicazioni
ï‚— Passarle al corretto driver in esecuzione
ï‚— Ricevere ed accodare le richieste di lettura o scrittura
ï‚— Il PlcDriver ha il compito di:
ï‚— Caricare le librerie proprietarie
ï‚— Aprire le connessioni passategli dal PipeObject, con i PLC
ï‚— Prelevare dal PipeObject, se accodata, una Transazione
relativa alla connessione aperta
 Eseguire la Transazione e salvarne il risultato all’interno del
PipeObject
ï‚— Rilasciare le librerie proprietarie
14. Sviluppo di PlcDriver
 E’ la classe ancestrale che definisce il comportamento
generale del driver
 Incorpora un thread per l’esecuzione ciclica di una
funzione chiamata Execute
 Questa funzione è stata completamente
riprogettata e sviluppata
 E’ la più rilevante modifica apportata al software
precedente
 Si basa sull’applicazione a PlcDriver di un modello a stati
finiti
15. UNUSED
SIMULATION
Entry / Link da servire = 0
Do / Attende e inizial. driver
Exit / Link da servire > 0
INIZIO
ERROR
Entry / Inizial. driver fallita
Do / Aspetta timeout
RESTARTING
Entry / Mod. sim. richiesta
Do / Finalizza il driver e attende
Exit / Mod. live richiesta
ACTIVE
Entry / Link da servire > 0
Do / Apre link, attende transazioni ed esegue
transazioni
Exit / Links da servire = 0 oppure un link è in stato
di errore per più di MaxOveralltime oppure è
stata richiesta la chiusura del driver
Do / Finalizza driver e terimina link
STOPPED
FINE
Do / Finalizza il driver e
rimuove i link.
16. Risultati dello sviluppo:
ï‚— Il risultato ottenuto da questa implementazione di
PlcDriver si può riassumere in:
 Un comportamento più affidabile dei driver
ï‚— Una miglior chiarezza del codice
ï‚— Un aumento delle prestazioni in alcune situazioni
18. L’applicazione di test: Board
 Il Board è un’applicazione che simula il
comportamento di una normale applicazione del
livello 2
 Tramite il Board è possibile:
ï‚— Definire un Link ad un PLC
ï‚— Leggere dalla memoria del PLC
ï‚— Scrivere sulla memoria del PLC
ï‚— Lanciare delle funzioni di test
ï‚— Controllare lo stato delle transazioni