Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Novembre 13, 2012 alle 3:17 pm in risposta a: Utilizzo moduli di libreria in programmazione ST #37473
Sergio Bertana
Amministratore del forumAggiungo al post precedente che le variabili in ingresso alle funzioni e/o blocchi funzione possono anche esere dichiarate contestualmente alla esecuzione, quindi posso anche dichiarare:
FBData(Address:=0, Channel:=0, Mode:=AD_VOLT_0_10_COMMON); (* Eseguo acquisizione analogica *)
E’ anche possibile dichiarare le variabili in modo misto:
FBData.Address:=0; (* Indirizzo modulo *)
FBData(Channel:=0, Mode:=AD_VOLT_0_10_COMMON); (* Eseguo acquisizione analogica *)Novembre 13, 2012 alle 2:53 pm in risposta a: Utilizzo moduli di libreria in programmazione ST #37472Sergio Bertana
Amministratore del forumLa programmazione in structured text (ST) è molto simile alla tecnica di programmazione utilizzata nei linguaggio C, il linguaggio prevede le condizioni (IF) (CASE) i cicli (FOR) (WHILE) e tutte le operazioni matematiche. Quasi tutti i moduli di libreria sono realizzati in ST, per dare una idea immediata del loro uso sul manuale viene solitamente riportato un esempio in ladder (LD).
L’utilizzo di una funzione o blocco funzione nel linguaggio ST è molto semplice, prendiamo ad esempio il blocco funzione SysGetAnInp, come si vede dall’estratto del manuale, esendo un blocco funzione và istanziato nel programma (Và cioè dichiarata una variabile con un proprio nome di tipo SysGetAnInp). Nell’esempio la variabile ha nome FBData. Per quanto riguarda le funzioni a differenza delle FB non vanno istanziate, quindi si utilizzano nel programma con il loro nome di libreria.
Ora nel programma possiamo indirizzare tutte le variabili in ingresso/uscita della FB definendone il nome seguito dal punto e poi dal nome della variabile:
FBData.Address:=0; (* Indirizzo modulo *)
FBData.Channel:=0; (* Indirizzo canale *)
FBData.Mode:=AD_VOLT_0_10_COMMON; (* Modo di acquisizione *)FBData(); (* Eseguo acquisizione analogica *)
IsDone:=FBData.Done; (* Flag di conversione Ok *)
IsFault:=FBData.Fault; (* Flag di conversione Ok *)
Value:=FBData.Value; (* Valore acquisito *)Sergio Bertana
Amministratore del forumL’interfaccia comandi Telnet della CPU SlimLine prevede 3 livelli di autorizzazione che di default sono definiti:
Accesso amministratore: user: Admin, password: Admin
Accesso utente: user: User, password: User
Accesso ospite: user: Guest, password: GuestLe credenziali sono case sensitive e quindi vanno digitate esattamente come riportate. Ecco lo screenshot della connessione Telnet ad una CPU SlimLine eseguita con Toolly. Digitando ? verrà riportato l’elenco dei comandi disponibili, vi rimando al manuale riferimento comandi Telnet CPU SlimLine per un elenco dettagliato.
Sergio Bertana
Amministratore del forumIl tipo di comunicazione è automatico dipende da come si connette, quindi puoi utilizzarne uno in RS232 e l’altro in RS422/485 (Naturalmente se lo connetti in RS422/485 la RS232 deve esere scollegata).
Per eseguire dei tests di funzinamento, ti consiglio di connettere i due apparati in RS232 a due PC posti ad una decina di metri uno dall’altro e con il programma Toolly, inviare i dati su di un apparato e verificarne la ricezione dall’altro. Se funzione in RS232 potrai poi passare ad effettuare prove in RS485.
Sergio Bertana
Amministratore del forumLa richiesta di conferma operazione sui tasti permette di attivare una finestra in pop-up quando si opera sul tasto (Screenshot), in questo modo si previene dalla pressione involontaria del tasto. L’operatore dovrà premere il tasto OK sul pop-up di conferma per attivare la funzione connessa al tasto.
A diffderenza di altri pop-up che visualizzano pagine predefinite e modificabili da EasyBuilder, il pop-up di conferma appartiene ai messaggi di sistema, questi messaggi hanno dimensione e forma predefinite mentre per quanto riguarda i messaggi che compaiono è possibile modificarli dal menù Oggetti -> Messaggi di sistema (Screenshot).
Novembre 7, 2012 alle 9:48 am in risposta a: Utilizzo di LogicLab per la programmazione dello SlimLine #37465Sergio Bertana
Amministratore del forumLa ditta Axel sviluppa il programma LogicLab che poi viene utilizzato dai produttori di apparati per la programmazione. Il software scaricabile dalla Axel permette la sola simulazione su PC ma non la programmazione dei prodotti.
LogicLab viene poi da noi ripreso con l’aggiunta dei drivers di comunicazione e con le informazioni per la programmazione dei nostri dispositivi oltre all’aggiunta nel pacchetto di installazione delle librerie e dei programmi di esempio. Quindi per programmare i nostri prodotti occorre necessariamente scaricare il software dal nostro sito.
In merito alle versioni noi operiamo una ricodifica per tenere conto delle variazioni inserite, ma se noti nella pagina di download o se visualizzi l’about del software, trovi anche l’indicazione della versione di riferimento così come rilasciata da Axel. La versione attuale è la 1.8.0.0 basata sulla versione 2.18.0.3 della Axel (Screenshot).
Operiamo un upgrade della versione nel caso ci siano variazioni sulle nostre librerie software o nel caso Axel abbia implementato bug fixes o migliorie di particolare importanza. A titolo informativo siamo già in fase avanzata di test di una nuova versione di LogicLab basato sulla versione 3.2.0.18 di Axel, appena saranno conclusi i test la versione sarà disponibile per il download.
Novembre 7, 2012 alle 9:11 am in risposta a: Problemi durante upload remoto da terminale Weintek #37463Sergio Bertana
Amministratore del forumLa procedura è corretta e sinceramente non capisco perchè debba darti quel tipo di errore in quanto l’upload esegue il trasferimento del programma dal terminale al PC e a quanto ne sò non dovrebbe fare ulteriori controlli (Ma probabilmente scopro ora che opera qualche controllo sul file).
Mi dici che hai il file XOB, non mi dici se hai provato a decompilarlo. Ti consiglio di provare a decompilarlo da Easy Builder (Screenshot), può essere che si riesca comunque a generare il file MTP di progetto e poi al limite hai qualche problema di font mancante che puoi cercare di risolvere nel progetto (Vedi post).
Novembre 6, 2012 alle 2:27 pm in risposta a: How to write a file by using a simple serial connection #37462Sergio Bertana
Amministratore del forumPremised that is simpliest to use the FTP connection to operate over the files, anyway your idea could be a good solution if you need only to write the file, copying it from a PC. A CSV file can be edited by a standard text editor and this allow to add the “^” character at the begin and “$” character at the end of CSV data. Then some simple terminal emulation programs (Ie Toolly), allow to send the file over the serial line. About your questions.
SlimLine has a 256 bytes buffer the serial line incoming characters (One buffer for each serial port). So the received characters are automatically stored on it and preserved through the running loop. The program has to check if some characters are arrived and transfer them from the incoming buffer to the file. The buffer capability is enough to give time at the program to transfer the characters without the risk of loosing some of them.
There’s no locking mechanism on the file, when the program rewrites the file with the new data incoming from the serial line, all the others operations on the same file must be stopped.
I’ve developed a simple program that meet your needs (Program print, Source code).
Novembre 6, 2012 alle 11:25 am in risposta a: Informazioni settaggi convertitore Wi-Fi seriale ATC-2000WF #37461Sergio Bertana
Amministratore del forumIn merito alla tensione di alimentazione, il modulo accetta tensioni da 9 a 36 volt (Naturalmente in corrente continua), quindi puoi tranquillamente alimentarlo a 24 Vdc. L’alimentazione può essere fornita sia attraverso morsetti estraibili, che tramite alimentatore 9Vdc incluso nella fornitura (jack 2.1mm).
Se vuoi alimentarlo con una tua sorgente a 24 Vdc puoi connetterla ai pin VIN+ e VIN- del connettore estraibile, oppure usare un cavo con jack a 2.1 mm.
Novembre 6, 2012 alle 9:37 am in risposta a: Informazioni settaggi convertitore Wi-Fi seriale ATC-2000WF #37460Sergio Bertana
Amministratore del forumIl convertitore Wi-Fi seriale ATC-2000WF è basato sul modulo WIFLY GSX della Roving Networks, sul manuale utente del modulo (Scaricabile dalla pagina web del nostro sito) sono riportati tutti i comandi di configurazione con le relative note di spiegazione.
Il comando set uart flow 1, attiva il controllo di flusso sulla porta seriale, quindi come indicato dalle note del manuale è evidente che se il segnale CTS in ingresso sul connettore non è attivo (Pin a livello basso) il convertitore non invia caratteri sulla porta seriale.
set uart flow <0,1>: sets the flow control mode. Default=0=Disabled, 1= hardware RTS/CTS. NOTE: Once flow control is enabled, it is important to properly drive the CTS pin (active LOW enabled) If CTS is HIGH, data will NOT be sent out the UART, and further configuration in command mode will be problematic as no response will be received.
Il comando set uart instant <rate> imposta il baud rate immediatamente, ma è da usarsi solo per scopi di test, per impostare il baud rate si deve utilizzare il comando set uart baud <rate>.
set uart baud <rate>: set the UART baud rate. Valid settings are (2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600).
Il comando set uart raw <rate> permette di impostare baud rates non compresi nello standard. Il comando set uart mode <value> permette di configurare azioni speciali sul funzionamento dell’UART del modulo (Vedi il manuale).
Il comando set uart tx <0, 1>, permette di disabilitare il pin Tx dell’UART.
set uart tx <0, 1>: Disables or enables the TX pin= PIO10 of the UART. Disable will set PIO10 to an INPUT with weak pulldown.
Sergio Bertana
Amministratore del forumSi il convertitore PT100-RS485 che tu riporti, esegue effettivamente l’acquisizione di due sonde Pt100 il valore di temperatura acquisito potrà poi essere letto tramite una connessione RS485. Più convertitori possono essere connessi sulla stessa rete RS485 ed indirizzati dal protocollo.
Nel caso in cui le sonde Pt100 o Pt100 da acquisire fossero molte e tutte raggruppate nella stessa zona è possibile utilizzare i nostri prodotti SlimLine. Abbinando ad un modulo CPU ARM7 uno o più moduli analogici (Ogni modulo analogico può acquisire fino a 10 sonde) è possibile gestire un numero elevato di sonde. Il valore di temperatura acquisito potrà poi essere letto tramite il protocollo modbus RTU e/o Ascii.
Per quanto riguarda le informazioni sui prezzi si rimanda a quanto detto in questo post.Sergio Bertana
Amministratore del forumTo acquire the logic inputs on the CPU module these two functions can be used:
bool_t eGetInp00(void);
bool_t eGetInp01(void);To acquire the inputs from an extension module connected to the SlimLine bus use the function:
bool_t eSLineDInp(uint8_t Module, eSLDIOMODE Mode, bool_t Filter, void* Value);
To set the logic output on the CPU module these two functions can be used:
void eSetOut00(bool_t Sts);
void eSetOut01(bool_t Sts);To set the outputs on the extension module connected to the SlimLine bus use the function:
bool_t eSLineDOut(uint8_t Module, eSLDIOMODE Mode, void* Value);
The eSLDIOMODE is an enum defined in the ElSLLinux.h file. Refer to the PTP127*000 example to better understand how to manage the I/Os.
Sergio Bertana
Amministratore del forumThe Linux installed on the SlimLine ARM9 CPU module is a Linux embedded – kernel 2.6.31 karo-axel, more information can be reached from the developer’s site. The BusyBox bash and some other applications are installed. There is no linux graphical manager installed on it. About the code example, we supply a VMware virtual machine with Ubuntu Linux installed and all the tools needed to develop software for the SlimLine CPU. The ElSLLinux library contains the functions to manage all the hardware resources of the system such as serial ports, logical I/Os etc.Unfortunately there isn’t any written documentation about it, but by downloading the PTP127*000 example program from the the FAQ page you can see how it manages the SlimLine hardware.
Ottobre 30, 2012 alle 2:07 pm in risposta a: Connessione multicast su convertitori Ethernet/Seriale #37456Sergio Bertana
Amministratore del forumLa rete raffigurata nel tuo schema è una classica rete multicast, l’unico convertitore che può realizzarla è l’ATC-1000, che come riportato nei posts precedenti può connettersi fino a 10 altri convertitori in UDP.
I dati ricevuti dalla seriale del convertitore connesso al PC verranno inviati a tutti gli altri convertitori che li ribalteranno sulla loro seriale. Essendo il protocollo Modbus un protocollo Master/Slave ad indirizzamento, solo il dispositivo a cui il pacchetto Modbus è destinato risponderà. Il dato seriale ricevuto dal convertitore connesso al dispositivo verrà inviato al convertitore connesso al PC che lo riceverà come risposta.
Sergio Bertana
Amministratore del forumL’ATC-2000WF è un convertitore WiFi/Seriale 802.11 b/g e quindi compatibile con tutte le reti WiFi che operano sullo stesso standard (Lo standard 802.11 g è lo standard più utilizzato).
Mentre l’ATC3200 è un radiomodem ZigBee, permette di realizzare connessioni seriali tramite wireless, ma devi utilizzare due prodotti. In pratica due ATC-3200 sostituiscono il cavo RS232.
Quindi la soluzione adatta alla tua applicazione può essere l’ATC-2000WF oppure come riportato nei posts precedenti l’accoppiata Picostation e convertitore Ethernet/Seriale. Il problema è come il tuo software su PC vede la connessione, se il software esce su di una porta seriale devi installare un apposito software di VirtualCOM, tutti i convertitore Ethernet/Seriali ne hanno uno disponibile, per l’ATC2000WF guarda qui.
La soluzione migliore però sarebbe evitare di utilizzare il software di VirtualCOM indirizzando direttamente il convertitore (Con indirizzo IP e porta) ma occore veerificare che il software che si utilizza su PC preveda questa possibilità.
-
AutorePost