Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Maggio 14, 2016 alle 6:12 am in risposta a: Realizzare un controllo carichi con controllori SlimLine #39573
Sergio Bertana
Amministratore del forumAnche se è più comodo utilizzare un parzializzatore ad hoc pilotato con un riferimento di tensione, teoricamente è fattibile un controllo di fase vedo di indicare come realizzarlo.
Utilizando un programma in task Fast ad 1 mS è possibile campionare un ingresso digitale che legge la tensione di linea (Con un trasformatore). In questo modo posso rilevare quando passa per lo zero (Ingresso spento). In realtà l’ingresso si spegnerà un pò prima del passaggio per lo zero ma il tempo è determinabile.
Ora conoscendo il tempo di inizio semionda di rete posso ritardare a steps di 1 mS l’attivazione del carico accendendolo prima o dopo in base alla parzializzazione che desidero. Se uso come scheda di uscita una scheda statica (Non SSR) ed attivo un triac di potenza dopo l’attivazione posso disattivare immediatamente l’uscita. Tanto per sua caratteristica il triac resterà in conduzione fino al prossimo passaggio per lo zero della semionda.
Come I/O devo utilizzare quelli del modulo CPU, le estensioni hanno un tempo di gestione di 200-300 uS. Visto che le operazioni da compiere nella task Fast sono molto poche posso anche velocizzarne l’esecuzione (Funzione SysSetTaskLpTime). Ora visto che a 50 Hz la semionda dura 20 mS ad 1 mS di esecuzione posso avere al massimo 20 livelli di parzializzazione, ma se riduco il tempo a 500 uS avrò 40 livelli e così via.
Sergio Bertana
Amministratore del forumNon esiste un servizio VCom, però mi chiedevo come mai non è accettabile attivare l’esecuzione del programma inserendolo in esecuzione automatica ?
In alternativa esiste un comando Windows che permette di eseguire un programma come servizio. Per creare un nostro servizio personale andremo a lanciare un comando del genere:
sc.exe create “NomeServizio” type= interact type= own start= auto binPath= “C:windowssystem32calc.exe”
Nota: è necessario includere uno spazio fra l’uguale ed il valore.Io personalmente non ho provato ma utilizzare il programma sc.exe potrebbe essere un workaround al tuo problema.
Sergio Bertana
Amministratore del forumConsiglio il convertitore ATC-1000WF che può essere configurato come station ed agganciarsi alla rete WiFi esistente (Topic). Utilizando un convertitore per ogni macchina CNC è possibile dal PC utilizzando un software di virtualizzazione porta seriale (Topic) realizzare una connessione seriale con il CNC.
Se i CNC sono disposti ad isola (Più CNC nella stessa zona) è anche possibile utilizzare un ATC-1000 per ogni CNC e tramite uno switch a più porte connetterli tutti con cavo Ethernet ad un access point WiFi (Esempio una Picostation).
Ricordo che la conversione seriale su TCP/IP introduce dei ritardi ed in alcuni casi può essere che questi ritardi siano incompatibili con il protocollo da veicolare. Purtroppo non è possibile saperlo a priori quindi consiglio sempre di fare una prova, magari come nel tuo caso utilizzando un solo convertitore prima di procedere all’acquisto di tutti.
Sergio Bertana
Amministratore del forumNon ho pubblicato i messaggi perchè dagli screenshot allegati si evince chiaramente una confusione tra il concetto di porta TCP/IP e baud rate di comunicazione. Il valore di 115200 è chiaramente un valore di baud rate visto che le porte TCP/IP hanno range 0-65535.
Abbiamo cercato di contattarvi telefonicamente da alcuni giorni per spiegarvi di persona il concetto di porte TCP/IP e baud rate, ma la vostra segretaria continua a filtrarci dicendo che non siete in azienda. Quindi se volte informazioni contattatateci voi direttamente.
Sergio Bertana
Amministratore del forumIniziamo con il tipo di CPU, il driver di comunicazione è stato sviluppato da Axel che è la ditta che ci fornisce l’ambiente LogicLab. Questo è un driver generico che viene utilizato sia su sistemi ARM9 che ARM7 come lo SlimLine. La scritta che compare è sempre la stessa per tutti i sistemi ed è ARM9 (Vedi screenshot).
In merito al tempo di download noterai un tempo lungo perchè di default LogicLab imposta di eseguire il download del sorgente programma ad ogni download dell’eseguibile. Siccome il sorgente è lo zip di tutta la cartella progetto esattamente com’è sul PC i files sorgenti e le librerie con tutti i commenti hanno una certa dimensione e questo richiede un certo tempo sia di trasferimento che di scrittura sulla memoria FLASH dello SlimLine.
Per ridurre i tempi io consiglio come indicato in questo topic di eseguire il download dei sorgenti solo alla disconnessione Screenshot.
Maggio 12, 2016 alle 8:13 am in risposta a: Tempo di riconnessione al server da FB TCP Client #39566Sergio Bertana
Amministratore del forumHai eseguito l’upgrade all’ultima versione del sistema operativo (Vedi FAQ) ? Dalla versione SFW184B020 abbiamo risolto un bug.
Risolto bug del SysTCPClient: sul Connect, a volte non effettua la connessione.Maggio 12, 2016 alle 6:13 am in risposta a: Realizzare un controllo carichi con controllori SlimLine #39564Sergio Bertana
Amministratore del forumSei in tema, ora per quanto riguarda la lettura delle potenze puoi utilizzare i contatori trifase con interfaccia in RS485, abbiamo librerie specifiche per la gestione.
Sicuramente puoi utilizzare le uscite in PWM per modulare delle resistenze elettriche, esiste il FB SysSetPWMOut per la gestione delle uscite PWM veloci, ed il FB PWMOut che permette di utilizzare una qualsiasi uscita digitale per un comando PWM. Quest’ultima è la soluzione ideale per il comando di resistenze infatti è utilizzata molto in quell’ambito. Abbinandola ad una uscite zero crossing è perfetta.
Però la mia perplessità nel tuo caso è che tu crei picchi di consumo in corrispondenza della attivazione della resistenza e questo produrrà un consumo di energia lato Enel. Perchè è vero che modulando in PWM l’energia termica ed elettrica è una media tra i tempi di On/Off ma l’energia elettrica istantanea dipende dal carico.
Per la tua applicazione credo dovresti modulare le resistenze in parzializzazione di fase, oppure avere molte resistenze separate ed accenderle in base alla energia fotovoltaica.
Sergio Bertana
Amministratore del forumNel linguaggio ladder non puoi incrociare i fili, però quello cha hai fatto mi sembra corretto (Ma di che tipo è connect, dovrebbe essere un UDINT).
Intanto ricordo che l’operando ADR può anche essere utilizzato liberamente nel ladder (Cioè non connettendolo ad alcun filo) come nel programma di esempio (PTP114A620, LD_ModbusMaster) a pagina 154 del manuale (Estratto).
Dalla versione 4 di LogicLab è stato modificato l’editor ladder e trà le caratteristiche è stata aggiunta la possibilità di definire sui pin di ingresso dei FBs anche delle equazioni (Esempio ADR(RxData)) come si può vedere nel programma di esempio (PTP114A650, LD_ModbusMaster (Estratto)).
Come si vede nell’esempio è stata anche sostituita l’apertura della porta seriale utilizzando il nuovo FB SysSerialPort.
Sergio Bertana
Amministratore del forumHo realizzato un semplice programma in ST (OWTemperature) che esegue la lettura di 2 sonde in sequenza ecco il listato del programma.
Come si vede nella parte di gestione one-wire ho inserito anche il FB OWID di tipo sOWRdIdentifier per poter acquisire l’ID. Per acquisirlo occorre abilitare il FB. Attenzione, per rilevare l’ID del sensore bisogna collegare un solo sensore di temperatura.
OWID(Enable:=TRUE); (* One wire identifier *)
Acquisito l’ID basterà copiare il valore di IDCode nella definizione del sensore. Come vedi nel mio esempio ho definito due sensori di cui ho rilevato l’ID (Download programma).
Sergio Bertana
Amministratore del forumVedo dallo screenshot che hai impostato porta 115200, ma la porta di default del convertitore è la 5000 come indicato in questo topic. Per la configurazione del convertitore occorre agire dalla pagina web impostandolo come server TCP e definendo la porta TCP/IP da utilizzare (Default 5000).
Sergio Bertana
Amministratore del forumL’errore che riporti indica come dici tu che non è definito il File. Molto strano visto che il file è definito per gli altri comandi.
Mi viene il dubbio che in qualche parte del tuo programma uno spuntamento di pointer e/o una scrittura fuori range in qualche array vada a sporcare il valore di File. Potresti provare a scrivere un semplicissimo programma in ladder con una sola chiamata alla FB ModbusMaster con il comando di scrittura registri incriminato e verificare se funziona.
Sergio Bertana
Amministratore del forumNon mi dici su che sistema operativo hai installato il programma e quale è l’antivirus in questione.
E’ la prima segnalazione di questo tipo che riceviamo, comunque se mi fai avere le informazioni sul sistema operativo e l’antivirus giro la segnalazione ad Axel che è l’azienda che sviluppa l’ambiente LogicLab.Sergio Bertana
Amministratore del forumThis question has been treated in this topic.
Sergio Bertana
Amministratore del forum1) Problema con i Font. Probabilmente il progetto è stato fatto su un altro PC con impostazione DPI differente da questo, appena aperto il progetto andare in tools impostazioni DPI ed indicare i DPI del PC sorgente esempio 100%. Questo argomento è stato già trattato in questo topic.
2) Salvataggio dei dati di Log. La possibilità di impostare il nome file è una caratteristica di EasyBuilderPro non è disponibile su EasyBulder 8000. In questo topic trovi informazioni su come opera la registrazione dati storici su EasyBuilderPro.
Sergio Bertana
Amministratore del forumRicordo che questo argomento era stato già trattato in questo topic.
Ecco le porte sono utilizzate dal terminale operatore cMT-SVR.TCP 80: System Setting/Misc.
TCP 8000: COM
TCP 10763: For UAC, Trend, Event Display
UDP 10275: Search HMI -
AutorePost