Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumNon è così semplice come hai espresso nel post, cerco di spiegare come il modulo CPU SlimLine gestisce la comunicazione seriale. Il sistema operativo esegue una bufferizzazione dei dati ricevuti dalla porta seriale in un buffer circolare da 256 bytes, eventuali errori di ricezione provocano lo scarto del carattere ricevuto ma non forniscono indicazione.
Questa soluzione è stata scelta perchè già utilizzata storicamente su altri nostri prodotti, le porte seriali sono normalmente utilizzate per gestire protocolli di comunicazione e nei protocolli vi è sempre la possibilità di intercettare eventuali errori di ricezione (Conttrollando un CRC, inserendo nel frame caratteri di controllo STX, ETX, ecc.).
Quindi non è possibile intercettare il BREAK, cercando velocemente su Internet ho trovato un convertitore DMX to Seriale (Vedi datasheet) magari affidandosi ad un prodotto del genere puoi risolvere il problema di ricezione dei comandi DMX.
Sergio Bertana
Amministratore del forumAttualmente non abbiamo la possibilità di gestire il protocollo DMX in modalità slave. Nella libreria dei prodotti SlimLine abbiamo il blocco funzione SysDMXMng che è in grado di gestire il protocollo DMX in modalità master, purtroppo non abbiamo mai sviluppato la modalità slave.
Potendo gestire il bus DMX non ci sarebbero problemi per il formato dati ma per gestire il DMX in modalità slave occorre una modifica del sistema operativo, per riconoscere il break (22 bit a livello basso per una durata complessiva di 88 microsecondi) occorre agire a livello assembler nel sistema operativo.
Termino la risposta dicendo che non ci sono problemi per il dialogo in modbus RTU con l’azionamento brushless, il blocco funzione ModbusRTUMaster_v1 può gestire tranquillamente la comunicazione.
Non abbiamo moduli CPU con due porte RS485 ma è possibile utilizzare dei semplici ed economici convertitori da RS232 a RS485, vedi convertitori Seriale/Seriale.
Maggio 27, 2013 alle 1:12 pm in risposta a: Invio SMS con testo e variabili suddiviso su più righe #37653Sergio Bertana
Amministratore del forumIl blocco funzione ModemSMSSend_v1 esegue l’invio di un testo che può essere costruito aggiungendo stringhe. La funzione SysVarsnprintf permette di costruire stringhe con valori di testo seguiti dal valore di una variabile, sommando in una variabile STRING il risultato di tante funzioni SysVarsnprintf è possibile realizzare quello che hai bisogno.
Aggiungo che per forzare la scrittura su di una nuova linea del testo SMS occorre inviare il carattere ‘$n’ (Line-feed). Ecco la stampa di un semplice programma che invia un SMS su 3 righe di testo (Download programma).
Maggio 23, 2013 alle 12:36 pm in risposta a: Definizione e visualizzazione tempo di un timer su SlimLine #37650Sergio Bertana
Amministratore del forumHo realizzato un semplice programma di esempio che esegue quello che tu hai chiesto. Sullo SlimLine come si vede dalla stampa tramite un semplice programma ladder utilizzando due timers gestisce il lampeggio di una uscita logica. Lo stato della uscita logica è anche appoggiato sulla variabile BOOL HMILamp che sarà visualizzata sul terminale.
Le variabili SetOffTime e SetOnTime impostate dal terminale permettono di definire i tempi di Off e di On del lampeggio espressi in mS. Siccome sono parametri di set ho allocato queste variabili nella zona tampone pertanto mantengono il loro valore allo spegnimento del sistema.
Le variabili RealOffTime e RealOnTime sono lette dal terminale e visualizzano il tempo che trascorre espresso in mS. Se in alternativa al tempo che trascorre si desidera visualizzare il tempo che manca, nel programma SlimLine occorrerà sottrarre dal tempo di set il tempo trascorso ed appoggiare il risultato in variabili che poi saranno visualizzate sul terminale.
Nel programma del terminale ho definito delle tags che identificano le variabili sul programma SlimLine, nel file Tags.csv è possibile definire le variabili anche con un normale text editor e poi dal programma EasyBuilder si possono importare (Menù Libreria -> Tag -> Importa CSV). Allego i programmi sorgenti sia dello SlimLine che del terminale (Download).
Sergio Bertana
Amministratore del forumThe most important feature of the integrated web server in SlimLine is the ability to handle dynamic pages. A dynamic web page is a page whose content, in whole or in part, is generated by the server on demand, and therefore can be different each time it is requested, thus allowing interactivity with the user.
Hence it will be possible to create a page that lists and allows to change the value of PLC variables. I enclose an abstract from the manual IEC61131-3 SlimLine system that covers the subject (Abstract download).
Sergio Bertana
Amministratore del forumAfter setting the IP address the SlimLine CPU module will be accessible by TCP/IP as any modules connected to the network. For example, typing in the address bar of a browser the IP address of the module (Example 192.168.1.122) we can display the configuration web page (See screenshot).
Similarly we can access to it from LogicLab with Modbus TCP connection on port 502, from Telnet on port 23 and FTP on port 21. By accessing in FTP in Windows Explorer (ftp://admin:[email protected] in the address bar) we can see the file system of the CPU module (See screenshot).
Sergio Bertana
Amministratore del forumAll the SlimLine CPU modules and also the Compact, have a mini USB connector (Device mode), by connecting this to the PC USB host port it’s possible to activate the RNDIS driver on the PC. The Remote Network Driver Interface Specification (RNDIS) is a Microsoft proprietary protocol used mostly on top of USB. It provides a virtual Ethernet link to most versions of the Windows operating system.
The RNDIS is native in Windows 7 and later. On Windows XP and Vista is prompted for a driver. The necessary drivers can be found in RndisSetup or DriversElsistUsbRNDIS folder in the installation path of the LogicLab program. After installation connecting the SlimLine module to the PC we will find a new network adapter connected to the module. From the control panel Network Interfaces, you can view the network card installed (See screenshot). From the properties must be defined the network address assigned to the new card (By default RNDIS connection on the SlimLine CPU module has IP address 192.168.1.122), so I recommend you to assign the address 192.168.1.10 (See screenshot).
In setting the IP be careful to not define a class of network that is in conflict with any existing network card.Sergio Bertana
Amministratore del forumImpostando nella finestra di definizione dei logs il tick di selezione file storici è possibile forzare il salvataggio delle condizioni di Allarme/Evento su di files storici nel supporto di memorizzazione selezionato (Screenshot). E’ possibile anche definire per quanti giorni devono essere mantenuti i logs, il terminale crea un file ogni giorno con la lista dei logs, è possibile eseguire l’accesso in FTP al terminale per la lettura del file (Vedi post).
L’oggetto di visualizzazione eventi se impostato in modalità Tempo-reale visualizza gli eventi quando avvengono, ma se si spegne il terminale la storia degli eventi viene persa. Se si imposta in modalità storico (Screenshot) visualizza solo gli eventi storici relativi al file indicato dalla variabile Controllo storici (Nell’esempio LW 0). In pratica questa variabile indica quale dei file storici deve essere visualizzato, per la corretta impostazione della variabile occorre utilizzare l’oggetto pulsante opzioni (Screenshot) definendo nel campo Monitorizza indirizzo la stessa LW 0.
Nella pagina terminale il pulsante opzioni permette di visualizzare un elenco dei files storici presenti nel terminale e di scegliere quello desiderato il cui contenuto verrà visualizzato nella finestra logs (Screenshot). La finestra di log si aggiorna solo su selezione di un nuovo file storico od entrando nella finestra. Quindi se è selezionato il giorno corrente, per vedere i nuovi eventi occorre uscire e rientrare nella pagina. Allego un programma di esempio che si connette in Modbus TCP con un nostro modulo CPU SlimLine (Download programma).
Sergio Bertana
Amministratore del forumCome spiegato precedentemente, per acquisire il valore delle Pt100 si fa passare al loro interno una corrente molto bassa generata dalla scheda (Uscita su morsetto IExc) e si acquisisce la caduta di tensione ai suoi capi. Detto questo è evidente che il circuito elettrico che fa fluire la corrente và chiuso, quindi un capo della Pt100 deve essere portato a AGnd.
Nel tuo caso avremo IExc=Filo rosso, Ai00=Filo rosso, il filo bianco lo dovrai collegare sia ad Ai01 che AGnd. Siccome l’altro canale di acquisizione rimane libero consiglio di collegare Ai02 ed Ai03 ad AGnd.
Questo tipo di collegamento però non compensa la caduta di tensione tra la Pt100 e l’ingresso Ai01 in quanto la corrente fluisce attraverso un unico filo (Filo bianco). Se la distanza è grande oltre qualche metro e se desideri avere una accuratezza di lettura elevata consiglio di collegare in prossimità della Pt100 sul filo bianco due fili, uno lo collegherai all’ingresso Ai01 e l’altro a AGnd.
Sergio Bertana
Amministratore del forumRicapitolando hai una rete di 8 inverter in RS485 e ne vuoi aggiungere un altro nella rete utilizzando una connessione tramite radiomodem ATC-3200. Quindi in un qualunque punto della tua rete RS485 puoi inserire un radiomodem che dialoga con un altro radiomodem connesso al nono inverter.
Siccome ogni inverter avrà il suo indirizzo di nodo quando il datalogger interroga il nono inverter l’inverter risponderà inviando indietro i dati sul radiomodem connesso alla rete che li invia in RS485 al datalogger. Se è tutto così come ho riportato non dovrebbero esserci problemi di funzionamento.
Da tenere presente, la configurazione del radiomodem baud rate, bit di dato, parità sono corretti, corrispondono a quelli della rete RS485. L’inserimento di un radiomodem tra il datalogger introduce un minimo di ritardo sulla comunicazione, non è che il datalogger ha un controllo troppo restrittivo sui tempi di risposta dell’inverter.
Maggio 13, 2013 alle 4:06 pm in risposta a: Visualizzare all’accensione pagina con logo azienda #37640Sergio Bertana
Amministratore del forumE’ più facile realizzare quello che necessiti che spiegarlo, quindi ho preparato un progetto in cui troverai la soluzione del tuo problema (Download progetto).
Per l’immagine di logo credo tu utilizzi un oggetto immagine all’interno di una pagina, questa pagina è quella definita come pagina iniziale nelle impostazioni di progetto. Alla accensione il terminale visualizzerà questa pagina (Nel mio esempio pagina 10), all’interno di questa pagina un pulsante imposta bit (Non visibile) attiva una macro ogni secondo.
Nel menù Controlli PLC ho inserito un controllo di cambio pagina (Screenshot), scrivendo il numero di pagina desiderato nella LW 0 il terminale visualizza la pagina definita ed azzera la LW 0.
La macro controlla il tempo e quando è trascorso il tempo desiderato (Nel mio esempio 5 secondi) scrive nella LW 0 il numero di pagina desiderato (Nel mio esempio 12) ed il terminale visualizza la pagina 12. Ecco il listato della macro.
macro_command main()
short Timer, Page=12
Timer=Timer+1if (Timer >= 5) then
SetData(Page, “Local HMI”, LW, 0, 1)
end ifend macro_command
Sergio Bertana
Amministratore del forumI write to you an example how to develop a simply FBD program, that copies a logic input on a logic output. To do it you you cannot simply connect the logic input to the output, you have to use the MOV instruction.
In the example program, I have also written the MyFunction function, this to explain to you how is possible to write the own functions or function blocks, and then use them (Any times it’s needed) in the programs.
It’s obvious that you can manage the I/Os in any of the 5 languages provided by the IEC61131 norm, but normally it’s better to write the logic sequencies in the IL or LD languages (Example program Printout, Download).
Maggio 2, 2013 alle 1:25 pm in risposta a: Connessione con I/O distribuiti TRP via modbus RTU #37636Sergio Bertana
Amministratore del forumSi certo la soluzione che hai prospettato è realizzabile, in questo post puoi trovare un esempio di come gestire da SlimLine i moduli di I/O distribuito tramite Modbus. Acquisiti i moduli appoggerai gli I/O su variabili di memoria dello SlimLine accessibili da Modbus. Il PC può essere connesso in Ethernet e lo stato degli ingressi acquisito tramite modbus TCP, utilizzando ad esempio un software SCADA (Vedi post), un applicativo sviluppato con ProfilabExpert (Vedi post) oppure un applicativo sviluppato ad Hoc con il linguaggio di programmazione da te conosciuto. Se lo sviluppo del protocollo modbus TCP è troppo complesso puoi sviluppare un protocollo di comunicazione calibrato sulle tue esigenze (Vedi post). Se devi solo visualizzare lo stato dei campanelli, in alternativa al PC ti consiglio l’utilizzo di un pannello operatore touch screen che ha già nativa la gestione del protocollo modbus TCP, inoltre volendo puoi gestire il suono del buzzer ed anche visualizzare lo storico di intervento dei campanelli. Il pannello può gestire anche storici su file permettendo di avere un report degli interventi dei campanelli relazionato con data/ora.
Sergio Bertana
Amministratore del forumAbbiamo effettuato diverse installazioni del driver RNDIS su sistemi Windows XP senza particolari problemi, naturalmente sono sistemi XP aggiornati al service pack III.
Per la connessione in seriale in questo post trovi lo schema del cavo di connessione ed in questo post trovi le informazioni su come effettuare la connessione.
Aprile 18, 2013 alle 6:01 am in risposta a: Normativa italiana per utilizzo dispositivi wireless LAN #37633Sergio Bertana
Amministratore del forumHo analizzato meglio il problema anche documentandomi su forums che trattano l’argomento ed in effetti sembrerebbe che nel caso della Picostation seppure l’antenna è compresa nella confezione occorra comunque impostarne il guadagno.
Quindi occorre definire nel campo Antenna Gain il valore di 6dBi che è il guadagno dell’antenna presente nella confezione. A questo punto se fissi il campo Auto Adjust to EIRP Limit avendo scelto l’Italia come paese la potenza di uscita viene fissata a 14 dBm.
-
AutorePost