Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Febbraio 18, 2015 alle 5:08 pm in risposta a: Apricancello da chiamata telefonica con database #38741
Sergio Bertana
Amministratore del forumQuello che possiamo proporre è una personalizzazione della ns Modem machine, il programma (Realizzato con LogicLab) di cui forniamo i sorgenti, tramite la libreria di gestione modem, gestisce un modem connesso alla porta seriale. Il FB ModemCore controlla continuamente la funzionalità del modem e se è connesso alla rete GSM, provvedendo in caso di problemi a reinizializzarlo.Una pagina web di test permette da un browser di testare il funzionamento eseguendo/ricevendo chiamate telefoniche ed inviando/ricevendo messaggi SMS. Agendo sul programma si può aggiungere la parte di interfaccia con il database.Premesso che il prodotto non può accedere direttamente alle query sul database, si può ipotizzare uno scambio dati TCP/IP o UDP con il server, delegando alla applicazione sul server l’esecuzione delle queries sul database. In pratica il server può interrogare ciclicamente il prodotto e/o attendere che il prodotto invii al server un pacchetto UDP con il numero CLIP ricevuto. Il server fatte le verifiche del caso potrà inviare al prodotto l’ordine di apertura cancello che verrà gestito da una delle uscite logiche presenti.Tra i modi per interfacciarsi posso citare Modbus TCP (Vedi topic, topic), esistono anche librerie in PHP per gestire il modbus TCP la più nota è la PhpModbus. E’ anche possibile sviluppare un proprio protocollo ad hoc in alternativa al modbus (Topic).
Febbraio 18, 2015 alle 1:37 pm in risposta a: Visualizzazione variabili REAL da PLC Siemens S7 1500 #38745Sergio Bertana
Amministratore del forumPer le variabili 32bit e REAL devi selezionare il tipo variabile DBDn, definendo nel campo indirizzo il numero della DB e 4 cifre per l’indirizzo della variabile (Esempio, 100020, per la DB 10 word 20). Essendo variabili REAL dovrai poi definire il tipo 32-bit Float (Screenshot).
Febbraio 18, 2015 alle 7:54 am in risposta a: Gestione scheda I2C custom connessa come estensione #38740Sergio Bertana
Amministratore del forumHai visto bene per la gestione di periferiche custom connesse al bus di estensione di SlimLine abbiamo realizzato una specifica funzione SysI2CWrRd che permette di gestire l’accesso in lettura e scrittura di un qualsiasi dispositivo I2C. Utilizzando questa funzione è possibile fare coesistere senza problemi il dispositivo custom con i nostri moduli di estensione (Topic).
Per ulteriori informazioni sulla connessione di periferiche custom al bus di estensione puoi fare riferimento al Manuale hardware CPU SlimLine ARM7 OEM.
Unica esperienza sui moduli di interfaccia RFID è quella con il lettore RFID ProxPoint Plus della HID, questo modulo si connette tramite due ingressi digitali (Clock e Data) a due ingressi del sistema ed il FB HIDClkDtaReader ne provvede alla lettura (Topic). In questo topic un esempio pratico di utilizzo.
Febbraio 17, 2015 alle 4:04 pm in risposta a: Disponibilità protocollo Modbus sullo SlimLine CODESYS #38739Sergio Bertana
Amministratore del forumGiornata tranquilla oggi ho trovato il tempo di fare il porting anche del FB ModbusMaster, ecco l’estratto del manuale. Ho realizzato anche un semplice progetto dove su di uno SlimLine coesistono i FB Master e Slave ed i due FB dialogano tra di loro utilizzando le due porte seriali (Download progetto).
Come si vede nell’esempio sul FB ModbusMaster è attivato lo Spy, in questo modo tramite una console di spionaggio (Fai riferimento al manuale) è possibile visualizzare i frame dati in transito. Questa soluzione è molto comoda per capire eventuali errori di protocollo (Screenshot).
Febbraio 17, 2015 alle 11:33 am in risposta a: Disponibilità protocollo Modbus sullo SlimLine CODESYS #38738Sergio Bertana
Amministratore del forumA differenza della linea programmabile con LogicLab, dove abbiamo sviluppato e continuiamo a sviluppare, librerie e programmi di esempio, sulla linea CODESYS vista la grande diffusione dell’ambiente abbiamo una fertilità creativa inferiore. Gli utenti più smaliziati hanno già le loro librerie (Che utilizzano su altri prodotti programmabili in CODESYS) e/o trovano sulla rete spunti da cui partire.
Sul Modbus c’è parecchia letteratura in rete, per il momento mi sono cimentato nel porting del FB ModbusSlave dall’ambiente LogicLab all’ambiente CODESYS, ecco l’estratto del manuale. Ho realizzato un progetto CODESYS che contiene i due esempi riportati nel manuale (Nella cartella dell’esempio si trova la libreria con il blocco funzione) (Download progetto).
Febbraio 16, 2015 alle 10:22 am in risposta a: Connessione SlimLine in modalità Client TCP/IP #38737Sergio Bertana
Amministratore del forumNon mi dici che protocollo usano le marcatrici ma da quanto dici sembra che operano solo in TCP/IP e non in UDP. Come dicevo già nel post precedente la possibilità di connettersi in modalità Client è attualmente un work in progress, purtroppo non ho scadenze certe di tempi.
Allo stato attuale la soluzione con lo SlimLine in ambiente LogicLab è utilizzare un convertitore Ethernet-Seriale, in questo modo è possibile sviluppare l’FB di dialogo, che se il protocollo è Modbus TCP è già disponibile tra i blocchi funzione da noi forniti.
Se il protocollo è proprietario potete sviluppare una FB apposita e/o utilizzare quella già sviluppata per connettervi in seriale tenuto conto che la connessione sarà sempre comunque tramite uno stream di I/O (Tipo FILEP). Salvo poter poi nel futuro quando sarà diponibile la connessione Client solo cambiare il tipo di stream di I/O senza ulteriori modifiche alla FB di gestione protocollo.
Febbraio 16, 2015 alle 7:15 am in risposta a: Nuovo blocco funzione per richiesta pagina da Web server #38735Sergio Bertana
Amministratore del forumSi è proprio così, abbiamo realizzato questa FB per potersi connettere a server HTTP in attesa di implementare la modalità Client nel sistema operativo (E’ un lavoro attualmente in progress). Nel frattempo è possibile come escamotage utilizzare un qualsiasi convertitore Ethernet-Seriale per operare la connessione Client con il server.
Nell’esempio la scelta è caduta sull’ATC-3000 perchè supporta il DNS e quindi è possibile definire l’indirizzo del server con il nome anzichè con l’IP. Questo permette di connettersi anche a server che sono pubblicati su IP dinamici.
L’FB utilizza uno stream di I/O, nella fattispecie uno stream seriale, quindi è compatibile anche con le versioni MPS046A*00 dello SlimLine.
Sergio Bertana
Amministratore del forumLe versioni B sono hardware non compatibili con le versioni D. Le versioni B supportano tutte le releases del software SFW167**00, mentre le versioni D supportano tutte le releases del software SFW184**00. Le differenze di caratteristiche hardware tra le due versioni e indicata con la nota (5) nella tabella delle caratteristiche sulla pagina prodotto.
Questi prodotti OEM non sono da noi gestiti a magazzino per evitare immobilizzi di schede che normalmente utilizziamo nella produzione del prodotto finito. Ma proprio perchè li utilizziamo nel prodotto finito sono sempre disponibili e quindi siamo in grado di evadere l’ordine in tempi molto brevi (Se clicchi sul simbolo di disponibilità vedrai che indichiamo cautelativamente 1 settimana).
Le versioni CAN e RS485 sono due hardware diversi, cambia il driver di comunicazione, il sistema operativo riconosce il tipo di configurazione ed abilita la sola funzionalità della versione installata.
Sergio Bertana
Amministratore del forumAggiungo che se la marcatrice supporta il Modbus TCP basterà impostare il convertitore Ethernet-Seriale per connettersi alla porta 502 (La standard di Modbus) della marcatrice. Nel tuo programma utilizzando il FB ModbusMaster passando il FILEP della porta COM conessa al convertitore potrai gestire lo scambio dati in Modbus.
Sergio Bertana
Amministratore del forumLa tua domanda permette di allacciarmi ad argomenti già trattati nel forum e quindi ne approfitto per un riepilogo, la porta Ethernet dello SlimLine è autosensing (Topic) quindi puoi usare sia cavi diritti che cross per la connessione, il Ping è trattato in questo topic.
Per quanto riguarda la possibilità di aprire una connessione TCP/IP in modalità Client sugli SlimLine LogicLab è attualmente un lavoro in progress, mentre questa possibilità è disponibile sugli SlimLine CODESYS. Esistono due possibilità per aggirare il problema.
Connessione UDP
Se la marcatrice accetta connessioni UDP è possibile dialogare in UDP con la macchina, con il protocollo UDP non vi sono limitazioni puoi ricevere ed inviare pacchetti UDP con le funzioni SysUDPSktRcv e SysUDPSktSend (Topic).Connessione TCP/IP Client con convertitore
Per connetterti in TCP/IP in modalità client puoi utilizzare un convertitore Ethernet-Seriale (Esempio ATC-1000) connesso ad una porta seriale COM dello SlimLine. Il convertitore andrà impostato come Client e dovrai definire l’indirizzo IP e la porta del server a cui connettersi (Nel tuo caso la macchina marcatrice). Il convertitore cercherà di aprire e mantenere attiva una connessione con il server e tu potrai in questo modo inviare e ricevere i dati dalla porta COM. Un utilizzo di questa tecnica è in questo topic.Febbraio 13, 2015 alle 5:38 pm in risposta a: Esportare dati sul web da SlimLine (Usando Php) #38728Sergio Bertana
Amministratore del forumPer soluzionare il problema proposto consiglio di dare una occhiata e questa nuova FB (Topic).
Febbraio 13, 2015 alle 4:45 pm in risposta a: Nuovo blocco funzione per richiesta pagina da Web server #38727Sergio Bertana
Amministratore del forumPer testare il FB ho postato su un account gratuito presso Altervista uno script PHP Example.php che esegue la divisione tra due valori, è possibile richiamare lo script da un programma SlimLine passando i due valori e ricevendo nella pagina ritornata il risultato. Ecco il sorgente dello script.
echo “The result is: “.$_REQUEST[“Dividend”]/$_REQUEST[“Divisor”];
Il programma di esempio (Stampa), su di un sistema SlimLine, esegue la richiesta della pagina ogni 5 secondi passando i valori di Dividend e Divisor e ricevendo il risultato. Come si vede dallo screenshot passando i valori allo script viene eseguito il calcolo e ritornato il risultato. In HTTPStatus è ritornata l’intestazione inviata dal server, nel caso di errori sarà presente il codice di errore. Da debug è possibile variare i valori e verificare il risultato di ritorno (Download programma).
Febbraio 13, 2015 alle 9:07 am in risposta a: Utilizzare il Manufacturer ID per proteggere il programma #37471Sergio Bertana
Amministratore del forumAggiungo l’ultima risposta, LogicLab permette la scrittura di funzioni e blocchi funzioni (In tutti e 5 i linguaggi della IEC61131) che poi possono essere utilizzati come oggetti nei programmi (Topic).
E’ possibile criptare le funzioni e i FB, e distribuirli all’interno di librerie proprio come facciamo noi con le librerie a corredo della installazione di LogicLab (Topic).
Febbraio 13, 2015 alle 8:39 am in risposta a: Utilizzare il Manufacturer ID per proteggere il programma #38726Sergio Bertana
Amministratore del forumUtilizzare il MID per sproteggere FB
Acquistando il MID, vi verrà fornita una password per ognuno dei FB di cui il MID prevede lo sblocco, nel vostro progetto allo startup con la funzione SysPCodeAccept (O da pagina web) dovrete inserire le password di slocco. Così il programnma potrà utilizzare i FB su tutti i dispositivi provvisti di MID.Utilizzare il MID per proteggere il proprio programma
I programmi, le funzioni e/o i FB che costituiscono la “parte nobile” del progetto al loro interno eseguono il controllo se valore della variabile SysMfcCode è uguale al MID acquistato. Se il controllo non passa si può decidere di non eseguire e/o eseguire per un certo tempo le operazioni. Questi oggetti vengono poi criptati con l’opzione Crypt di LogicLab (Screenshot).Questo permette dare al cliente finale il progetto permettendo una facile gestione degli upgrades, il cliente potrà anche intervenire autonomamente sul suo programma per le parti che non sono state protette. Quello che interessa al progettista è salvaguardare le “parti nobili” dove risiede il know-how e dove probabilmente ha speso il maggior tempo nello sviluppo.
L’abbinamento criptatura e MID garantisce che il Vostro cliente finale pur disponendo dei sorgenti debba necessariamente acquistare da voi il prodotto su cui eseguire il programma perchè Elsist venderà solo a voi il prodotto con il vostro MID. Ecco quindi che se la Vostra fornitura prevede il pagamento di royalties il cliente finale non potrà trovare alcun escamotage per aggirarne il pagamento.
Febbraio 13, 2015 alle 8:12 am in risposta a: Utilizzare il Manufacturer ID per proteggere il programma #38725Sergio Bertana
Amministratore del forumIl Manufacturer ID (MID) è la soluzione che proponiamo come unica sicura per la protezione della proprietà intellettuale del software, richiedendo un intervento di programmazione del prodotto da parte nostra ha dei costi (Vedi articolo). Esistono anche metodi meno efficaci che possono essere messi in pratica senza costi dall’utente (Topic). Ora veniamo alle domande.
Il MID ha un costo una tantum, nel momento in cui lo si richiede si indicano i prodotti in cui verrà utilizzato e noi forniremo una eMail con le passwords (Ogni codice prodotto ha un suo codice da 20 caratteri) da inserire nel programma per testarlo con la funzione SysPCodeAccept (Estratto manuale). L’attivazione del MID sul prodotto ha un costo applicato ad ogni prodotto acquistato.
Se si decide di utilizzare lo stesso MID per altri prodotti basterà richiederlo, e se applicabile, invieremo la eMail con la password di attivazione per il codice di prodotto richiesto senza ulteriori costi.
-
AutorePost