Vai al contenuto
PLC Forum


sostituire hplc ocn linux


ilgio80

Messaggi consigliati

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

Link al commento
Condividi su altri siti


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.

 

 

 

 

 

 

 

Link al commento
Condividi su altri siti

del_user_56966
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....

 

 

Link al commento
Condividi su altri siti

del_user_56966

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....

Link al commento
Condividi su altri siti

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...