Vai al contenuto

Stefano

Risposte nei forum create

Stai visualizzando 7 post - dal 1 a 7 (di 7 totali)
  • Autore
    Post
  • in risposta a: Lettura variabili ritenitive da Python ritornano valore “0” #69182
    Stefano
    Partecipante

    Colpito e affondato!

    Avevo fatto un pasticcio con “git” e non mi ero accorto che si erano disallineate le versioni del file plcprj.

    E anche leggendo la risposta ho dovuto tornare indietro due volte per vedere che i numeri erano diversi!

    Nel mentre ho scoperto che il mio parser necessita di una revisione, spero di farmi vivo a breve con una versione beta per chi la volesse provare!

    in risposta a: Lettura variabili ritenitive da Python ritornano valore “0” #69131
    Stefano
    Partecipante

    Grazie, appena arrivo ad un punto sensato lo pubblico che magari serve a qualcun’altro;)

    Il discorso offset lo avevo considerato e infatti ero arrivato all’indirizzo 41043. La rappresentazione grezza che restituisce Python è un array che stampato diventa: [0, 0, 0, 0] è indicativa e corrisponde a 4 registri settati interamente a zero. Per esempio

    %MD100.32 contiene un REAL raggiungibile da Python al registro 40015 [50368, 16796] [0xC4C0, 0x419C] e una volta convertito diventa 19.5960693359375
    %MD100.56 contiente un DINT raggiungibile da Python al registro 40027 [918, 0]  [0x0396, 0x0000] e una volta convertito diventa 918.

    %MD100.2688 contiente un UDINT raggiungibile da Python al registro 41343 [0, 0] e una volta convertito diventa 0: peccato che il vero valore sarebbe 3001 come riesco peraltro a leggere tramite pagina web usando:

    <span style=”color: #007200; white-space: pre;”><!–[‘%u’, UDINT, 2288]–>”</span>

    Non capisco la domanda relativa  a LogicLab: l’interazione è tra il PLC fisico e il codice Python su PC, LogicLab è spento.

    Stefano
    Partecipante

    Grazie mille: problema risolto!

    in risposta a: Libreria gestione stringhe json #46330
    Stefano
    Partecipante

    Ho provato ad usare la funzione JSONDecode per decodificare una stringa json che mi ritorna un inverter fronius che riporto qui sotto:

    {
    “Body” : {
    “Data” : {
    “Inverters” : {“1” : { “DT” : 81, “E_Day” : 4132, “E_Total” : 5225190, “E_Year” : 77704.703125, “P” : 1303}},
    “Site” : {“E_Day” : 4132, “E_Total” : 5225190, “E_Year” : 77704.703125, “Meter_Location” : “unknown”, “Mode” : “produce-only”,”P_Akku” : null,”P_Grid” : null, “P_Load” : null, “P_PV” : 1303, “rel_Autonomy” : null, “rel_SelfConsumption” : null},
    “Version” : “11”}
    },
    “Head” : {
    “RequestArguments” : {},
    “Status” : {“Code” : 0, “Reason” : “”, “UserMessage” : “”},”Timestamp” : “2019-01-10T11:38:56+01:00”}
    }

    Se non erro purtroppo, in questo caso, la libreria non funziona per due limiti, il primo e’ il newline che c’e’ dopo l’ultima graffa (ho il dubbio sugli altri newline) e il secondo sono le definizioni annidate, in particolare io avrei voluto leggere: “Body.Data.Inverters.1.P” ma non sono riuscito, sbaglio sintassi?

    Nel mio caso, volevo solo leggere la potenza prodotta istantanea, ho risolto in modo meno pulito anche se piu’ efficente: con una  ricerca  di sottostringa (‘”P” :’) e una scanf ho recuperato il valore.

    in risposta a: Informazioni sul cablaggio sonde Pt1000 #39938
    Stefano
    Partecipante

    Grazie ad entrambi per la risposta, concordo con voi con il consiglio generale di utilizzare sensori già “digitalizzati” come quelli ethernet/RS485 per l’applicazione che ho in mente, però considerato che non sono un installatore professionista e che è per casa mia (dove preferisco l’idea del sensore “stupido”) e soprattutto che tra gli scopi del progetto c’è anche quello di imparare cose (per me) nuove e quindi credo che proverò ad insistere sulla strada delle Pt1000.

    Per precisione poi ho verificato e il cavo che avevo segnalato, come ricordavo è effettivamente composto da due coppie, una twistata più sottile e una dritta più grossa, qui la scheda tecnica. Ad ogni modo, come scrivevo, se posso usare dei cavi ethernet CAT5e, è per me credo la soluzione più veloce e pratica e quindi lascio perdere il cavo indicato e faccio almeno un tentativo con l’ethernet !

    in risposta a: Semplice relè passo in linguaggio ladder #39596
    Stefano
    Partecipante

    Buongiorno, sto ripassando il linguaggio ladder che non uso da molti anni e sono agli inizi con SlimLIne e LogicLab4. Nel mentre che aspetto il libro della Sandit che tratta i vostri PLC, volevo costruirmi un semplice FB che emuli un relay passo-passo.

    Ho preso spunto dal progetto presente su questo topic ma non sono riuscito a farlo funzionare, ne come FB ne come programma semplice. Non riesco a capire cosa mi sfugge, potreste gentilmente dare un occhiata ed indicarmi cosa mi sono perso?

    L’unica cosa che ho fatto consciamente di diverso dal Vs progetto di esempio è stato NON usare variabili RETAIN perchè in questo momento non mi interessa la persistenza del sistema ad un blackout e mi va bene che il sistema si resetti con un interruttore.

    Volevo postare il programma sul forum ma non ho trovato modo di allegare il file di progetto, quindi l’ho inviato a support. E’ una svista mia o non è possibile?

    in risposta a: Come scrivere il mio primo programma “HelloWorld” #37370
    Stefano
    Partecipante

    Ok, fino all’HelloWorld mi sembra chiaro… Poi, dove è possibile reperire documentazione/tutorial/manuali specifici relativi alla programmazione in “C” per il modulo ARM9 ? Non mi riferisco tanto alla programmazione in “C” ma alle librerie da utilizzare per operare con ingressi/uscite ?

    E’ possibile testare qualcosa con qualche emulatore o devo per forza avere il modulo cpu fisico per fare qualche esperimento ? Lo stavo valutando per un’utilizzo in home-automation (casa mia) e mentre sono abbastanza ferrato su Linux/Reti/… dei PLC ricordo qualcosa di LADDER e basta e quindi ero più propenso verso la soluzione “Open”.

Stai visualizzando 7 post - dal 1 a 7 (di 7 totali)