Elsist Electronic systems since 1983   Italiano  Italian Flag   
 
 
ELSIST - Electronic Systems since 1983 SlimLine series PLCs  - Automation made in Italy Touchscreen HMIs Interface conversion Wireless LAN solutions GSM/GPRS/UMTS products and solutions IP monitoring solutions
 LOGIN  
Username
Password
 Remember data
Allows to register Register now
Allows to subscribe to the newsletter Newsletter subscription
Allows emergency site access Forgot your password?
 GO TO TOPIC
 NEWS
View recently updated pages New/revised pages
View new products New products
View new downloads New downloads
View new posts on forum New Forum posts
 SERVICES
Sends an Email with infos request Info request
Displays the quote request form Quote request
 SHOWCASE
Bullet M5 Titanium
Bullet M5 Titanium
600381 HWg-STE IP Thermometer
600381 HWg-STE IP Thermometer
Reader ProxPoint Plus 6008BKB00
Reader ProxPoint Plus 6008BKB00
AirCam Dome - IP Camera Ceiling mount
AirCam Dome - IP Camera Ceiling mount
EDGE 4-band ER75i v2 Basic Router (Plastic case)
EDGE 4-band ER75i v2 Basic Router (Plastic case)
SlimLine  MT6050iV3 4.3" TFT Touch screen HMI
SlimLine MT6050iV3 4.3" TFT Touch screen HMI
MDR-20-24 24Vdc 20W Power Supply
MDR-20-24 24Vdc 20W Power Supply
DL169 VHF Radiomodem
DL169 VHF Radiomodem
600533  I/O Controller II
600533 I/O Controller II
NanoStation Loco M5 AirMax
NanoStation Loco M5 AirMax
 OFFERS Go to offer page 
NETSYST 20IO extension module (Relay) 3rd series
NETSYST 20IO extension module (Relay) 3rd series
€ 174.00
Price reduced € 159.00
 You are here: Forums list  IEC61131-3 Programmable controllers: SlimLine (L... and information  Come scrivere ... "HelloWorld" Add page to favourites Send this page by email Print this page
Messages list
  FORUM
SlimLine (Linux), news and information
Latest news and useful information on SlimLine (Linux) family products
 Discussion
Come scrivere il mio primo programma "HelloWorld"
Informazioni su come scrivere un semplice programma "HelloWorld" in c su SlimLine Linux
Author:  Bertaser Date (GMT):  21/04/2012 08:02:41
Flags Message
Messaggio in Italiano
 
Date (GMT):  21/04/2012 08:02:41  
Author:  Bertaser
Il modulo CPU SlimLine Linux è basato su di un modulo Computer on Modules (CoMs) prodotto da Karo. Viene da noi fornito con il sistema operativo già preinstallato linux embedded - kernel 2.6.31 karo-axel con busybox, bash ed applicativi vari e nessun gestore grafico linux. All'avvio il sistema esegue il boot-loader RedBoot che installa il kernel Linux.
 
Connettere un programma di emulazione terminale seriale (Esempio Toolly in Windows o Putty in Linux), configurato a 115200, e, 8, 1 alla porta seriale COM0 del modulo CPU SlimLine. Alla accensione del modulo sul terminale è possibile avere un report delle operazioni eseguite durante lo start-up. Si vedrà qualcosa come:
 
RedBoot> fis load linux
..

Uncompressing Linux...................................................................................................................... done, booting the kernel.
Linux version 2.6.31 (gcc version 4.4.1 (GCC) ) #7 PREEMPT Wed Nov 30 10:48:25 CET 2011
CPU: ARM926EJ-S [41069264] revision 4 (ARMv5TEJ), cr=00053177

...
 
Se la scheda è connessa alla rete ethernet ed è presente in rete un server DHCP, il modulo chiederà un lease di un indirizzo IP al server e si configurerà con l'IP assegnato. Per conoscere l'IP occorre visualizzare tutte le informazioni ritornate dalla porta seriale e ricercare quelle riferite al DHCP. Avremo qualcosa del tipo:
 
dhcpcd[1150]: eth0: broadcasting for a lease
dhcpcd[1150]: eth0: offered 192.168.0.86 from 192.168.0.1
dhcpcd[1150]: eth0: acknowledged 192.168.0.86 from 192.168.0.1
dhcpcd[1150]: eth0: checking for 192.168.0.86
dhcpcd[1150]: eth0: leased 192.168.0.86 for 86400 seconds

 
Quindi a questo punto possiamo abbandonare la connessione seriale e raggiungere il nostro modulo da rete ethernet all'indirizzo assegnato (Nell'esempio è il 192.168.0.86). A tutte le successive accensione il modulo riceverà sempre dal server DHCP lo stesso indirizzo IP.
Messaggio in Italiano
 
Date (GMT):  21/04/2012 08:41:46  
Author:  Bertaser
Per lo sviluppo dei programmi è necessario utilizzare un PC Linux (Macchina virtuale VMware fornita da Elsist) od un qualunque PC Linux con tutti gli applicativi necessari installati. Da una shell di comandi è possibile connettersi in Telnet con la scheda semplicimente digitando Telnet seguito dall'IP, ci si troverà connessi all'interfaccia comandi della scheda (Vedi screenshot). Con i comamdi ls si può eseguire il listing della directory corrente e con il comando cd data ci si può portare sulla directory data dove sarà trasferito il nostro primo programma.
 
Per la realizzazione del programma utilizziamo CodeLite, un open-source, cross platform IDE per C/C++. Il programma è la classica stampa della stringa hello world. Forniamo un progetto CodeLite con i files sorgenti, basterà compilarlo per avere nella directory Debug il file HelloWorld da trasferire sulla CPU SlimLine (Download progetto).
 
Per il trasferimento occorre utilizzare un qualsiasi client FTP (Esempio FileZilla), ma nel nostro progetto di esempio abbiamo configurato CodeLite ad eseguire lui stesso il trasferimento via Ftp al termine della compilazione del progetto. Agendo con il tasto destro del mouse sul nome del progetto e selezionando Settings si aprirà la finestra con i settaggi, nel comando di Post-Build viene invocato il comando Ftp del file eseguibile sulla CPU all'indirizzo IP definito nella directory data (Vedi screenshot).
Messaggio in Italiano
 
Date (GMT):  21/04/2012 09:18:33  
Author:  Bertaser
Eseguita la compilazione de il trasferimento del progetto sulla CPU SlimLine da Telnet è possibile verificare che il file eseguibile sia effettivamente stato trasferito nella directory data del sistema ed abbia tutti gli attributi di esecuzione necessari per essere eseguito. Con il comando ls -l è possibile visualizzare gli attributi del file, ed eventualmente con il comando chmod 777 HelloWorld è possibile assegnare gli attributi di esecuzione.
 
A questo punto digitando ./HelloWorld seguito da return il programma viene eseguito e la scritta hello world ritornata dal sistema (Vedi screenshot).
Messaggio in Italiano
 
Date (GMT):  13/06/2012 07:59:42  
Author:  sbridi
Ok, fino all'HelloWorld mi sembra chiaro... Poi, dove è possibile reperire documentazione/tutorial/manuali specifici relativi alla programmazione in "C" per il modulo ARM9 ? Non mi riferisco tanto alla programmazione in "C" ma alle librerie da utilizzare per operare con ingressi/uscite ?
 
E' possibile testare qualcosa con qualche emulatore o devo per forza avere il modulo cpu fisico per fare qualche esperimento ? Lo stavo valutando per un'utilizzo in home-automation (casa mia) e mentre sono abbastanza ferrato su Linux/Reti/... dei PLC ricordo qualcosa di LADDER e basta e quindi ero più propenso verso la soluzione "Open".
Messaggio in Italiano
 
Date (GMT):  10/08/2012 13:56:05  
Author:  Bertaser
Stiamo procedendo nella stesura della libreria di supporto al sistema SlimLine, la libreria che è denominata "eSLLinuxLib" è attualmente disponibile in versione beta. Ho realizzato un semplice progetto con CodeLite per generare un eseguibile, che utilizzando la libreria (Fornita con il progetto) permette di gestire gli I/O logici sul bus di espansione.
 
L'esempio con un semplice menù di comandi da telnet permette di leggere gli ingressi logici, attivare le uscite logiche, ed attivare un thread per la gestione del lampeggio di una uscita logica (Download programma sorgente).
 
Purtroppo non esiste un emulatore dell'hardware, pertanto per testare il programma bisogna disporre del modulo CPU SlimLine ARM9 (Linux Open).
Page:  (1)  2      
 © Copyright 1996-2013 ELSIST Srl - VAT ID: IT01122830068