Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumIl consiglio è di definire un tipo dati (Esempio PARAMETERS di 32 WORD) per contenere tutti i parametri dei vari dispositivi. Poi si potrà allocare nella DB 100 un array di 20 di questo tipo dato per contenere i parametri di tutti i dispositivi (Screenshot).
L’allocazione nella DB 100 è obbligatoria per poter gestire i dati da pagina Web. L’accesso ai singoli parametri di ogni dispositivo da linguaggio ST è possibile utilizzando la tecnica dell’accesso a matrici (Topic). Ecco gli statrements da scrivere:
Value:=Devices[2, 3]; (* Leggo valore del parametro 3 del dispositivo 2. *)
Devices[10, 20]:=Value; (* Scrivo valore del parametro 20 del dispositivo 10. *)Sergio Bertana
Amministratore del forumLa soluzione 2 si potrebbe approcciare con il WDS, puoi configurare la Picostation come Acces point WDS, per ripetere il segnale dell’acces point principale (Topic). Ma il WDS a volte nasconde problemi di compatibilità quindi andrebbe testato con le tue telecamere.
Ma mi domando perchè hai scelto di mettere l’access point a terra, non potretsti ribaltare il concetto e configurare come access point la Picostation sul trasloelevatore e configurare come station quella a terra connessa alla rete LAN aziendale ? In questo modo le telecamere potrebbero connettersi tranquillamente.
Ottobre 28, 2015 alle 7:49 am in risposta a: Gestione caldaia da Web con curva temperatura mandata #39117Sergio Bertana
Amministratore del forumVediamo se il modulo CPU Compact Ethernet può soddisfare le tue esigenze, il problema maggiore è l’acquisizione di temperatura esterna.
Per l’acquisizione NTC, dalla tabella delle caratteristiche si vede che il range di resistenza varia da 776KΩ (-40 °C) a 1700Ω (86 °C), questo range elevato di variazione può essere un problema. Gli ingressi analogici del modulo CPU (Range 0÷10V) hanno una impedenza bassa (13,3 KΩ) quindi un partitore resistivo con l’NTC ed una resistenza da 10KΩ alimentato a 10 V darebbe una variazione di tensione in ingresso da 5,6 a 1,5 Volt. Se si considera il range ipotetico di utilizzo da (160KΩ a -15 °C) a (10KΩ a 40°C) avremo una variazione di tensione da 5,5 a 3,6 Volt. Quindi in 2 Volts ti giochi tutto il range di temperatura, considerando che il convertitore A/D ha solo 10 bits (10 mV a bit) hai 204 bits di risoluzione (0,26 °C a bit). Tutto questa teoria sperando di non avere fatto errori ti dà una idea della acquisizione, vedi questo topic per come utilizzare l’FB ResistorValue. Per la linearizzazione dovresti poi utilizzare la FB Linearize definendo i vari punti della curva (In questo topic la acquisizione di un NTC).
E’ ovvio che se utilizzassi un modulo espansione 20I/O mixed signal potresti acquisire 2 Pt100/Pt1000 con cui acquisire sia la temperatura esterna che quella di mandata avresti tutto già pronto ed il FB SysGetAnInp ti ritorna il valore già in gradi.
Per la curva di calcolo della temperatura di mandata in funzione della temperatura esterna puoi anche qui utilizzare la FB Linearize definendo i punti della curva, in questo topic si tratta l’argomento.
Per l’interfaccia web vedi i topics che trattano l’argomento esempio questo.
Sergio Bertana
Amministratore del forumAllora deve funzionare…Hai provato ad invertire i due file della RS485, molte volte è solo nell’errato collegamento della seriale il problema. Per capire dove è il problema dovresti spiare la comunicazione seriale (Ecco perché nel FB sullo SlimLine abbiamo inserito il comando di SpyOn) in questo topic viene spiegato come spiare un RS232. Per la RS485 è ancora più facile, basta avere un adattatore USB-RS485 da collegare al PC.Con l’adattatore collegato al PC hai anche il vantaggio di poter provare la comunicazione direttamente con il simulatore del pannello direttamente da PC senza utilizzare il pannello reale. E se conosci un po Modbus potrai prima testare se funziona con Toolly o con programmi di simulazione Modbus (Esempio Modscan Topic).
Sergio Bertana
Amministratore del forumNon mi dici se hai impostato seriale a 9600 baud e parità pari (Almeno questo sembra quello che ha impostato saing).
Poi attenzione 3x è il comando 03 Modbus (Puoi provare con il 4x) ma 1 non è l’indirizzo dello strumento, il valore che metti dopo il codice del comando è l’indirizzo del registro che leggi. E poi devi definire nell’oggetto il corretto tipo di dati che leggi, se è un registro a 16 bit devi indicare unsigned int 16 bit.
Sergio Bertana
Amministratore del forumL’SDM320M supporta il Modbus RTU quindi è pienamente compatibile con il pannello Weintek. Se usi i pin 7-8 del connettore “E” devi impostare porta di comunicazione COM3. Poi verifica di avere impostato correttamente la modalità di comunicazione ed avere impostato il protocollo Modbus RTU con il corretto numero di nodo.
Sergio Bertana
Amministratore del forumDirei di concentrarci sul primo esempio che esegue un semplice comando Modbus di lettura registri. Come vedi nell’esempio l’ingresso SpyOn è attivo quindi collegandoti in Telnet allo SlimLine puoi vedere tramite la console di spionaggio i dati in transito sulla comunicazione seriale (Topic).
Se vuoi avere più tempo per analizzare i pacchetti dati puoi aumentare il valore del parametro Delay portandolo a qualche secondo (Esempio 5000 per avere 5 secondi di ritardo tra un pacchetto e l’altro).
Come vedi dal manuale utente del prodotto, il registro Modbus 1 (Nel manuale è indicato come 3001) che è quello che acquisiamo nell’esempio corrisponde al valore Line to neutral volts. Dalla console di spionaggio potrai vedere uscire un frame in trasmissione uguale a quello indicato nel manuale al capitolo 4.2 Data reading. In realtà c’è una incongruenza nel manuale perchè in testa alla tabella dei registri dicono Parameters to be read by function code 04, mentre nell’esempio al capitolo 4.2 utilizzano il function code 03.
Normalmente i codici 03 e 04 sono equivalenti, ma puoi provare a modificare nell’esempio il parametro FCode portandolo a 16#03.
Ottobre 17, 2015 alle 6:20 am in risposta a: Aggiornamento impianto con ICU 2000 (Micromaster) #39101Sergio Bertana
Amministratore del forumHo dato una occhiata alle sonde che conosco ma nessuna ha questa caratteristica. Ne le Pt1000, ne le PTC1000 ne le sonde Balco, a questo punto puoi provare ad acquisirne la resistenza, il Modulo espansione I/O Analogico ha una modalità di acquisizione in resistenza con un fondo scala di 5KΩ.
Devi rilevarne la resistenza in diversi punti di temperatura, creare una tabella con le misure, poi interpolando matematicamente tra i punti della tabella puoi risalire al contrario dalla resistenza al valore di temperatura.
Ottobre 16, 2015 alle 9:58 am in risposta a: Collegamento wireless da abitazione a router in ufficio #39099Sergio Bertana
Amministratore del forumSe chiedi ad un tecnico quale dispositivo utilizzare ti dirà nessuno. La teoria dice che se non c’è visiabilità ottica la comunicazione sulle frequenza così elevate è difficilissima.Però in realtà gli apparati WiFi non sempre leggono i libri, e quindi non sapendo che non possono funzionare succede anche che funzionino. Ho clienti che hanno fatto connessioni WiFi tra abitazione a cantina, ma siamo tutto nel campo delle prove quindi non ti posso consigliare.Se devi realizzare questo tipo di connessione visto che la distanza è poca, potresti anche provare con dei Bullet e due antenne omnidirezionali con un buon guadagno (Vedi le SCO246/9).
Sergio Bertana
Amministratore del forumLa warning indica che hai definito nelle variabili globali una variabile di nome “A” di tipo array, e hai indicato come valori di inizializzazione solo alcuni campi dell’array (Screenshot).
Il modulo MAIN è il contenitore di tutto il programma, viene generato automaticamente da LogicLab, le variabili globali sono automaticamente allocate in questo modulo.
Per trovare la posizione dove è definita la variabile puoi utilizzare la funzione Edit->Find in Project (Ctrl+Shift+F). Il problema che avendo definito un nome molto corto alla variabile “A” può essere difficile la ricerca. Per questo consiglio di usare nomi più esplicativi per le variabili.
Inoltre se non hai messo la spunta sul tick Case sensivity (Screenshot) tutti i nomi delle variabili anche se scritti in caratteri minuscoli sono considerati come maiuscole da LogicLab.
Sergio Bertana
Amministratore del forumLa funzione SysVarsnprintf fà esattamente quello che vuoi tu, ma per avere la virgola in un numero devi utilizzare una variabile REAL. Ecco lo screenshot di un utilizzo della funzione.
Sergio Bertana
Amministratore del forumThe PID output is limited to ±100% inside the FB. Normally in the PID regulations it’s necessary to have a regulation that’s work bidirectionally to correct the error when it’s negative or near to “0”.
If your requirements are to manage a one quadrant regulation, you can discard the output values less than 0. Obviously the internal I and D errors increasing if the error remains negative for a time, so it’s necessary to disable the PID regulation (Or only the I and D corrections) after a time that the error remains negative.
Ottobre 16, 2015 alle 8:23 am in risposta a: Aggiornamento impianto con ICU 2000 (Micromaster) #39092Sergio Bertana
Amministratore del forumDetta così sembrano sonde resistive, prova a misurarne con il multimetro la resistenza tra i due fili se sono 1000Ω potrebbero essere delle Pt1000, ma più probabilmente delle Ni1000 che sono più utilizzate nella climatizzazione.
Il modulo di estensione analogico ha già implementata la acquisizione delle sonde resistive standard, basta impostare il corretto modo di acquisizione ed il blocco funzione di gestione ritorna la temperatura in gradi.
Sergio Bertana
Amministratore del forumPer i terminali già installati presso i clienti occorre solo rilevare HWkey, operazione che può fare il cliente accedendo al menù di configurazione del pannello. Il consiglio è di farsi inviare una fotografia della schermata in modo da essere certi del codice rilevato.
Sergio Bertana
Amministratore del forumProprio per evitare tutte le problematiche della attivazione del servizio EasyAccess 2.0 che Weintek su pressione dei distributori ha creato la Activation Card. Ecco come funziona l’attivazione con la card, se si è un nuovo utente del servizio occorre registrare un dominio.
Il dominio è il contenitore di tutti i terminali di una azienda, all’interno del dominio ci possono essere più utenti ognuno dei quali può accedere ai terminali del dominio che l’amministratore gli assegna. Per creare il dominio si accede al sito di account, e si crea il proprio dominio assegnandogli un nome ed una password di accesso (Lo username di accesso al dominio è sempre admin). Creando il dominio si riceve una mail con un link di conferma, clickando sul link contenuto nella email si attiva il dominio e si riceve un’altra email di conferma. EasyAccess 2.0 Domain account activated notice.
Creazione utenti: Ora si accede al dominio e con il tasto Add User si creano gli utenti, l’utente riceve una mail con le informazioni dell’utente (Attenzione la password è assegnata automaticamente dal servizio) ed un link di conferma, clickando sul link contenuto nella email si attiva l’utente e si riceve un’altra email di conferma. Le credenziali nome utente e password ricevute saranno quelle da utilizzare nella applicazione EasyAccess 2.0 per accedere al servizio.
Aggiunta HMI: Questa è la fase a cui ti riferisci, per il terminale occorre rilevare l’HWkey del pannello (Screenshot) e “grattando” la Activation Card leggerne il codice. Inseriti i due valori nel pagina web di aggiunta HMI se tutto è corretto appare in basso una finestra che indica l’avvenuta attivazione.
Abilitazione accesso utente su HMI: In questa fase l’amministratore del dominio assegna ai vari utenti i terminali su cui pootranno operare. Dal menù Devices selezionare l’HMI desiderato e poi con Edit HMI è possibile attivare il menù di abilitazione utenti su quel HMI. Lo stesso termminale può essere assegnato a più utenti.
-
AutorePost