Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumUINT e WORD si equivalgono, unica differenza che se trascinata nella finestra di watch i valori UINT sono visualizzati in decimale ed i valori WORD in esadecimale.
Non capisco dove possa essere il problema se hai un manuale della apparecchiatura su cui esegui la scrittura e lo invii anche per email a [email protected] magari posso capirne un po di più.
Sergio Bertana
Amministratore del forumIntanto visto che in casa usi un PC potresti utilizzare il Virtual COM e quindi ti basterebbe un solo ATC-1000 lato telecamera.In merito al funzionamento di due ATC-1000 in paired trovi parecchie indicazioni sul forum, ti rimando a questo topic e questo topic.In questo topic ci sono indicazioni su come usare il programma Toolly per testare il funzionamento dei convertitori Ethernet-Seriale. In pratica chiudi la RS232 del convertitore il loopback (Pin 2 con pin 3) e tramite il Virtual COM o tramite l’altro convertitore invii dei dati da seriale e verifichi se ti ritorna l’echo di quello che mandi.
Sergio Bertana
Amministratore del forumMi sembra tutto corretto… L’array StringaScrittura è un array di WORD immagino…
Quando dici mi trovo il primo registro scritto corretamnete, gli altri no… io intendo che tu sul dispositivo su cui il FB scrive puoi andare a visualizzare i valori dei registri e trovi solo il primo registro corretto.
I registri che scrivi sul tuo dispositivo sono tutte WORD consecutive, non è che hai una WORD e poi una DWORD ecc…
Aprile 29, 2016 alle 6:12 am in risposta a: Configurazione convertitore ethernet/seriale ATC-3000 #39547Sergio Bertana
Amministratore del forumIl modulo Seneca utilizza il protocollo Modbus RTU, questo protocollo utilizza un slot temporale per suddividere i pacchetti. Solitamente se il pacchetto RTU trasmesso in seriale è continuo (Non vi sono spazi temporali tra i caratteri) il convertitore Ethernet/Seriale lo impacchetta in un unico frame TCP e lo invia.
Ma se ad esempio vi è un piccolo ritardo nella trasmissione seriale RTU (Vengono trasmessi i dati e poi c’è una piccola pausa prima del CRC) può essere che vengano creati più pacchetti TCP e quindi il software che riceve su PC vede uno slot temporale e lo considera come fine frame. Ma interpretando il frame si accorge che manca il CRC. Tutto quanto enunciato è pura teoria bisognerebbe fare analisi approfondite.
Un test semplice è utilizzare Toolly ed inviare un frame di richiesta Modbus e vedrificare la risposta (Vedi topic, topic) così ti accerti che tutto funziona (Cioè ricevi il frame di risposta corretto completo di CRC). Purtroppo non puoi capire se c’è ritardo tra il frame ed il suo CRC.
Comunque per cercare di risolvere il problema, dovresti provare a variare le impostazioni della seriale (Screenshot), in particolare aumentare i tempi di Idle, abilitare il Match Packing.
Aprile 27, 2016 alle 9:55 am in risposta a: Interpretazione stringhe GLL e CMT protocollo NMEA #39545Sergio Bertana
Amministratore del forumIn risposta al punto 2 da come riportato nel manuale citato in questo topic, la stringa RMC è del tipo:
$GPRMC,225446,A,4916.45,N,12311.12,W,000.5,054.7,191194,020.3,E*68
225446 -> Time of fix 22:54:46 UTC
A -> Navigation receiver warning A = OK, V = warning
4916.45,N -> Latitude 49 deg. 16.45 min North
12311.12,W -> Longitude 123 deg. 11.12 min West
000.5 -> Speed over ground, Knots
054.7 -> Course Made Good, True
191194 -> Date of fix 19 November 1994
020.3,E -> Magnetic variation 20.3 deg East
*68 -> mandatory checksumEcco lo screenshot di un esempio di interpretazione della stringa, allego anche il programma NMEASentence per il download.
Aprile 27, 2016 alle 9:33 am in risposta a: Interpretazione stringhe GLL e CMT protocollo NMEA #39544Sergio Bertana
Amministratore del forumIntanto vedo che non hai messo la spunta su Case sensivity nel tuo progetto (Screenshot) e quindi hai tutte le variabili scritte in maiuscolo… Aborro questa scelta…
In risposta al punto 1 andrebbe capito se il FB NMEASInterface riceve correttamente le stringhe NMEA. Per fare questo dovresti gestire un set di un BOOL o meglio incrementare una variabile ad ogni impulso di Done della FB NMEARX. Perchè solo se questo FB interpreta correttamente le stringhe i FB connessi a lui possono interpretarle.
Da quanto vedo mi sembra che non hai definito correttamente il DID, hai usato il DID del mio esempio II, Integrated Instrumentation, mentre come vedi dallo screenshot che hai postato il tuo dispositivo e di tipo GP, Global Positioning System receiver.
Aprile 26, 2016 alle 1:18 pm in risposta a: Estrazione caratteri da stringa (istruzione MID Codesys) #39543Sergio Bertana
Amministratore del forumNel Manuale programmazione IEC61131-3 puoi trovare tutte le funzioni e blochi funzione disponibili. Al capitolo 6 (Estratto manuale) trovi anche le istruzioni stringa tra cui la MID come nel Codesys.
Pui anche utilizzare la funzione Sysmemmove (Estratto manuale) che potrebbe essere una ulteriore estensione della MID.
Aprile 26, 2016 alle 12:57 pm in risposta a: Curiosita’ su comando Modbus per lettura di byte #39542Sergio Bertana
Amministratore del forumIl protocolo Modbus non prevede la lettura a BYTE, ma come dici tu con i comandi 03 Read Holding Registers e 04 Read Input Registers è possibile leggere WORD quindi il terminale o lo SCADA può dividere le WORD in due BYTES.
Il problema è in scrittura visto che con il comando 16 (10 Hex) Preset Multiple Registers, si scrive una WORD si andrebbe a scrivere non solo un BYTE ma due.
Visto che citi i terminali Weintek, la lettura a BYTE è utilizzata nella gestione delle stringhe, ma proprio per evitare il problema in scrittura le stringhe sono sempre di lunghezza pari (A multipli di WORD).
Sergio Bertana
Amministratore del forumMi sembra che stai consultando il manuale in inglese, meglio il manuale italiano che è più completo. Poi venendo alla tua domanda in effetti il segnale Done della FB SysGetAnInp è sempre attivo a meno chè non vi sia un Fault. Da quello che scrivi sembrerebbe che tu vuoi eseguire una media in modo sincrono con la lettura.
Purtroppo il FB attuale esegue una lettura asincrona, non vi è una indicazione di fine lettura, il FB ritorna sempre Done con il valore acquisito precedentemente dall’ingresso analogico. Abbiamo già in previsione in un prossimo futuro di gestire anche un tipo di lettura sincrono. Al momento attuale come workaround puoi semplicemente confrontare il valore acquisito con quello acquisito precedentemente ed a ogni variazione di valore, dato che è praticamente impossibile acquisire lo stesso valore due volte consecutive, corrisponde sicuramente una nuova acquisizione analogica.
Se Fault attivo Done è FALSE.
Il valore ritornato dal FB è un valore REAL e nel modo 4÷20mA, per valori inferiori ai 2mA viene ritornato QNAN per indicare interruzione del cavo.
Aprile 22, 2016 alle 8:22 am in risposta a: Attivazione schermata di calibrazione alla accensione #39538Sergio Bertana
Amministratore del forumVi sono due modi per attivare la procedura di calibrazione del touch screen.
Toccando lo schermo alla accensione del terminale viene automaticamente attivata la procedura di calibrazione.
Settando a ON il dip switch 1 ed accendere il pannello.Da quello che scrivi probabilmente sei capitato nella prima ipotesi. Non è possibile disattivare questa funzione quindi toccando lo schermo alla accensione si attiva la procedura di calibrazione.
Aprile 21, 2016 alle 3:53 pm in risposta a: Connessione RS422 convertitore Ethernet-seriale ATC-3000 #39537Sergio Bertana
Amministratore del forumIn effetti sull’ATC-3000 c’è un errore nella etichetta e nel manuale per quanto riguarda la connessione in RS422. La connessione corretta é 1: R+, 2: R-, 3: T+, 4: T-
Aprile 21, 2016 alle 12:21 pm in risposta a: Configurazione dispositivi Ubiquiti come repeater #39534Sergio Bertana
Amministratore del forumNello standard IEEE 802.11 b/g viene diviso lo spettro di frequenza disponibile in 14 sottocanali da 22 MHz l’uno. I canali sono parzialmente sovrapposti tra loro in frequenza come si può vedere vedere dall’immagine. I canali 1, 6, 11 sono gli unici tre canali che non si sovrappongono (Topic).
Quindi in sostanza è vero che altri canali sono più liberi ma in realtà la banda utilizzabile è inferiore a causa della sovrapposizione di altri canali.
Sergio Bertana
Amministratore del forumThe problem is the acquiring mode (FB input Mode), in the PCB122 firmware previous of SFW170C100, the mode 13 was not managed.
Solution, you can use the mode 06 Current from 0 to 20 mA (Differential mode) and subctract the 4 mA by software, or you can upgrade the module firmware (Please refer to FAQ).
Aprile 19, 2016 alle 1:18 pm in risposta a: Configurazione dispositivi Ubiquiti come repeater #39532Sergio Bertana
Amministratore del forumLa soluzione che tu vuoi fare e realizzare una rete WDS (Wireless Distribution System), questo argomento è stato già trattato in questo topic.
Sergio Bertana
Amministratore del forumNon è necessario ridure la dimensione degli oggetti grafici, basta aumentare le dimensioni della riga di codice su cui si programma agendo con il mouse. Inoltre solitamente si utilizzano più linee di programma FBD, apposite icone permettono di aggiungere linee a piacere (Screenshot).
Per quanto riguarda le funzioni ed i blocchi funzione, quelli standard si possono dividere per cartelle in base alle loro funzioni, mentre per tutti quelli da noi realizzati si rimanda alla lettura del Manuale programmazione IEC61131-3 dove è possibile utilizzare la funzione di ricerca.
-
AutorePost