andreac_ Posted July 14, 2016 Report Share Posted July 14, 2016 Ciao a tutti, avrei bisogno di un'informazione che non sono riuscito a reperire in rete. Premetto che non sono un programmatore PLC ma un programaotre LabVIEW. Sto sviluppando un'applicazione LabVIEW in grado di acquisire numerose variabili da un CompactLogix L18ER utilizzando il protocollo ethernet/ip. Per accedere ad una specifica variabile è necessario conoscerne il TAG (il nome della variabile). Esistono delle variabili speciali note, cioè predefinite nel PLC (a livello di firmware), che contengono la lista di tutte le variabili definite nel programma? Grazie Link to comment Share on other sites More sharing options...
frjariello Posted July 17, 2016 Report Share Posted July 17, 2016 Non conosco il controllore che stai usando, ma per poterci comunicare devi conoscere il protocollo che utilizza (erhernet indica solo il cavo), ed a secondo del tipo di protocollo potresti anche ottenere la lista delle variabili, ad esempio se fosse bacnet/ip, o con il tuo software o con altri, puoi fare un discovery verso l'ip del controllore (magari conoscendo anche l'id) ed ottenere i punti bye bye Link to comment Share on other sites More sharing options...
rguaresc Posted July 17, 2016 Report Share Posted July 17, 2016 Nel compactlogix le variabili con nome e tipo sono liberamente definite dal programmatore e il loro numero dipende solo dalla memoria disponibile, Non esiste una variabile speciale come chiedi, dovrebbe essere un array inutilmente grande. Esiste un database delle variabili che si rigenera ad ogni compilazione sia entro la cpu che entro il file di programma. Non so come Labview comunichi con il compactlogix, ma abitualmente le applicazioni possono esplorare il database delle variabili sia online verso la cpu che offline verso il programma con il driver EtherNet/IP di RSLinx (o con altri supportati). Link to comment Share on other sites More sharing options...
pandex Posted August 18, 2016 Report Share Posted August 18, 2016 Normalmente con tutti i plc rockwell è molto semplice scambiare dati in ethernet/ip. In questo caso devi creare all'interno della configuration I/O del tuo plc (L-18) un modulo chiamato "Generic Ethernet Module" associando l'indirizzo IP della piattaforma NI. Il costruttore, in questo caso chi ti ha fornito labView, è a conoscienza di 4 dati fondamentali: -Input Assembly Instance & Size -Output Assembly Instance & Size -Configuration Assembly Instance & Size -Tipo di dati (SINT, DINT, REAL etc.) Su internet ho trovato il manuale che dice: Finding Examples Select .»Find Examples from LabVIEW to launch the NI Example Finder. Navigate to the Hardware Input and Output»NI-Industrial Communications»EtherNet/IP folder to access the examples. You can modify an example VI to fit an application, or you can copy and paste from one or more examples into a VI that you create. You also can find the examples for NI-Industrial Communications for EtherNet/IP in the labview\examples\ethernetipdirectory. Se guardi all'interno dell'esempio proposto sicuramente troverai i 4 criteri di comunicazione menzionati precedentemente. Una volta creato il modulo all'interno del programma plc troverai ingressi e uscite del generic module. A questo basta associare le tags plc che vuoi leggere nelle uscite del generic module. Cosi facendo non hai bisogno di sapere il nome delle tags perchè saranno appoggiate direttamente nelle uscite del generic module che potrai leggere come ingressi nella tua piattaforma. Ciao, Marco. Link to comment Share on other sites More sharing options...
Henon Posted November 10, 2016 Report Share Posted November 10, 2016 Penso che potresti controllare il pacchetto Ethernet/IP tramite uno Sniffing. per richiedere questa lista potresti richiederla tramite RsLinx puntando il PLC e chiedendo Data-Monitor in questo modo Rslinx richiede tutte le Tags del PLC. se intercetti questo pacchetto e lo anallizzi troverai la sintassi di richiesta. In LabView ci sono esempi già fatti per leggere e scrivere qualsiasi tipo di Tags. mediante il protocollo Ethernet-Ip usando un Socket alla porta 44818. puoi leggere anche array da 120 elementi in lettura o scrittura immediatamente. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now