sperimento Inserito: 5 maggio 2011 Segnala Inserito: 5 maggio 2011 (modificato) EDIT: Per favore un mod sposti il topic nella giusta sezione, ho sbagliato grazie.Salve a tutti.Non riesco a leggere da WinLog Lite una variabile BOOL su uno Slimline della Elsist. Vi mostro di cosa si tratta, c'ho perso parecchie ore sui manuali senza successo, magari qualcuno mi sa dire dove sbaglio:Lato SlimLine: Programma Ladder, variabile BOOL mappata su indirizzo %MX100.10, il manuale recita:MX: Area di memoriaA queste aree è possibile accedere utilizzando tutti i tipi di variabili definiti. Siccome tutte le variabili utilizzano la stessaarea di memoria, occorre prestare attenzione alla dimensione in bytes del tipo definito per evitare sovrapposizioni diindirizzo.Ad esempio una variabile DWORD allocata ad indirizzo MX100.10 utilizzerà anche lo spazio di memoria MX100.11,MX100.12 ed MX100.13. Quindi allocando una variabile BYTE all'indirizzo MX100.11 si andrebbe ad occupare unospazio di memoria già utilizzato dalla variabile precedente.Accesso variabili da ModbusNelle funzioni che accedono al bit singolo (In realtà ogni bit equivale ad un byte di memoria) si utilizza nelcomando l'indirizzo della variabile, quindi dovendo accedere alla locazione MX100.50 utilizzeremo come indirizzo ilvalore 40050.Nelle funzioni che accedono ai registri (16 Bits) occorre considerare l'indirizzo della variabile diviso per 2, quindidovendo raggiungere da Modbus la locazione MX100.50 utilizzeremo come indirizzo il valore 40025.Lato WinLog Lite: Semplice led che riporta lo stato della variabile, configurato come da screenshot. Per spiegare cosa ho fatto qui dovrei riportare troppi passi da troppi manuali. Per i link ai manuali rimando ai più volenterosi a questo link, spero però che qualcuno che mastica WinLog possa rispondermi. Il collegamento avviene attraverso Modbus TCP Il risultato finale è che la campionatura della variabile me la da come "OK" ma il valore è sempre 0. Sono sicuro però che la variabile sia "true". Modificato: 5 maggio 2011 da sperimento
sperimento Inserita: 5 maggio 2011 Autore Segnala Inserita: 5 maggio 2011 Grazie a un software chiamato "Modsak" che legge le aree di memoria del PLC via Modbus ho capito dov'era il problema e dopo quasi 24 ore di smanettamenti ho risolto! Non calcolavo stupidamente che le aree di memoria messe a disposizione dal PLC partono da 0... non da !!!!Quindi MX100.10 = 40009 !!!!!!!!! Eureka!!
FabioPD Inserita: 27 giugno 2014 Segnala Inserita: 27 giugno 2014 Ciao hai comprato la versione full o stai usando una Lite? Sto cercando qualcosa del genere che funzioni su browser...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora