ilgio80 Inserito: 30 maggio 2016 Segnala Inserito: 30 maggio 2016 io ho l HPLC da 4 anni. Vorrei sostituirlo con l HPLC.linux ho tutta la logica in ladder.. mi date un esempio di come dovrei trasformare la logica per usare l hplc.linux con python? esempio un pulsante passo-passo come lo faccio in python? Grazie
smoothhands Inserita: 30 maggio 2016 Segnala Inserita: 30 maggio 2016 Non conosco come viene strutturato un programma in python ma il problema non sta nella logica passo passo che è del tipo... Leggi vecchio valore di uscita. Se <vecchio valore = 0> allora scrivi 1 altrimenti scrivi 0. Questo pezzo di pseudo-codice ogni volta che viene applicato cambia il valore di una risorsa. Che altro non è il comportamento di un passo-passo. E' più importante semmai rilevare la pressione di un pulsante e questo ovviamente si traduce nel cambiamento di stato di un bit di ingresso. Quindi mi aspetto di mantenere in memora una serie di variabili inizialmente poste tutte a zero oppure lette direttamente dalla tabella delle risorse. Dopo questa fase di inizializzazione faccio un ciclo infinito in cui passo in rassegna tutti i bit di ingresso che mi possono interessare e li confronto con le variabili in memoria che avevo inizializzato. Quando avviene una una variazione da 0 a 1 di un ingresso eseguo lo pseudo-codice precedente per la variabile di uscita associata. E poi aggiorno la copia della mia variabile di ingresso che ho in memoria. Ovviamente tutto questo non tiene conto di periodi di aggiornamento delle risorse HomePLC gestiti dal processore domotico. Va diretto e viene ripetuto all'infinito molto rapidamente... anche molte volte per periodo (più o meno lo stesso concetto del Ladder). Però è un inizio su cui ragionare.
del_user_56966 Inserita: 1 giugno 2016 Segnala Inserita: 1 giugno 2016 Quote esempio un pulsante passo-passo come lo faccio in python? come detto nella prevedente risposta la logica è indipendente dal linguaggio utilizzato... in pratica potresti eseguire il codice direttamente oppure creare una funzione esempio la potresti chiamare Funzione Passo_Passo { Var } as Boolean la funzione non fa altro che eseguire la negazione di Var Passo_Passo = Not var la variabile Var prende quindi il valore di ritorno della funzione (che in pratica è la sua negazione).. Var = Passo_Passo (Var) questa funzione la si può eseguire in qualsiasi linguaggio... il problema rispetto a questa potrebbe essere quello nel creare delle funzioni molto più complesse....
del_user_56966 Inserita: 1 giugno 2016 Segnala Inserita: 1 giugno 2016 però potresti prendere in considerazione l'uso contemporaneo dei linguaggi e della logica Ladder tramite la configurazione Master Web... in quel caso i linguaggi collaborano e integrano soluzioni ma lo fanno in parallelo alla logica programmabile....
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