Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Giugno 25, 2015 alle 6:39 am in risposta a: Utilizzare tensione di alimentazione dal bus di espansione #38983
Sergio Bertana
Amministratore del forumI moduli CPU SlimLine nelle versioni espandibili hanno il connettore transition a 10 poli per la connessione dei moduli di espansione su cui è disponibile una tensione di 5V per l’alimentazione dei moduli. Facendo riferimento al Manuale hardware CPU SlimLine LogicLab Compact OEM (Stralcio) vengono riportate le connessioni del bus di espansione.
Come vedi ci sono due diverse uscite a 5V riferite alla stessa massa, naturalmente questa alimentazione è disegnata per alimentare moduli connessi vicini al modulo CPU. Non è consigliabile portare questa alimentazione a distanze superiori di quelle specificate nel bus (Max 2 metri).
Ora venendo alla tua domanda, mi parli di una CPU compact Lite la quale non ha il connettore di espansione, quindi non puoi connetterti per prelevare i 5V. Naturalmente la tensione è presente sul circuito stampato e quindi volendo puoi saldare due fili e prelevarla ma tutto questo è inutile dire che fà decadere la garanzia sul prodotto.
Ho visto comunque che il modulo SL025B (Manuale utente) può essere alimentato fino a 12V quindi ti consiglierei di alimentare sia il modulo CPU che il modulo SL025B con una alimentatore a 12Vdc.
Giugno 19, 2015 alle 3:04 pm in risposta a: Wireless bridge between two buildings in a forest #38982Sergio Bertana
Amministratore del forumConsidering the obstruction I suggest to take all the possible improvements to make the connection between radiomodems more stable as possible. So the Yagi 3-elements antenna is suggested. Please also to consider to use the VHF169 instead of the DL due its more output power. All our SlimLine family products can manage the Modbus communication (They can act as a master or slave). So there is no problems to establish a communication between the Eaton and our SlimLine. Moreover also the communication between LogicLab programming environment and the SlimLine is using the Modbus protocol, so it’s also possible to program and debug the program over the radiomodem connection.The ERE Water Proof IP66/68 radiomodems (Datasheet) have the same DL series characteristics. The only advantage is that they are in mounted in a waterproof case. If you need that kind of case, you can use them. Please remind to the output power difference against the VHF169 serie.
Giugno 19, 2015 alle 2:03 pm in risposta a: Wireless bridge between two buildings in a forest #38980Sergio Bertana
Amministratore del forumConsidering the obstruction made by the trees and specially the obstruction of the line of sight made by the terrain to have the maximum signal propagation we suggest to use the lowest frequency available.In our range of products, the two models that we can propose are which that operate on 169 MHz VHF frequency. You can refer to the D51x series at 169MHz that has an output power up to 500mW.
Sergio Bertana
Amministratore del forumPosto la risposta ricevuta da Axel.
L’immagine di processo viene attivata solo se il compilatore si accorge che si stà utilizzando una variabile che fa riferimento a un datablock con immagini di processo. Con i puntatori, non è possibile sapere compile-time a cosa si punta occorre quindi effettuare nel programma almeno un accesso alla variabile.
Quindi la risposta avvalora la soluzione proposta è sufficente nel programma richiamare la variabile, questo permette al compilatore di “vederla” come referenziata e quindi provvede a gestirne l’immagine di processo.
Giugno 16, 2015 alle 1:19 pm in risposta a: Utilizzo Shape in movimento senza lo stato della shape #38977Sergio Bertana
Amministratore del forumQuindi mi sembra di capire che non puoi allocare registri contigui sul PLC. In questo caso nulla di più semplice, relazioni l’oggetto Shape in movimento a variabili LW del terminale anzichè ai registri diretti del PLC. Poi tramite l’oggetto Trasferimento ciclico trasferisci i registri del PLC sulle variabili LW del terminale.
Sergio Bertana
Amministratore del forumThe manual to which i refer to is one called IEC61131-3 programming Manual (English) (Included in the LogicLab programming package) you can download the last version of it from the NetlogIII web site page. On it last version (Code Mnl151c080) at page 136 you will find the SysI2CWrRd function.
In the Functions and FBs for extension modules management chapter there are all the functions and FBs designed to manage the extension modules that can be attached to the bus (IE all the SlimLine I/O modules).
One of the feature of the IEC61131 standard is the possibility to develop by your own the functions and FBs. So you can develop your own hardware module and supply the related FB to manage it. The FB can also be encrypted so your customer can use it but cannot see how it is written (See topic, topic).
All the SlimLine I/O modules can manage encoders, one or more channel each module, and FB to read them is also available.
Giugno 16, 2015 alle 12:26 pm in risposta a: Collegamento tramite radiomodem DL169 tra sistemi SlimLine #38971Sergio Bertana
Amministratore del forumDimenticavo… come indicato sul manuale del radiomodem “Accensione/spegnimento tramite DTR“.
Avendo impostato sulla seriale il DTR auto, il segnale DTR si muove automaticamente durante la trasmissione dei dati (Questo serve nelle comunicazioni RS485 Haf-Duplex) in questo modo però viene comandata anche l’accensione e spegnimento del radiomodem. Devi impostare DTR On, e comunque verificare che il radiomodem sia effettivamente acceso.
Giugno 16, 2015 alle 9:34 am in risposta a: Collegamento tramite radiomodem DL169 tra sistemi SlimLine #38969Sergio Bertana
Amministratore del forumDa quello che hai scritto sembra tutto a posto, se ho ben capito hai provato i due radiomodem in connessione RS232 e tra di loro comunicano. Di fatto i radiomodem vengono forniti di default già per comunicare tra loro in RS232.
Hai realizzato un programma su di uno SlimLine dove immagino hai utilizzato il blocco funzione ModbusMaster e come dici collegando questo SlimLine con un altro con un cavo cross i due dialogano. Quindi se questo è vero vuol dire che il programma sullo SlimLine master è corretto. Non mi dici se sullo SlimLine slave utilizzi il modbus slave gestito dal sistema operativo o se hai realizzato un programma con un FB ModbusSlave.
Ora il dubbio che mi viene è questo i radiomodem hanno come modo seriale di default 9600, n, 8 mentre lo SlimLine ha 115200, e, 8. Hai provveduto ad impostare il corretto baud rate ed eliminato la parità sullo SlimLine, visto che il radiomodem al massimo arriva a 38400 ?
Per modificare i parametri seriali sullo SlimLine puoi accedere da pagina web, oppure utilizzare da programma il FB SetSerialMode, ma in questo caso sei obbligato ad utilizzare il FB ModbusSlave. Attenzione se modifichi il baudrate ricordati di adattare il valore di IFTime nel FB Modbus.
Sergio Bertana
Amministratore del forumThe Netlog III CPU module is sold as OEM module it’s the CPU module used on the Netlog III programmable controller. It has the same architecture and shares all the features you can find in the SlimLine LogicLab family products. This means that you can load and execute on it all the example programs available on this forum and developped for the SlimLine products. About your questions.
1) Yes it has a real time clock and a power CAP is capable to power it without power supply for about 1 month. The operating system automatically manages the time zone and daylight saving. A FB for SNTP syncronization is also available (See topic).
2) The operating system manages 4 different tasks Boot: Executed at the startup, Slow: Executed every 10 mS, Fast: Executed every 1 mS, Back: Executed on backgrond. The execution time of Slow and Fast tasks can be modified by program (See topic). You can add to every task all programs (Written in all 5 languages) you want.
3) Yes sure, all libraries are documented in the IEC61131-3 programming Manual. On the forum you can find some example of connection with commercial I2C devices (See topic) and other equipments.
4) No the C code is not available. I remind to you that the ST (Structured Text) language is similar to C and has pointer, data structures, bidimensional arrays, strings and many of statements like IF, FOR, CASE, WHILE tipicals of C language.
5) If you are registered to the site you can see the price directly. If you are not registered near every part code there is an € sign, by clicking on it the site automatically will send to you by email an quotation.
Sergio Bertana
Amministratore del forumPer collegare i moduli di espansione al modulo CPU serve un CBL074*000 per ogni modulo di espansione. Sull’ultimo modulo della serie sebbene possa essere utilizzato anche il CBL074*000 si può utilizzae ll CBL045*000 che a differenza dell’altro termina non lasciando connettori scoperti.
L’esempio è estremamente semplice, un FB SysGetAnInp acquisisce il valore di tensione analogica, e poi utilizzando il blocco di comparazione attivi l’usciti se il valore acquisito supera il valore di confronto (Ecco lo screenshot).
Giugno 15, 2015 alle 6:26 am in risposta a: Configurare le impostazioni di rete (Indirizzo IP) #38961Sergio Bertana
Amministratore del forumI moduli CPU Slimline sono venduti con indirizzo di default 192.168.0.122, netmask 255.255.255.0, gateway 192.168.0.1. Se create una rete peer to peer con un PC ed impostate nel PC un indirizzo IP ed un netmask compatibile con l’indirizzo di Slimline (Vedi FAQ), potrete accedere direttamente alla pagina di configurazione da web (Screenshot). Come si vede le credenziali di default sono Admin, Admin. Definiti i nuovi parametri dalla pagina Network Setup dopo il tasto Save occorre eseguire un reboot del sistema (Basta spegnere e riaccendere il sistema) per rendere attive le nuove impostazioni.
Più semplice è impostare i parametri di network con il programma Toolly tramite l’utility Discover (Screenshot) vengono visualizzati tutti i dispositivi Elsist trovati in rete indipendentemente dalla classe di rete del PC che esegue il programma. La ricerca è eseguita a livello broadcast ed è compatibile con tutti gli switches di rete. Per sicurezza cioè per impedire modifiche fraudolente alle configurazioni dei sistemi, l’operazione è posibile solo per i primi 10 minuti di accensione del sistema.
Per qualsiasi evenienza è sempre possibile accedere al sistema tramite una connessione seriale di emergenza (Topic) da cui con semplici comandi testuali è possibile impostare i parametri di configurazione.
Sergio Bertana
Amministratore del forumNon sò quale sia il programma EasyProtocol che tu citi ma ritengo possa trattarsi del programma DIOManage (Stampa) riportato in questo topic. In effetti questo programma fà esattamente quello di cui tu hai bisogno infatti come vedi dalla stampa le variabili
DInputs AT %MW100.16 : UINT; (* Digital inputs *)
DOutputs AT %MW100.18 : UINT; (* Digital outputs *)Contengono lo stato dei 16 I/O digitali di un modulo di epansione con indirizzo 0. Le variabili sono già allocate nella DB100 che è l’area accessibile da Modbus quindi non devi riallocarle (Ma se vuoi spostarle di posizione puoi farlo).
Ora il concetto più complesso è capire come raggiungere da Modbus queste variabili, come vedi leggendo il topic per acquisire lo stato degli ingressi devi eseguire un comando 03 Read holding registers al registro 40008, per settare le uscite devi eseguire un comando modbus 10 Preset multiple registers al registro 40009. Attenzione, modbus per sua definizione ha offset 1, solitamente i drivers di comunicazione degli SCADA gestiscono questo offset ma non sò se LabVIEW lo gestisce quindi può anche darsi che devi sottrarre 1 all’indirizzo (Quindi avrai 40007 e 40008).
Per vedere se gli I/O sono gestiti basta utilizzare la finestra di watch di LogicLab e scrivere un valore nella variabile DOutputs e vedrai attivarsi le uscite logiche.
Sergio Bertana
Amministratore del forumNon è un tuo errore ma è una anomalia del compilatore LogicLab, il problema tira in ballo la gestione dell’immagine di processo degli I/O digitali. Questo argomento lo abbiamo già trattato in altri topics (Vedi questo, questo e questo).
In pratica tu stai gestendo correttamente la funzione SysVarsnprintf in una task in Back mentre gli I/O sono automaticamente acquisiti in Slow, quindi tu visualizzi non l’ingresso reale ma la sua immagine di processo ricreata automaticamente da LogicLab prima di eseguire i programmi della task Slow. Il bug è che il compilatore avendo tu utilizzato l’attributo ADR per la variabile non si accorge del’uso della stessa ed in una eccessiva ottimizzazione non esegue l’aggiornamento della immagine di processo lasciando la variabile sempre a 0.
Workaround, puoi semplicemente dichiarare una variabile Dummy di tipo BOOL ed aggiungere nel tuo programma in Back il codice
IF (FALSE) THEN Dummy:=PresenzaTensione; END_IF;
Se hai piu ingressi, nella IF puoi copiare ogni ingresso sempre su Dummy, tanto non conta che la copia sia eseguita (La IF non viene mai eseguita) ma il compilatore “vede” l’utilizzo della variabile allocata sull’ingresso reale e provvede automaticamente ad aggiornare l’immagine di processo. Provvedo ad informare Axel del problema.
Sergio Bertana
Amministratore del forumCome tutti i server HTTP il server gestito da SlimLine analizza l’estensione del file indirizzato e ritorna un header adatto alla sua visulizzazione (Se è un file visualizzabile) oppure indica al browser di salvarlo su disco se non è visualizzabile.
Solo nel caso dell’estensione htm il file viene parsato dal server alla ricerca delle TAGs di visualizzazione che sono sostituite con il valore della variabile durante l’invio del file al browser.
Sergio Bertana
Amministratore del forumImmagino che la versione del sistema operativo che stai utilizzando sia superiore all SFW184A700, da questa versione è stato gestito il singolo apice nella definizione delle TAGs nelle versioni precedenti era obbligatorio il doppio apice.
La directory dove trasferisci la pagina htm non ha importanza può essere sia Storage che SDCard, comunque ti allego il sorgente pagina htm (File DPage.htm) prova ad usare il mio file. Nel mio file per sicurezza ho utilizzato i doppi apici così funziona con qualsiasi versione del sistema operativo.
-
AutorePost