Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Maggio 13, 2013 alle 4:06 pm in risposta a: Visualizzare all’accensione pagina con logo azienda #37640
Sergio Bertana
Amministratore del forumE’ più facile realizzare quello che necessiti che spiegarlo, quindi ho preparato un progetto in cui troverai la soluzione del tuo problema (Download progetto).
Per l’immagine di logo credo tu utilizzi un oggetto immagine all’interno di una pagina, questa pagina è quella definita come pagina iniziale nelle impostazioni di progetto. Alla accensione il terminale visualizzerà questa pagina (Nel mio esempio pagina 10), all’interno di questa pagina un pulsante imposta bit (Non visibile) attiva una macro ogni secondo.
Nel menù Controlli PLC ho inserito un controllo di cambio pagina (Screenshot), scrivendo il numero di pagina desiderato nella LW 0 il terminale visualizza la pagina definita ed azzera la LW 0.
La macro controlla il tempo e quando è trascorso il tempo desiderato (Nel mio esempio 5 secondi) scrive nella LW 0 il numero di pagina desiderato (Nel mio esempio 12) ed il terminale visualizza la pagina 12. Ecco il listato della macro.
macro_command main()
short Timer, Page=12
Timer=Timer+1if (Timer >= 5) then
SetData(Page, “Local HMI”, LW, 0, 1)
end ifend macro_command
Sergio Bertana
Amministratore del forumI write to you an example how to develop a simply FBD program, that copies a logic input on a logic output. To do it you you cannot simply connect the logic input to the output, you have to use the MOV instruction.
In the example program, I have also written the MyFunction function, this to explain to you how is possible to write the own functions or function blocks, and then use them (Any times it’s needed) in the programs.
It’s obvious that you can manage the I/Os in any of the 5 languages provided by the IEC61131 norm, but normally it’s better to write the logic sequencies in the IL or LD languages (Example program Printout, Download).
Maggio 2, 2013 alle 1:25 pm in risposta a: Connessione con I/O distribuiti TRP via modbus RTU #37636Sergio Bertana
Amministratore del forumSi certo la soluzione che hai prospettato è realizzabile, in questo post puoi trovare un esempio di come gestire da SlimLine i moduli di I/O distribuito tramite Modbus. Acquisiti i moduli appoggerai gli I/O su variabili di memoria dello SlimLine accessibili da Modbus. Il PC può essere connesso in Ethernet e lo stato degli ingressi acquisito tramite modbus TCP, utilizzando ad esempio un software SCADA (Vedi post), un applicativo sviluppato con ProfilabExpert (Vedi post) oppure un applicativo sviluppato ad Hoc con il linguaggio di programmazione da te conosciuto. Se lo sviluppo del protocollo modbus TCP è troppo complesso puoi sviluppare un protocollo di comunicazione calibrato sulle tue esigenze (Vedi post). Se devi solo visualizzare lo stato dei campanelli, in alternativa al PC ti consiglio l’utilizzo di un pannello operatore touch screen che ha già nativa la gestione del protocollo modbus TCP, inoltre volendo puoi gestire il suono del buzzer ed anche visualizzare lo storico di intervento dei campanelli. Il pannello può gestire anche storici su file permettendo di avere un report degli interventi dei campanelli relazionato con data/ora.
Sergio Bertana
Amministratore del forumAbbiamo effettuato diverse installazioni del driver RNDIS su sistemi Windows XP senza particolari problemi, naturalmente sono sistemi XP aggiornati al service pack III.
Per la connessione in seriale in questo post trovi lo schema del cavo di connessione ed in questo post trovi le informazioni su come effettuare la connessione.
Aprile 18, 2013 alle 6:01 am in risposta a: Normativa italiana per utilizzo dispositivi wireless LAN #37633Sergio Bertana
Amministratore del forumHo analizzato meglio il problema anche documentandomi su forums che trattano l’argomento ed in effetti sembrerebbe che nel caso della Picostation seppure l’antenna è compresa nella confezione occorra comunque impostarne il guadagno.
Quindi occorre definire nel campo Antenna Gain il valore di 6dBi che è il guadagno dell’antenna presente nella confezione. A questo punto se fissi il campo Auto Adjust to EIRP Limit avendo scelto l’Italia come paese la potenza di uscita viene fissata a 14 dBm.
Aprile 17, 2013 alle 7:55 am in risposta a: Normativa italiana per utilizzo dispositivi wireless LAN #37631Sergio Bertana
Amministratore del forumSeguendo quanto indicato nel manuale utente AirOS scaricabile dal nostro sito, la voce guadagno di antenna e perdita di potenza nel cavo sono applicabili solo per i dispositivi che prevedono un connettore di antenna, quindi se il dispositivo è munito di antenna la voce non và definita.
Antenna Gain (Only applicable to devices with external antenna connectors.) Enter the antenna gain in dBi. With Auto Adjust to EIRP Limit enabled, Antenna Gain calculates the TX power backoff needed to remain in compliance with local regulations.
Cable Loss (Only applicable to devices with external antenna connectors.) Enter the cable loss in dB. With Auto Adjust to EIRP Limit enabled, Cable Loss affects the TX power of the device.
Quindi nel tuo caso non devi impostare nulla, ma solo definire la potenza in uscita, se fissi il tick su AutoAdjust EIRP la potenza viene automaticamente impostata a 20 dB.
In pratica i dati di Antenna Gain e Cable Loss servono solo nel caso di dispositivi con antenna esterna a calcolare l’effettiva potenza irradiata per poterla impostare correttamente in base alle normative del paese.
Sergio Bertana
Amministratore del forumIntanto una precisazione, l’indirizzo dei moduli di estensione SlimLine non dipende dalla posizione in cui sono messi, ma deve essere settato tramite i dip switches presenti sotto al frontalino di plastica. In pratica con un cacciavite sui fà una leggera pressione nel taglio in basso sul frontalino e si sfila, poi si imposta l’indirizzo desiderato.
Per la lettura analogica si utilizza il blocco funzione SysGetAnInp mentre per la gestione delle uscite analogiche si utilizza il blocco funzione SysSetAnOut. Di default il modulo analogico ha indirizzo “0” è quindi nell’ingresso Address delle FB devi definire “0”. Nell’ingresso Channel delle FB devi definire il numero del canale che vuoi gestire.
Come hai detto tu i 5 canali di ingresso sono da indirizzare con valori da 0 a 4, mentre i 4 canali di uscita sono da indirizzare con valori da 0 a 4.
Aprile 5, 2013 alle 12:34 pm in risposta a: Comunicazione modbus master con serie di HMI Weintek #37627Sergio Bertana
Amministratore del forumConcludo la risposta dicendo che se vuoi eseguire la comunicazione a tempi determinati (Esempio ogni 5 Sec) basterà con un timer eseguire il set di una variabile StartCom, la quale attiverà il blocco funzione (O la serie in cascata dei blocchi funzione) e l’uscita Done della FB (O dell’ultima FB della cascata) andrà a resettare la variabile StartCom.
Naturalmente bisogna che l’intero ciclo di comunicazione duri meno del tempo di attivazione eseguito con il timer.
Aprile 5, 2013 alle 10:26 am in risposta a: Comunicazione modbus master con serie di HMI Weintek #37626Sergio Bertana
Amministratore del forumIl blocco funzione ModbusRTUMaster_v1 come molti altri blocchi funzione è stato pensato per poter essere facilmente eseguito in cascata, per cascata intendo condizionare l’esecuzione di una altra istanza del FB al termine della esecuzione di quella precedente. Come si vede nella stampa di questo programma, 4 istanze della FB sono poste in cascata.
La prima esegue lettura di 16 coils, terminata l’esecuzione (sia con esito positivo che su errore) viene attivata l’esecuzione della seconda che esegue la scrittura di 16 coils, poi viene eseguita la terza con la lettura di 8 registri e poi la quarta con la scrittura di 8 registri. Terminata la quarta attivando Done[3] si disattiva la prima e di conseguenza cadono tutti i Done facendo ripartire il ciclo. Impostando un tempo nella variabile Delay puoi ritardare l’esecuzione di una FB rispetto all’altra.
Qui nel mio programma di esempio (Download programma) comunico sempre con lo stesso terminale ma tu puoi mettere tante FB quante te ne servono indicando come indirizzo di nodo l’indirizzo dei vari terminali della tua applicazione.
Da quanto espresso è evidente perchè non funziona il tuo programma, non puoi utilizzare un fronte per attivare la FB, l’abilitazione deve essere attiva almeno per tutto il tempo di esecuzione comando. Togliendo l’abilitazione la FB termina il suo funzionamento.
Aprile 5, 2013 alle 9:46 am in risposta a: Comunicazione modbus master con serie di HMI Weintek #37624Sergio Bertana
Amministratore del forumStavo preparandoti un esempio, ma vengo alla tua domanda il codice 16#01 è corretto ma devi tenere presente che modbus ha come offset 1 quindi per leggere la variabile LB 0 devi indicare indirizzo 1.
Nel mio esempio (Ecco la stampa del programma PLC) ho gestito la lettura di 16 variabili bit (Da LB 0 a LB 15), nel programma del pannello ho gestito 8 pulsanti toggle da LB 0 a LB 8. Ti allego programmi SlimLine e HMI per il download.
Aprile 5, 2013 alle 6:20 am in risposta a: Comunicazione modbus master con serie di HMI Weintek #37622Sergio Bertana
Amministratore del forumIn attesa di prepararti un esempio, vedo cha hai definito DTRManagement a 0 (DTR_OFF), è questo è sicuramente un errore, dovendo gestire una comunicazione multidrop in RS485 su 2 fili, il segnale DTR è usato come “Commutatore” della direzione dati.
In pratica quando il modulo CPU deve trasmettere verso i terminali il segnale DTR deve essere attivo, e poi quando deve ricevere indietro la risposta il segnale DTR deve essere disattivo. Questo scambio sul segnale DTR viene eseguito automaticamente dal driver seriale dello SlimLine ma devi impostare DTR management a 2 (DTR_AUTO_WO_TIMES).
Credo che sia questo errore la fonte dei tuoi problemi, intanto di rimando anche alla lettura di questi due posts (Post 1) e (Post 2).
Sergio Bertana
Amministratore del forumNon mi dici che modulo CPU utilizzi, il driver USB RNDIS non è disponibile sulle versioni CPU ARM7 Versione A. Se sul tuo modulo è gestito ed utilizzi Windows XP, 7 oppure 8 come detto precedentemente non vi è nessun driver da cercare perchè è nativo nel sistema Windows.Una volta installata la scheda di rete RNDIS devi assegnarle l’indirizzo IP appartenente alla stesa rete del modulo CPU SlimLine (Di default 192.168.1.122), segui quanto riportato nel post precedente.
Sergio Bertana
Amministratore del forumHo contattato il fornitore in merito alla tua domanda sulla possibilità di resettare i valori massimi. La risposta è che il HWg-PWR si limita a leggere tramite M-Bus i dati dai contatori, quindi anche il valore massimo viene letto dal contatore.
Quindi un eventuale reset dello stesso deve essere eseguito a livello contatore (Se il contatore ne è provvisto).
Sergio Bertana
Amministratore del forumPer rispondere nello specifico alla tua domanda ti ricordo che da pannello operatore non puoi accedere direttamente agli I/O reali dello SlimLine, ma puoi accedere solo a variabili mappate nella DB100. Quindi per gestire gli I/O devi definire variabili BOOL in DB100 a partire da indirizzo MB100.16, il terminale agirà su queste variabili.
Ho realizzato un semplice dimostrativo definendo una variabile di appoggio ingresso Inp00 allocata a MB100.16 (Indirizzo Modbus 40016), ed una variabile di appoggio uscita Out00 allocata a MB100.17 (Indirizzo Modbus 40017). Come vedi dalla stampa del programma SlimLine ho semplicemente eseguito un appoggio delle variabili negli I/O reali (Nell’esempio uso gli I/O del modulo CPU).
Sul pannello operatore ho inserito un oggetto lampada bit che ho legato alla variabile 0x 40016 dello SlimLine ed un oggetto ToggleSwitch che ho legato alla variabile 0x 40017 dello SlimLine (Vedi screenshot).
L’oggetto ToggleSwitch permette di definire due variabili, la variabile in lettura viene utililizzata per visualizzare lo stato mentre la variabile in scrittura viene impostata agendo sull’oggetto. Le due variabili normalmente coincidono come nell’esempio. Allego il file sorgente sia del programma su SlimLine che del programma terminale (Download).
Sergio Bertana
Amministratore del forumIl pannello operatore può dialogare con i moduli CPU SlimLine sia tramite una connessione seriale con protocollo Modbus RTU (Di default 115200, e, 8 nodo Modbus 1), che con protocollo modbus over IP (Di default porta 502 nodo Modbus 1). Naturalmente tu disponendo di una versione 6050i che non ha la porte ethernet puoi solo dialogare in seriale.
I comandi Modbus supportati sono il comando 0x per accedere a variabili BOOL ed il comando 3x per accedere a variabili numeriche, sono supportati tutti i tipi di variabili INT, UINT, DINT, UDINT e REAL. Dai una occhiata a questi posts per maggiori informazioni (1), (2). Ma cercando nel forum ne troverai molti altri.
In questo post è riportato un programma di esempio con relativi files sorgenti che ti aiutano nella comprensione di come operare tra pannello HMI e SlimLine.
-
AutorePost