Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 2,956 a 2,970 (di 4,374 totali)
  • Autore
    Post
  • in risposta a: Ricezione dati da strumento in seriale RS-232 #38275
    Sergio Bertana
    Amministratore del forum

    Come primo step ti consiglio di dare una occhiata a questo topic, non mi dici il tipo di stringa che lo strumento invia ciclicamente sulla porta seriale.

    Posso immaginarmi un esempio di programma che acquisisce il valore di peso inviato da una bilancia, immagino una stringa del tipo “Peso:120.5 Kg”, ecco la stampa del programma ed il programma sorgente.

    Come vedi dallo screenshot, inviando tramite un terminale seriale (Esempio il nostro programma Toolly) la stringa di peso il programma la cattura e trasferisce il valore di peso nella variabile.

    in risposta a: Comparazione variabili in linguaggio IL #38274
    Sergio Bertana
    Amministratore del forum

    Aggiungo la risposta alla domanda sulle variabili ritentive, come riportato in questo topic, le variabili RETAIN sono inizializzate al loro valore di INIT al caricamento del programma. Se vuoi che rimangano settate al loro valore al caricamento del programma devi mapparle sulla DB 100 ad indirizzi a partire da 2048.

    Come vedi nel programma di esempio del post precedente ho mappato le variabili in quest’area, attenzione alle variabili a WORD devono essere mappate ad indirizzi divisibili per 2. Le variabili DWORD o REAL devono essere mappate ad indirizzi divisibili per 4.

    Cancellazione memoria, proprio perché le variabili RETAIN allocate nella DB 100 non sono inizializzate al caricamento del programma, se utilizzate, conviene effettuarne l’azzeramento per evitare di averle valorizzate a valori indesiderati. Per eseguire la cancellazione, connettersi in Telnet al sistema e dopo il login arrestare l’esecuzione del programma utente PLCCommand -stop, eseguire la cancellazione della memoria PLCCommand -mc e poi rimandare in esecuzione il programma PLCCommand -go, (Screenshot).

    in risposta a: Comparazione variabili in linguaggio IL #38273
    Sergio Bertana
    Amministratore del forum

    Nel programma che hai scritto non vi è nessuna subroutine, nella normativa IEC non è possibile realizzare subroutines all’interno di un programma. Le funzioni o le FB devono essere definite come tali e solo dopo averle definite possono essere richiamate da programma.

    Nel tuo programma se F01 è alto esegui un salto condizionato JMPC alla etichetta LblA dove incrementi T01 e poi con RET esci dal programma. Per eseguire una subroutine (Function in IEC 61131) devi definirla (Esempio AddValue) e poi eseguirla da IL. Allego la stampa del programma ed il codice sorgente.

      LD F01
      JMPCN Lbl (* Se F01 non attivo salto a label *)

      LD T01 (* Carico 1o operando funzione (Value) *)
      AddValue 1 (* Eseguo funzione passando 2o operando (Increment) *)
      ST T01 (* Memorizzo valore di ritorno da funzione *)

    Lbl:
      LD T01
      LT 1000
      ST F02

    in risposta a: Impostazione numero telefono da terminale #38272
    Sergio Bertana
    Amministratore del forum

    Il problema credo sia nel modo in cui il PLC tratta le variabili impostate dall’HMI, non conosco il Micrologix, però in generale quando converti un numero in una stringa (Il modem necessita di una stringa) se non fissi il numero di cifre da stampare indicando che devono essere necessariamente precedute da “0”, sono convertite in ascii solo le cifre indicative e non gli “0” che le precedono.

    Perché non usi l’oggetto introduzione Ascii sul terminale e gestisci l’intero numero come una stringa da 16 o più caratteri, potrai passare la stringa così definita direttamente al modem.

    Ad esempio nei PLC della nostra serie SlimLine l’FB di gestione modem accetta il numero già come stringa Ascii (Topic). In questo topic viene trattato l’invio di un SMS da pagina web, come vedi l’impostazione del numero di telefono è realizzata impostando una stringa Ascii.

    in risposta a: Utilizzo di WebVisu sulle CPU SlimLine CODESYS #38271
    Sergio Bertana
    Amministratore del forum

    Ho realizzato un semplice progetto di Marcia/Arresto con un pannello di comando in WebVisu (Screenshot), il progetto può essere eseguito in simulazione direttamente sul PC.

    Per eseguire il progetto in simulazione sul PC attivare il modo simulazione (Screenshot), eseguire login sul simulatore (Alt F8) e poi mandare in run il programma (F5). Come si vede dallo screenshot in funzionamento con il simulatore ha l’accesso alla interfaccia WebVisu solo dall’ambiente di sviluppo CODESYS, mentre se caricato sul sistema target permette di essere gestito da browser (Download progetto).

    in risposta a: Utilizzo di WebVisu sulle CPU SlimLine CODESYS #38270
    Sergio Bertana
    Amministratore del forum

    La funzionalità WebVisu è disponibile anche sulle versioni 2.3 di CODESYS, vi è solo una nota  da tenere presente, dalle versioni di Java rilasciate da Oracle da gennaio 2014 per motivi di sicurezza, è possibile eseguire solo applets certificate. CODESYS gestisce le applets certificate dalla versione 2.3.9.43, quindi consiglio di utilizzare per i nuovi progetti una versione di CODESYS uguale o successiva a questa. Sul sito CODESYS alla data attuale è disponibile la versione 2.3.9.44.

    Il nostro target ELSIST SlimLine Mps052 è predisposto per gerstire WebVisu, quindi per poter realizzare un progetto devi selezionare il nostro target (Topic).

    Abbiamo aggiunto nella zona download il Manuale programmazione IEC61131-3 (Link). In questo manuale si trovano i riferimenti alla installazione dell’ambiente di sviluppo CODESYS ed i riferimenti alle funzioni e blocchi funzioni che forniamo con la nostra libreria.

    in risposta a: Informazioni sulla gestione delle ricette tramite terminale #38269
    Sergio Bertana
    Amministratore del forum

    Aggiungo un esempio di gestione ricetta che gestisce due uscite lampeggianti su di un modulo CPU della nostra serie SlimLine. L’esempio si compone di un programma sul modulo CPU dello SlimLine e due progetti terminale Weintek.

    Uno dei progetti utilizza la tecnica delle ricette gestite con il registro indice, mentre nell’altro viene utilizzato l’oggetto RECIPE. Allego nota applicativa ed i programmi sorgenti.

    in risposta a: Informazioni sulla gestione delle ricette tramite terminale #38268
    Sergio Bertana
    Amministratore del forum

    Nel nuovo ambiente di sviluppo EasyBuilder Pro è stato aggiunto l’oggetto Recipe che permette di gestire le ricette in modo molto più agevole, inoltre ogni ricetta si appoggia ad un file di database ed è possibile in tal modo gestire ricette molto grandi (Fino a 10000 records).

    Per illustrare il funzionamento dell’oggetto Recipe Weintek fornisce un progetto dimostrativo Recipe Transferring (Screenshot). Insieme al progetto viene fornita una spiegazione su come è stato realizzato (Download manuale) ed il progetto.

    Attenzione! La visualizzazione del contenuto ricetta (Oggetto Visualizza ricetta) non funziona correttamente in simulazione su PC. Quindi se si vuole testare il programma occorre disporre di un terminale reale.

    in risposta a: Informazioni sulla gestione delle ricette tramite terminale #38267
    Sergio Bertana
    Amministratore del forum

    Con il programma EasyBuilder la gestione delle ricette era effettuata utilizzando il registro indice. Sono gestiti 16 registri indice che permettono di creare un offset sull’indirizzamento delle variabili, in questo modo è possibile creare pagine grafiche con tutte le variabili di ricetta e modificando il valore del registro indice (ad esempio con dei tasti Up/Down) è possibile scorrere all’interno di tutto il ricettario.

    Aiutandosi con delle macro è possibile anche effettuare delle ricerche all’interno del ricettario per trovare la ricetta desiderata. Ecco un progetto di esempio (Screenshot) realizzato da Weintek che illustra questa tecnica (Nota applicativa, Download source code).

    in risposta a: Gestire ricette sui terminali serie MT500 #38266
    Sergio Bertana
    Amministratore del forum

    E’ stato aperto un nuovo topic sull’argomento con i riferimenti ai nuovi modelli ed ai nuovi ambienti di lavoro EasyBuilder ed EasyBuilder Pro (Vai al topic).

    in risposta a: Informazioni su CPU ARM9 Linux #38265
    Sergio Bertana
    Amministratore del forum

    Si il poter eseguire sia una task in PLC che programmi scritti in C per Linux è uno degli obbiettivi. Purtroppo siamo rimasti un pò fermi sullo sviluppo del PLC perché abbiamo avuto problemi sulle librerie Real time.

    Per poter eseguire tasks PLC in ambiente Linux è necessario rendere il sistema operativo Real time e questo vuol dire fare un grosso lavoro di riscrittura dei drivers di gestione delle periferiche.

    Nel frattempo abbiamo sviluppato la versione compatibile CoDeSys del modulo CPU SlimLine che è basato su un sistema operativo Real time sviluppato da Beck.

    in risposta a: Connessione alimentazione sui dispositivi Ubiquiti #38263
    Sergio Bertana
    Amministratore del forum

    L’adattatore POE 802.3af fornisce in uscita una tensione di 16Vdc @ 0.8A quindi a meno che la tua telecamera non funzioni anche con tensione minima di 16 Vdc questo adattatore non và bene. Puoi eventualmente utilizzare un Active POE injector da 24Vdc. Non sono un esperto di POE ma tratto da Wikipedia riporto quanto segue:

    L’alimentatore compatibile 802.3af applica inizialmente una tensione compresa tra 2,7V e 10,1V e misura la resistenza da 25K che dovrebbe trovarsi in uscita. Se la resistenza di riferimento non viene trovata fornisce un’alimentazione di 24V (considera l’utilizzatore non compatibile 802.3af).

    Quindi se il tuo switch POE è compatibile con la specifica 802.3af dovrebbe già automaticamente alimentare la telecamera a 24Vdc senza inserire nessun adattore tra i due.

    in risposta a: Alcune domande sull’utilizzo della SD Card #38261
    Sergio Bertana
    Amministratore del forum

    Con l’attuale versione dello SlimLine non è possibile gestire l’estrazione e l’inserimento della SD Card a sistema acceso, il limite è imposto dal connettore della SD Card che non ha il pin di Card detect.

    Stiamo valutando un nuovo connettore che ha anche il pin di Card detect (E’ il connettore che utilizziamo sulla versione per CoDeSys), quindi è possibile che in un prossimo futuro sia implementata anche la possibilità di estrarre ed inserire la SD Card a sistema acceso.

    in risposta a: Sistemi di rilevazione temperatura/umidità tramite rete LAN #38259
    Sergio Bertana
    Amministratore del forum

    La soluzione più semplice che mi sento di proporre è basata sul Termometro IP, abbinato ad un sensore di temperatura ed umidità. Il dispositivo ha la possibilità di visualizzare tramite pagina web i valori di temperatura ed umidità e permette di impostare soglie di attivazione allarme per l’invio di una eMail (Topic). Uno dei due valori (Temperatura o Umidità) può anche essere visualizzato in forma grafica (Topic). Per l’invio di SMS occorre appoggiarsi ad un servizio di eMail2SMS (Topic).

    Volendo approcciare una soluzione più industrial, è possibile abbinare un nostro modulo CPU SlimLine che acquisisce i valori da uno o più termometri IP via SNMP (Topic). Collegando al modulo CPU un pannello operatore touch screen è possibile gestire la visualizzazione dei valori, impostare le soglie di allarme, ed effettuare la visualizzazione in trend dei valori. Alcuni modelli di HMI permettono anche l’invio di eMail estendendo le possibilità di segnalazione gestite dal termometro IP. Naturalmente l’impiego di questi prodotti comporta la realizzazione di un programma e questo se da una parte aumenta la complessità del sistema dall’altro ne estende moltissimo le possibilità.

    Per quanta riguarda la storicizzazione, è possibile utilizzare il programma PDMS che si connette direttamente al termometro IP (Topic). Utilizzando il sistema SlimLine con il terminale è possibile salvare i dati storici sia nel file system dello SlimLine (Topic) che sul terminale (Topic).

    Per la parte di domanda relativa al Low-Cost tutti i prodotti citati hanno costi relativamente bassi, comunque consiglio di autoinviarsi una quotazione dalle pagine del sito (Topic).

    in risposta a: Operare con variabili REAL su Siemens S7-300 #38258
    Sergio Bertana
    Amministratore del forum

    Sui PLC S7-1200 come si evince anche dalla Guida connessioni PLC (Scaricabile dal ns sito) per gestire variabili REAL è predisposto il tipo Real.

    Sui PLC S7-300 non vi è un tipo definito per le variabili REAL, ma si utilizzano i tipi che operano su variabili DW (32 bit). Quindi utilizzeremo il tipo MD se si tratta di variabili allocate in area merker, o il tipo DBDn se si tratta di variabili allocate in DB. Naturalmente nel formato di visualizzazione occorrerà poi definire che si tratta di una variabile Float a 32 bit.

    Naturalmente si ricorda che le variabili a 32 bit (Sia DW che REAL) devono essere allocate nel PLC ad indirizzi divisibili per 4.

Stai visualizzando 15 post - dal 2,956 a 2,970 (di 4,374 totali)