Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumSe ho ben capito devi semplicemente dividere un numero impostato da terminale in una zona tampone per un valore costante. Per fare questo basta usare l’operando DIV, lo puoi usare da LD. In alternativa puoi scrivere la divisione direttamente in ST.
STRisultato:=Divisore/10.0; (* Risultato divisione *)
Le variabili STRisultato e Divisore possono essere allocate sia in modo automatico che in memoria DB 100 nel caso debbano essere raggiungibili da terminale operatore tramite protocollo modbus. Allego progetto sogente con i due esempi di calcolo in LD ed in ST (Download).
Sergio Bertana
Amministratore del forumNon mi sono mai giunte lamentele sull’aggiornamento automatico dell’ora tramite il server di tempo NTP. Ho eseguito una prova su di un termometro IP montato nella mia rete (Stessa versione di Firmware di quello da te utilizzato) e tutto funziona regolarmente.
Allego screenshot della pagina web di gestione server time, impostando una data/ora errata e poi agendo sul tasto Sync il termometro STE aggiorna i suoi valori utilizzando quelli acquisisti dal Time server.
Non so che time server hai utilizzato, nel mio test come vedi ho utilizzato time.nist.gov, ma puoi utilizzare anche 0.pool.ntp.org, 1.pool.ntp.org.
Il fatto che da te non funzioni potrebbe dipendere dalla configurazione di rete (Menù General Setup), hai impostato correttamente sia il gateway che il server DNS ?
Sergio Bertana
Amministratore del forumPer il problema del Real Time Clock ti consiglio di definire nelle impostazioni di progetto la sorgente di clock esterna (Vedi post).
Sergio Bertana
Amministratore del forumDal progetto che mi hai inviato vedo che utilizzi l’oggetto Display Eventi in modo Storico in questa modalità questo oggetto visualizza gli eventi presenti nel file storico, ecco perchè devi eseguire la cancellazione dello storico allarmi.
Se definisci nel Modo il valore Tempo-Reale (Screenshot), ottieni quello di cui hai bisogno. In pratica l’oggetto visualizza tutti gli eventi successi dalla acccensione del pannello (Sono memorizzati fino a 200 eventi), poi vengono riscritti quelli più vecchi. Ma in questo caso l’aggiornamento degli eventio sulla pagina avvuene in real time con l’evento e non devi più aggiornare la pagina. Inoltre modificando la lingua ottieni anche la modifica immediata dei testi presenti sulla pagina.
Sergio Bertana
Amministratore del forumL’esempio riporta come dovrebbe essere fatta una gestione di ricette, di solito si definisce una struttura dati con tutti i parametri della ricetta. La struttura dati verrà allocata in area RETAIN, se deve essere accessibile da modbus verrà allocata nella zona tampone della DB100.
Ma il mio è solo un esempio, se tu leggi bene il manuale del blocco funzione FileMemoryDump scopri che non vi sono limiti sull’area di memoria su cui eseguire il dump. Se vuoi salvare una parte oppure anche tutta l’area ritentiva della DB100 basterà definire come MBufferPtr l’indirizzo di inizio dell’area tampone e in MBufferSize la dimensione in bytes che vuoi salvare. Ecco nell’esempio salvi/carichi tutti i 2048 bytes dell’area tamponata.
RMng(); (* Gestione dump memoria *)
RMng.Enable:=TRUE; (* FB enable *)
RMng.Read:=FALSE; (* Comando lettura ricetta *)
RMng.Write:=FALSE; (* Comando scrittura ricetta *)
RMng.Filename:=’Storage/Recipe.txt’; (* Nome file ricetta *)
RMng.MBufferPtr:=ADR(%MX100.2048); (* Pointer buffer parametri *)
RMng.MBufferSize:=2048; (* Dimensione buffer parametri *)Sergio Bertana
Amministratore del forumE’ possibile utilizzare il blocco funzione FileMemoryDump (Manuale utente), il cui scopo è di eseguire il dump di una zona di memoria su di un file su disco e/o di leggere un dump da un file su disco e trasferire i valori in una zona di memoria.
In pratica definita un’area di memoria dove sono allocati tutti i parametri di una ricetta con l’FB è possibile trasferire i valori presenti in quest’area di memoria su di un file su disco salvandoli con il nome della ricetta. E’ possibile quindi avere più files con nomi diversi che contengono le diverse impostazioni di ogni ricetta.
Il file salvato è in formato ascii, quindi è editabile con un comune text editor, accedendo al file system di SlimLine in FTP è possibile trasferire i files di ricetta sul proprio PC e/o viceversa.
Allego un progetto LogicLab che dimostra come realizzare una semplice gestione di ricette, nell’esempio tutti i parametri della ricetta sono stati definiti all’interno di una struttura dati, in questo modo basterà effettuare il dump su disco della intera struttura dati per salvare la ricetta (Stampa programma, Programma sorgente).
Marzo 5, 2012 alle 7:11 am in risposta a: Connessione ethernet a distanza per inverter fotovoltaico #37151Sergio Bertana
Amministratore del forumSe il segnale della rete Wi-Fi presente nella abitazione arriva fino al punto dove è presente l’inverter, puoi sicuramente usare una sola Picostation, la dovrai configurare come station in modalità bridged. Naturalmente devi definire lo stesso SSID e la stessa pasword della tua rete Wi-Fi ed assegnare alla Picostation un indirizzo IP statico nella stessa classe di indirizzi della tua rete.
Attenzione! Le Picostation M2 sono configurate di default per la modulazione 802.11n, se la tua rete Wi-Fi utililizza la modulazione 802.11g devi provvedere ad impostarla con lo stesso tipo di modulazione (Vedi post).
Se invece la potenza del segnale Wi-Fi presente nella abitazione non arriva fino al punto dove è presente l’inverter devi usare la coppia di Picostation per realizzare un bridge una configurata come access point l’altra come station. La Picostation configurata come access point sarà connessa alla rete ethernet in uscita dal router di casa, l’altra sarà connessa alla rete ethernet dell’inverter. In questo caso le due Picostation potranno operare in modalità 802.11n.
Sergio Bertana
Amministratore del forumCome si vede dal post precedente, i dispositivi Ubiquiti operano con tensioni comprese tra tra 12-24 Vdc. Le AirGrid sono fornite standard con alimentatore PoE da 24Vdc. Quindi anche superando i 50 mt di cavo non ci sono problemi per quanto riguarda l’alimentazione.
Sergio Bertana
Amministratore del forumAggiungo che vista la programmabilità del modulo CPU SlimLine, abbinando altri blocchi funzioni disponibili nella vasta libreria del sistema è possibile modificare il progetto per adattarlo alle proprie esigenze. Usando le funzioni di gestione disco, è possibile memorizzare su di un file CSV i numeri di telefono a cui inviare i messaggi, e creare così liste di distribuzione a cui inviare in modo automatico i messaggi. E’ possibile gestire l’invio dei messaggi in automatico su attivazione di ingressi digitali. E’ possibile gestire l’invio con dei comandi da protocollo Modbus, permettendo di realizzare un gateway di inoltro SMS per alltri sistemi in grado di gestire il protocollo Modbus. E’ possibile connettere un pannello operatore TouchScreen e gestire l’inoltro con comandi impartiti dal pannello.
Sergio Bertana
Amministratore del forumLa nuova versione del programma EasyBuiler (Versione 4.5.1) di cui allego le note di rilascio ufficiali. E’ una versione da me utilizzata da un pò di tempo senza alcun problema. Io la stò utilizzando installata in un sistema operativo Windows 7 a 64 bits.
L’unica accortezza è quella di eseguire il programma con i diritti di amministratore, se sul vostro PC è attivo l’UAC (Controllo Account Utente), il programma si installa con sull’icona lo scudo Giallo/Blu di segnalazione esecuzione con diritti di amministratore.
Come vedi dallo screenshot nella mia installazione la gestione allarmi funziona regolarmente.
Febbraio 23, 2012 alle 10:07 am in risposta a: Chiusura barra di selezione veloce “Fast Sel” su MT8100I #37146Sergio Bertana
Amministratore del forumLa barra di selezione veloce è gestita da 3 bit interni.
LB-9013 FS window control[hide(ON)/show(OFF)], Opera sulla finestra selezione veloce
LB-9014 FS button control[hide(ON)/show(OFF)], Opera sul pulsante attivazione finestra selezione veloce
LB-9015 FS window/button control[hide(ON)/show(OFF)], Opera su entrambiQuindi da programma puoi gestendo questi bit ottenere quello che ti serve. E’ anche possibile definire nei settaggi di progetto come deve operare la barra di selezione veloce. Puoi disabilitarla completamente, spostarla di posizione, abilitarla o nasconderla all’avvio del programma (Vedi screenshot).
Attenzione! I pannelli da 4,3″ hanno per definizione la barra di selezione veloce disabilitata. Se si vuole attivare occorre agire nei settaggi di progetto.
Febbraio 23, 2012 alle 9:23 am in risposta a: Uso delle variabili tampone interne al terminale #37144Sergio Bertana
Amministratore del forumAggiungo una nota, quando il pannello opera come master modbus, interroga il PLC ad esso collegato solo per le variabili collegate agli oggetti presenti nella pagina attiva.
Quando opera come slave modbus, siccome è il PLC che deve trasferire il valore delle variabili sul pannello, se si vuole limitare la gestione delle variabili alle sole variabili visualizzate, è possibile acquisire l’ID della pagina attualmente visualizzata leggendo il valore nella LW-9050 (16bit): Current base window ID.
Febbraio 23, 2012 alle 9:08 am in risposta a: Uso delle variabili tampone interne al terminale #37143Sergio Bertana
Amministratore del forumI pannelli Weintek possono essere configurati per gestire il protocollo MODBUS Server (Modbus RTU Slave), in questo modo è possibile realizzare una rete di terminali (Ognuno con il suo ID modbus) ed un PLC master può interrogare (Leggendo e/o scrivendo le variabili) i singoli terminali. In questa configurazione le variabili interne del terminale assumono indirizzo modbus secondo la tabella:
LB dddd 0~9998 Mapping to 0x/1x 1~9999
LW dddd 0~9998 Mapping to 3x/4x 1~9999
RW ddddd 0~55536 Mapping to 3x/4x 10000~65536Se il tuo problema è di gestire nella finestra del terminale oggetti che operano su bit (LB) e vuoi appoggiarli su variabili tamponate RW, devi definire nelle proprietà dell’oggetto (Esempio un Toggle switch), come indirizzo della variabile il tipo RW_bit (Vedi screenshot).
In questo caso il digit più a destra dell’indirizzo rappresenterà il bit su cui opera l’oggetto (In esadecimale da 0 a F), mentre gli altri digit rappresentano l’indirizzo della RW, nell’esempio l’indirizzo 10F, indica che l’oggetto opera sul bit F della RW 10.
Sergio Bertana
Amministratore del forumIl modem Cinterion MC55i Terminal è forse l’unico modem commerciale che preveda una connessione audio in uscita, nel manuale hardware si trovano le indicazioni per la connessione della cornetta telefonica (Estratto manuale). Siemens che è produttrice dell’engine interno al modem rilascia una apposita nota applicativa per la descrizione delle connessioni audio (Audio Interface Design for GSM Applications).
Cinterion consiglia di usare per i test questo: Handset type Votronic HH-SI-30.3/V1.1/0 come descritto nel manuale HW-MC55i.
In merito all’auto answer, il modulo non è in grado di eseguire l’autoanswer su chiamate vocali, può eseguire autoanswer solo su chiamate dati. L’unico modo per rispondere ad una chiamata voce è di connettere un programma di emulazione seriale alla porta RS232 del modulo. Alla ricezione della chiamata verrà ritornata la stringa RING, e se attiva la visualizzazione del CLIP viene ritornato anche il numero del chiamante.
Inviando al modulo la stringa ATA si accetterà la chiamata entrante instaurando la connessione vocale. Per terminare la chiamata basterà inviare la stringa ATH0.Febbraio 21, 2012 alle 11:00 am in risposta a: Configurazione convertitore ethernet/seriale ATC-1000 #37139Sergio Bertana
Amministratore del forumSui convertitori ATC-1000 è stata rilasciata da un certo tempo una nuova versione di Kernel (Versione 1.43), su questa nuova versione è stata modificata l’interfaccia web. Come si vede nel documento allegato la versione di kernel precedente aveva alcune impostazioni suddivise in singole voci di menù. Nella nuova versione di kernel tutte queste impostazioni sono nella pagina principale Administrator Setting.
Quindi le impostazioni di rete (Indirizzo IP, Mask, Gateway) e le credenziali di accesso sono direttamente definibili da questa pagina. -
AutorePost