Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumCon la nuova versione del sistema operativo abbiamo inserito la gestione del DNS, ora è possibile definire nelle connessioni TCP/UDP oltre agli indirizzi IP anche gli URLs. Ecco quindi che il FB SNTPRequest ha la possibilità di definire nell’ingresso NTPServer un URL. Per permettere di definire URLSs di lunghezza variabile abbiamo trasformato il tipo dato da STRING a pointer @USINT. Occorre quindi passare l’indirizzo della stringa definizione server.
Nel manuale gli esempi solitamente sono in linguaggio Ladder, ma ho provveduto nella nuova versione del manuale a riportare anche un esempio in ST (Estratto manuale). Allego anche il progetto SNTPTime di esempio (Download progetto).
Sergio Bertana
Amministratore del forumProbabilmente succede quello che capita a molti specie usando EasyBuilder su PC portatili, la finestra delle impostazioni è grande e supera la dimensione dello schermo. In questo modo viene oscurata la parte in basso proprio quella con il tasto di Ok.
Di solito basta togliere la barra di Windows (Rendendola automatica o spostandola su di un lato dello schermo per guadagnare lo spazio sufficente a visualizzare il pulsante di Ok (Screenshot).
Dicembre 1, 2015 alle 8:45 am in risposta a: Visualizzazione di un oggetto condizionata da 2 bits #39231Sergio Bertana
Amministratore del forumUn modo per realizzare quello che tu chiedi è ad esempio di utilizzare una macro.
Fermo restando l’abiltazione alla visualizzazione del pulsante condizionata da un bit (Nell’esempio LB 0), ho realizzato una macro eseguita ciclicamente che esegue la AND tra due bits (LB 1 ed LB 2) ed invia il risultato della AND sul bit di abilitazione LB 0. In questo modo solo se entrambi i bits di abilitazione sono attivi il pulsante sarà visibile. Ecco il listato della macro.macro_command main()
short EnableSts[2] //Bits stato abilitazione
short EnableCmd //Bit comando abilitazioneGetData(EnableSts[0], “Local HMI”, LB, 1, 2) //Leggo stato LB 1 ed LB 2
EnableCmd=EnableSts[0] and EnableSts[1]
SetData(EnableCmd, “Local HMI”, LB, 0, 1) //Imposto stato LB 0
end macro_commandHo realizzato un progetto di esempio eseguibile in simulazione su PC (Download progetto).
Novembre 30, 2015 alle 7:43 am in risposta a: Protezione con credenziali di accesso su pagine #39230Sergio Bertana
Amministratore del forumNon mi spiego il motivo ho provato io stamattina a fare quello che hai fatto tu (Ecco lo screenshot) e non ho avuto problemi. Ne ero certo perchè è una soluzione che molti dei nostri clienti utilizzano.
Prova a fare un progetto nuovo e verifica se funziona per capire se è dovuto al progetto o all’installazione di EB8000. La versione che utilizzo io e la V4.65.07 Build 2013.06.25.
Sergio Bertana
Amministratore del forumNel LogicLab 4 Axel ha apportato alcune migliorie, una di queste riguarda la possibilità di avere il Workspace customizzabile. Con questa caratteristica è possibile creare cartelle proprie nel Workspace per meglio suddividere i programmi.
Attivando questa caratteristica anche le variabili vengono suddivise in cartelle separate in base al gruppo di appartenenza e non si ha più la visione globale di tutte le variabili come si aveva con le precedenti versioni di LogicLab. Personalmente preferisco questo tipo di personalizzazione che mi permette di razionalizzare sia i programmi che le variabili secondo uno schema logico.
Ma nessuna paura, puoi scegliere di continuare ad usare la vecchia soluzione di Workspace togliendo il tick di spunta nelle opzioni di progetto (Screenshot).
Novembre 27, 2015 alle 3:08 pm in risposta a: Gestire un conteggio veloce su ingresso digitale #39227Sergio Bertana
Amministratore del forumIl FB SysGetCounter permette di sfruttare il circuito hardware di conteggio presente in alcuni moduli, per vedere i moduli che dispongono del counter devi fare riferimento al manuale di descrizione hardware del modulo.
Il modulo CPU ha un solo counter hardware sull’ingresso Di00, quindi è utilizzabile, però non dispone degli ingressi di Reset e di Reverse. Quindi ecco perchè impostando Mode a 8192 il FB ti dava errore.
Il fatto che conti due impulsi giro con Mode a 0 mi suggerisce un problema di rimabalzi sulla lettura, essendo il counter hardware molto veloce basta anche un impulso piccolissimo per generare un clock. Sono sicuro che se mettessi un oscilloscopio sull’ingresso vedresti i due impulsi.
Attenzione, il counter hardware gestisce il conteggio in modo autonomo, quindi il programma che esegue il FB SysGetCounter può essere tranquillamente messo sia nella task Slow che nella Back.
Novembre 27, 2015 alle 2:57 pm in risposta a: Gestire un conteggio veloce su ingresso digitale #39225Sergio Bertana
Amministratore del forumCome dici tu il sensore magnetico legge un solo punto sull’albero, quindi non devi utilizzare la frequenza come parametro di riferimento, ma il tempo di attivazione del sensore. Per assurdo se il punto di controllo è puntiforme la durata dell’impulso può essere di pochi mS.
Considerando che gli ingressi digitali hanno un filtro hardware di 4,7 mS e che sono acquisiti nella task Slow ogni 10 mS capisci che l’impulso può andare perso. Per essere certi di acquisire impulsi molto brevi devi acquisire direttamente gli ingresi con la funzione SysGetPhrDI come indicato in questo topic.
Novembre 27, 2015 alle 2:24 pm in risposta a: Collegare 2 PC ad un registratore di cassa per scontrino #39223Sergio Bertana
Amministratore del forumSe è così come dici potrebbe funzionare…Ma se la connessione Ethernet non è una condizione essenziale puoi anche utilizzare una connessione in RS422, utilizzando 3 convertitori RS232/RS422 tipo l’ATC-105, puoi creare una rete tra le seriali dei 2 PC e la stampante. In alternativa se non hai la seriale sul PC puoi utilizzare l’ATC-850 che esce già in RS422. Questa soluzione ha l’indubbio vantaggio di non utilizzare il software Virtual COM che più di una volta ha già manifestato problemi di incompatibilità con alcuni applicativi sul PC. Non abbiamo prodotti usati, per il diritto di recesso abbiamo la formula “Soddisfatti o Rimborsati“.
Novembre 27, 2015 alle 7:19 am in risposta a: Collegare 2 PC ad un registratore di cassa per scontrino #39221Sergio Bertana
Amministratore del forumIl funzionamento e come quello che hai descritto, ma intanto per collegare due PC ad un unica seriale ti serve un convertitore Ethernet-Seriale che supporti connessioni multiple, e quindi poteresti utilizzare l’ATC-3000 che ne supporta fino a 4.Ma il problema è che quando un PC invia il dato questo arriva alla seriale del registratore, ma se il registratore invia una risposta questa arriva ad entrambi i PC connessi, e non so se la cosa è accettata dal programma gestionale.E poi come fai notare tu se entrambi i PC mandano un dato al registratore, i due dati inviati si accodano ed anche qui non so cosa possa succedere, probabilmente stampi 2 scontrini.
Sergio Bertana
Amministratore del forumNella Soluzioni per Monitoraggio IP da noi proposte possiamo trovare il prodotto che soddisfa i requisiti. Dovendo gestire non solo ingressi ma anche uscite digitali (Per il comando del ventilatore) dovremmo indirizzarci verso un dispositivo della serie Poseidon. Si può utilizzare uno qualsiasi dei prodotti della serie che abbia almeno una uscita a relè.
Per quanto riguarda la visibilità in diretta da qualsiasi dispositivo (pref. Smartphone) basta connetterlo al portale gratuito SensDesk e tramite apposite Apps per iOS e Android si può monitorare via Smartphone. Se abbina al prodotto il Software di monitoraggio PDMS (Gratuito fino a 3 sensori) è possibile archiviare su server tutti i dati storici con possibilità di reports su selezione data. Ricordo che l’archivio storico è consultabile anche dal portale SensDesk che però essendo gratuito ha come limitazione un periodo di archiviazione limitato agli ultimi 90 giorni.
Sulle sonde di Temperatura, Umidità, ecc… possono essere definiti dei valori di soglia al superamento della quale viene inviata una segnalazione (eMail, Trap SNMP, ecc…). La condizione di allarme può anche essere riportata in uscita per il comando del ventilatore di emergenza.
Ingressi digitali permettono di collegare sensori esterni (Fumo, Apertura porta, ecc…) sui quali è possibile gestire allarmi con invio di segnalazione. Per venire incontro alla sue richiesta ecco un Sensore di luminosità 1-wire che può essere direttamente interfacciato con il Poseidon. L’interfaccia web dei prodotti è direttamente testabile seguendo il link Prova On-Line posto sotto la foto dei vari prodotti.
Sergio Bertana
Amministratore del forumStrano ho provato qui da me il programma e funziona… Anche se è ovvio hai definito (Magari in debug) i 3 numeri di telefono, vanno definiti tutti e 3.
Come vedi ho attivato lo Spy quindi dovresti connetterti con la console di spionaggio e vedere cosa succede, eventualmente salvi tutto in un file e me lo invii per capire dove stà il problema.
Sergio Bertana
Amministratore del forumNel caso da te descritto puoi anche utilizzare una sola porta seriale ed un solo adattatore ammesso che i due TAG iButton non siano mai inseriti contemporaneamente.
Se nessuno occupa la camera il lettore esterno può leggere il TAG, se l’ID è accettato comanda l’apertura porta. Se nel programma memorizzi l’ID del TAG potrai modificare il tipo di lettura da broadcast alla lettura dell’ID.
In questo modo quando il TAG viene posto nel lettore interno alla camera verrà acquisito e potrà comandare l’attivazione dei servizi. Se un’altro utente appoggia il suo TAG sul lettore esterno questo non verrà letto perchè ha un ID diverso da quello che il programma stà acquisendo.
Per semplicità potresti anche continuare ad eseguire una lettura in broadcast, tanto un eventuale altro cliente che appoggiasse il suo TAG sul lettore esterno, è vero che bloccherebbe la lettura del TAG interno ma si può immaginare che non vedendo aprirsi la porta desista.
Sergio Bertana
Amministratore del forumIn linguaggio FBD è praticamente uguale al linguaggio LD, quindi ho preferito realizzare un esempio in linguaggio ST dove ho anche predisposto la possibilità di passare in GET alla richiesta valori variabili e di acquisire dalla stringa ritornata il valore del risultato ed appoggiarlo su di una variabile REAL (Ecco la stampa del programma).
Allego per il download la versione attuale del programma di esempio Ptp119b100 con il nuovo program (Download programma).
Sergio Bertana
Amministratore del forumHo convertito il programma con il nuovo LogicLab 4 (Download programma). Nel nuovo FB ModemSMSSend_v2 il numero di telefono ed il testo del messaggio sono passati per pointer (@USINT) e non per stringa. Quindi all’interno della FB SMSMux si creano errori nelle assegnazioni quali ad esempio:
SMSSend.Number:=Number1;
Perchè cerchi di assegnare ad una variabile pointer una stringa. Ho ripreso il progetto modificando il FB convertendo tutte le variabili stringa in puntatori. Come vedi nel programma ladder per passare una stringa ad un puntatore devi utilizzare lo statement ADR() che carica nel puntatore l’indirizzo di allocazione della variabile.
Vedo dal report di errore che hai tutto in maiuscole attento è meglio mettere nei programmi il tick di selezione Case sensivity, e poi se non vuoi perdere tempo nel trasferire ad ogni download anche i sorgenti, scegli Before disconnection (Screenshot).
Sergio Bertana
Amministratore del forumTramite questo adattatore è possibile connettere una rete 1-Wire alla porta seriale dei moduli CPU dello SlimLine. La rete 1-Wire supporta il multidrop è possibile connettere più dispositivi sulla stessa rete. Il problema è quando si utilizza un lettore iButton, perchè in questo caso non conoscendo l’ID del TAG appoggiato al lettore occorre effettuare una lettura di tipo broadcast che permette di gestire un unico dispositivo sulla rete.
Quindi nel tuo caso puoi avere un solo lettore per ogni seriale del modulo CPU, abbiamo clienti che hanno realizzato controlli di camere per alberghi con questa soluzione. Hanno utilizzato un modulo CPU compact Ethernet con 6 ingressi e 4 uscite digitali e sulla seriale hanno collegato il lettore iButton. Tutti i moduli sono poi interconnessi in rete Ethernet tra di loro e con un modulo principale per la gestione completa delle camere.
Per il lettore magnetico presso HomeChip puoi trovare questo modello.
-
AutorePost