Vai al contenuto
PLC Forum


Tecnica batch


alefrasca

Messaggi consigliati

Salve, sto studiando la tecnica batch e se non ho capito male è molto comoda e pratica e viene utilizzata sempre di più. Ora vorrei capire se è possibile utilizzarla cambiando le fasi con move in una variabile piuttosto che usare il set/reset. Per chi la utilizza quali sono i pregi e i diretti dei due modi di utilizzo?

Link al commento
Condividi su altri siti


  • Risposte 54
  • Created
  • Ultima risposta

Top Posters In This Topic

  • step-80

    17

  • Cesare Nicola

    13

  • batta

    9

  • leleviola

    9

A me sembra troppo banale e preferisco utilizzare SET/RESET oppure shift register oppure meglio ancora la tecnica di programmazione a stati o SFC in Mitsubishi o il Graph in Siemens, con tali metodologie si ha attiva sempre una o più fasi attive a seconda della logica che si deve sviluppare, finche la logica da sviluppare prevede solo uno stato di funzionamento attivo può andar bene anche la logica sviluppata tramite l'impostazione numerica del passo attivo ma quando la logica da sviluppare prevede la diramazione parallela di più passi attivi contemporaneamente la metodologia di sviluppo a stati o SFC è la più funzionale e priva di inutili complicazioni dove il passaggio da uno stato attivo a un altro è sviluppato tramite apposite istruzioni di transizione passo

Link al commento
Condividi su altri siti

È un po' ciò che intendevo, nel senso che se definisco una variabile ad esempio "fase" e nell'OB1 imposto con move I vari stati 1,2,3, ecc.. e dopo uso i contatti "fase" = 1, ecc... Non è più ordinato che il set/reset? 

Link al commento
Condividi su altri siti

Si è ordinato se la sequenza logica prevede un'unica di sequenza ma se la sequenza prevede una diramazione parallela e ogni diramazione poi prosegue la propria sequenza indipendentemente dall'altra capisci bene che una programazione a stati è diversa e identifica in maniera univoca ogni fase attiva delle diverse sequenza in corso

Link al commento
Condividi su altri siti

Roberto Gioachin
18 ore fa, leleviola scrisse:

ma quando la logica da sviluppare prevede la diramazione parallela di più passi attivi contemporaneamente la metodologia di sviluppo a stati o SFC è la più funzionale e priva di inutili complicazioni dove il passaggio da uno stato attivo a un altro è sviluppato tramite apposite istruzioni di transizione passo

Concordo.

La rappresentazione grafica poi ti permette di avere un programma molto più ordinato e molto più facile da comprendere anche dopo anni.

Se definisci una variabile "Fase", hai solamente un passo attivo per volta, allora in certi casi dovrai definire un  "Fase1", "Fase2",  ecc. complicando il programma e rendendolo quindi meno ordinato.

Link al commento
Condividi su altri siti

Confermo la tecnica Batch ad oggi per me si è dimostrata la più flessibile e riutilizzabile. Organizzando bene i dati e commentando si riesce a tirar fuori un programma ordinato

Dove ho un unico stato attivo anch'io preferisco usare un intero ma solo perchè abbatte il rischio di dimenticarsi qualche stato attivo da qualche parte.

Link al commento
Condividi su altri siti

  • 4 weeks later...
Cesare Nicola

In KOP io uso il MOVE in una variabile. Rispetto al set/reset lo preferisco perché in fase di debug ho sempre chiaro a che punto della sequenza mi trovo, basta leggere il numero. Il numero lo posso anche visualizzare su HMI in una pagina di diagnostica ed in caso di problemi, chiedo al cliente di leggermi quel numero e so dove la macchina si è bloccata: con set/reset questo non è possibile. E' più o meno la replica dell'istruzione CASE che utilizzo invece in SCL. In AWL, che ormai uso poco, uso invece SPL, che è la replica esatta del CASE. Anche in KOP esiste la replica esatta del CASE, non ricordo come si chiama, ma graficamente occupa tanto spazio a video (come tante cose in KOP), non mi piace.

Se ci sono delle diramazioni che devono proseguire indipendentemente, creo una seconda variabile: in ogni passo di ogni sequenza posso anche, se necessario, controllare lo stato dell'altra e attenderla o prendere decisioni.
Per inizializzare basta un move di zero e non si corre il rischio di dimenticarsi qualche bit.

Link al commento
Condividi su altri siti

14 ore fa, Cesare Nicola scrisse:

In KOP io uso il MOVE in una variabile. Rispetto al set/reset lo preferisco perché in fase di debug ho sempre chiaro a che punto della sequenza mi trovo, basta leggere il numero

Questo il vantaggio. Come contro, che devi scorrere il programma o cercare tutti i punti dove assegni il valore alla variabile per trovare dove è che carichi quel numero.
Generalmente preferisco usare set/reset e le isruzioni SCATTER e GATHER per controllare lo stato o azzerare la sequenza.
Ma si tratta solo di preferenze personali. Entrambi i metodi presentano pro e contro.

Modificato: da batta
Link al commento
Condividi su altri siti

Cesare Nicola
8 ore fa, batta scrisse:

Come contro, che devi scorrere il programma o cercare tutti i punti dove assegni il valore alla variabile per trovare dove è che carichi quel numero.

Per come programmo io devi scorrere un FB, non l'intero programma e di solito l'FB non è particolarmente lungo; se lo è, forse ho sbagliato qualcosa e dovevo suddividerlo in più di uno. Ogni FB che contiene una sequenza, ha la sua variabile: le sequenze si "parlano", per me, con un bit di scambio. Cioè, se la sequenza 1 ad un certo punto deve avviare la 2 (che è probabilmente in un differente FB) ed attendere che questa sia conclusa, faccio così:

  • sequenza 1 setta il bit "avvia sequenza 2"
  • sequenza 1 va al passo successivo, dove attende che "avvia sequenza 2 ritorni a zero".
  • Nel frattempo, sequenza 2 parte grazie al bit "avvia sequenza 2" e fa quello che deve fare.
  • Quando sequenza 2 ha finito il suo lavoro, mette a zero "avvia sequenza 2" e sequenza 1 può proseguire

Così, se ho un problema e in base al numero di passo, vedo che sequenza 1 è ferma perché attende che vada a zero "avvia sequenza 2", so dove dovrò cercare il problema, cioè in sequenza 2. Non so se mi sono spiegato. Io mi trovo molto bene, così e la ricerca di un errore è molto rapida.

 

Cerco poi di essere ordinato; ogni passo di sequenza (ogni MOVE, quindi) corrisponde ad un segmento ed in quel segmento non c'e nient'altro che quel passo. Il titolo del segmento descrive cosa fa quel passo (a volte nel commento ci scrivo proprio anche il numero che trasferisco col MOVE, così è immediatamente visibile). I numeri del passo sono sempre crescenti; alla prima stesura i passi li chiamo 0, 10, 20, ecc, di modo da lasciarmi spazio tra uno e l'altro per inevitabili modifiche, quindi potrò aggiungere il passo 3, 5, 13, ecc, senza sconvolgere tutto. Ciò che si ottiene è una sorta, anche graficamente, di diagramma di flusso dove ogni passo è un segmento.

 

 

Link al commento
Condividi su altri siti

Il metodo descritto da @Cesare Nicola, come pure quello di @batta, sono ormai collaudati e li uso da tempo anch’io( me lo fece ‘scoprire’ Batta in una discussione di qualche anno fa). 

 

Quando il passo avanza uno dopo l’altro sino al termine della sequenza, è uno spettacolo. Quando tutto prosegue per la sua strada, perfetto.

 

Quello che a me incasina un po tutto  in sequenze di questo tipo, sono principalmente due cose: 

 

1)Quando ad un certo punto della sequenza, devo valutare due strade diverse. Classico caso in cui ad un certo punto, a seconda dello stato di un sensore per esempio, la sequenza si può diramare.  In questo caso il metodo di Cesare prevede che la variabile possa assumere due valori diversi e,  sebbene anch’io usi il suo sistema di lasciare circa 10 unità vuote, è inevitabile che mi debba inventare un altro numero (possibilmente lontano)  Per la diramazione. Questo (almeno per me) rende il codice inevitabilmente  meno leggibile ed Inoltre, mi devo ricordare quali numeri ho usato.

 

2)Come dicevo, bello quando tutto fila liscio. Quando la sequenza si “inchioda” io (forse per una paturnia mia)  inserisco nel codice anche varie altre condizioni per cui la sequenza si possa sbloccare o comunque andare avanti. Per esempio, se comando il movimento di un cilindro, inserisco in quello step anche il Timeout. Se esso arriva a scattare, devo saltare ad una fase  in cui per esempio blocco tutto quello che devo bloccare (quindi anche altri movimenti facenti parte di altri FB). Anche questo rende la gestione macchinosa . Un blocco per un Timeout potrebbe essere diverso da un blocco per un altro tipo di allarme, e questo mi porta a  valutare situazioni e situazioni diverse con il codice che diventa sempre più lungo. 

 

 Ho provato a gestire i passi inserendo nell’FB  solo lo stretto necessario, gestendo tutto resto fuori ma saltare di qua e di là non mi è parso un gran sistema. In questi casi, voi come procedete?

 

 

Link al commento
Condividi su altri siti

step-80 mi sembra che usi Mitsubishi giusto? Mai sentito parare di SFC? è proprio la metodologia di programmazione a passi con transizioni passi isolate e che permette le diramazioni parallele della sequenza da seguire. E' un po' incasinato da programmare ma basta farci l'abitudine anche con gli stessi FX, poi uno fa come vuole ma spesso facilita la programmazione a passi che se fatta con SET/RESET può non scorrere come si vuole se non si adotta le giuste contromisure. Comunque l'utilizzo dell'SFC o di tale metodologia non è altro che una rappresentazione grafica diversa del programma che può anche facilitare la diagnosi perchè rappresenta i vari stati attivi con un grafico a blocchi e con le varie relative transizioni passi

Link al commento
Condividi su altri siti

Nicola Carlotto

Set delle logiche , reset alla  fine cicli. cosi facendo si sa sempre dove si e' e dove ci si ferma  , se si deve lavorare in web assistenza con questo metodo si individua subito l'eventuale problema.

Poi dipende dal tipo della macchina o linea da programmare.

Ciao

 

 

Link al commento
Condividi su altri siti

Cesare Nicola
23 ore fa, step-80 scrisse:

)Quando ad un certo punto della sequenza, devo valutare due strade diverse. Classico caso in cui ad un certo punto, a seconda dello stato di un sensore per esempio, la sequenza si può diramare.  In questo caso il metodo di Cesare prevede che la variabile possa assumere due valori diversi e,  sebbene anch’io usi il suo sistema di lasciare circa 10 unità vuote, è inevitabile che mi debba inventare un altro numero (possibilmente lontano)  Per la diramazione. Questo (almeno per me) rende il codice inevitabilmente  meno leggibile ed Inoltre, mi devo ricordare quali numeri ho usato.

Sì, è vero. Io risolvo o provo a risolvere commentando il meglio possibile. Per la diramazione uso un numero molto lontano e a seconda dei casi scelgo se la diramazione, se di pochi passi, la metto in mezzo alla sequenza principale, interrompendola per qualche passo o magari alla fine dell'FB. In entrambi i casi commento in modo che si capisca, tipo "qui salto al punto in cui devo fare quella cosa...", "qui termina la diramazione in cui faccio quella cosa...". Spesso interpongo tra le diramazioni dei segmenti vuoti, o con un commento come una grechina, tipo "**********" di modo che, graficamente, si capisca che lì succede qualcosa di diverso, bisogna prestare attenzione. Se la diramazione è di molti passi, come dicevo in altro commento, forse è anche il caso di metterla in un FB separato.

 

23 ore fa, step-80 scrisse:

Quando la sequenza si “inchioda” io (forse per una paturnia mia)  inserisco nel codice anche varie altre condizioni per cui la sequenza si possa sbloccare o comunque andare avanti.

Io normalmente uso un bit, che chiamo "Ok" o "ciclo" che metto come condizione necessaria per ogni passo. Quel bit, che può essere in testa all'FB o in altro, dipende, è la sommatoria di tutte le condizioni che devono impedire alla sequenza di procedere. Tipicamente è il bit di ciclo automatico in corso: se ho un allarme di timeout o qualunque altra cosa, il ciclo in corso cade e la sequenza si arresta. Le uscite, se necessario, cadono anch'esse perché anche loro hanno in serie quel bit; tutto rimane "congelato", insomma, fino a che il ciclo riprende. Il "bloccare tutto ciò che devo bloccare" avviene perciò nella gestione delle uscite, non della sequenza. Io non comando MAI, nemmeno sotto tortura, una uscita in un passo di una sequenza: nel passo setto un bit che va nella gestione uscite, in serie al bit di ciclo come dicevo, e in serie anche ad eventuali altre condizioni che devono bloccare l'uscita.

 

23 ore fa, step-80 scrisse:

 Ho provato a gestire i passi inserendo nell’FB  solo lo stretto necessario, gestendo tutto resto fuori ma saltare di qua e di là non mi è parso un gran sistema. In questi casi, voi come procedete?

Salto di qua e di la', come ho appena descritto, 🙂 ma a parole sembra chissà cosa, nella realtà non è che bisogna saltare in mille blocchi: sequenza, condizioni per l'elaborazione (che sono spesso nello stesso FB quindi nessun "salto") e comando dell'uscita.

 

Fondamentale è essere ordinati e commentare tanto e bene. Inoltre, se una sequenza è complessa, bisogna sempre domandarsi se non la si possa spezzare in diverse sotto-sequenze. Tia Portal, ma non solo, ci viene in aiuto perché si possono creare cartelle di blocchi: creo una cartella chiamata "sequenze ciclo pinco palla" e quando non mi serve la cartella rimane chiusa, graficamente non dà fastidio e non mi importa se dentro ci sono tre o quattro FB.

Modificato: da Cesare Nicola
Link al commento
Condividi su altri siti

Cesare Nicola
9 ore fa, Nicola Carlotto scrisse:

Set delle logiche , reset alla  fine cicli. cosi facendo si sa sempre dove si e' e dove ci si ferma  , se si deve lavorare in web assistenza con questo metodo si individua subito l'eventuale problema.

Sì, se sei ordinato e dai un nome sensato al bit che identifica il passo. A me è capitato di mettere mano a un software fatto da altri i cui bit di passo si chiamavano "marcia pompa principale", "avvio asse X", ecc.; in quel caso non si capisce qual'è il flusso della sequenza, cosa deve accadere prima e dopo. In fase di debug dovevo scorrermi il blocco o usare il cross-reference, per trovare dov'era quel bit. Se il bit si fosse chiamato, per esempio "merker_passo_1", "merker_passo_15", ecc. sarebbe stato più facile: apro il blocco, guardo un passo a caso, se il bit si chiama "merker_passo_22" e io sto cercando il merker_passo_17", so che devo andare in su nel blocco, il flusso della sequenza mi è subito chiaro.
Come dicevo, l'ordine e i commenti sono fondamentali. Non si commenta mai abbastanza, nemmeno io che sono qui a ribadirlo. 🙂

 

Il vantaggio del numero è che puoi visualizzarlo su HMI e il cliente te lo può comunicare in caso di problemi, anche se non c'è teleassistenza.

Link al commento
Condividi su altri siti

il 29/8/2019 at 10:34 , leleviola scrisse:

step-80 mi sembra che usi Mitsubishi giusto? Mai sentito parare di SFC? è proprio la metodologia di programmazione a passi con transizioni passi isolate e che permette le diramazioni parallele della sequenza da seguire. E' un po' incasinato da programmare ma basta farci l'abitudine anche con gli stessi FX, poi uno fa come vuole ma spesso facilita la programmazione a passi che se fatta con SET/RESET può non scorrere come si vuole se non si adotta le giuste contromisure. Comunque l'utilizzo dell'SFC o di tale metodologia non è altro che una rappresentazione grafica diversa del programma che può anche facilitare la diagnosi perchè rappresenta i vari stati attivi con un grafico a blocchi e con le varie relative transizioni passi

Ciao, si uso Mitsubishi e qualche volta ho provato a 'scarabocchiare' con SFC ma l'ho trovato un gran casino. Poi ti dico la verità non c'ho perso molto tempo dietro perchè come al solito il tempo stringe sempre e bisogna concludere in fretta. 

Sono convinto che sia un ottimo strumento . 

 

Conosci MT Developer? è il tool di programmazione per le schede motion Mitsubishi(non il simple) e si programma SOLO in SFC (purtroppo è diverso da quello usato in GXWorks).

Mi sono trovato obbligato ad impararlo e devo confessare che una volta usato non te ne stacchi più. Prima o poi imparerò anche quello del Gx.

 

Quote

Sì, è vero. Io risolvo o provo a risolvere commentando il meglio possibile. Per la diramazione uso un numero molto lontano e a seconda dei casi scelgo se la diramazione, se di pochi passi, la metto in mezzo alla sequenza principale, interrompendola per qualche passo o magari alla fine dell'FB. In entrambi i casi commento in modo che si capisca, tipo "qui salto al punto in cui devo fare quella cosa...", "qui termina la diramazione in cui faccio quella cosa...". Spesso interpongo tra le diramazioni dei segmenti vuoti, o con un commento come una grechina, tipo "**********" di modo che, graficamente, si capisca che lì succede qualcosa di diverso, bisogna prestare attenzione. Se la diramazione è di molti passi, come dicevo in altro commento, forse è anche il caso di metterla in un FB separato.

 

Perfetto, è anche il mio sistema. Almeno so di essere sulla strada giusta!

 

Quote

Io normalmente uso un bit, che chiamo "Ok" o "ciclo" che metto come condizione necessaria per ogni passo.

 

Suppongo tu intenda che questo bit è condizione necessaria per l'attivazione di ogni nuovo passo,ma non annulla il passo attuale. Quindi teoricamente, il passo in corso resta attivo anche se questo bit cade ma le eventuali uscite che il passo pilota vengono disattivate perchè lo stesso bit è in serie alla scrittura dell'uscita..ho capito bene? 

Suppongo inoltre che questo bit , una volta caduto, abbia bisogno di un consenso manuale per ri-armarsi(oltre ovviamente ad altre condizioni varie). In questo caso, appena ri-attivato, le uscite ritornerebbero allo stato in cui erano al momento dell'accaduto giusto?

 

Quote

Tia Portal, ma non solo, ci viene in aiuto perché si possono creare cartelle di blocchi: creo una cartella chiamata "sequenze ciclo pinco palla" e quando non mi serve la cartella rimane chiusa, graficamente non dà fastidio e non mi importa se dentro ci sono tre o quattro FB.

 

Da poco ho ripreso in mano Tia (chi mi conosce sa che da anni sono Mitsubishiano convinto e praticante) per revampare un vecchio progetto composto da un paio di 1200 ed un piccolo Ktp per un dosatore a 5 teste. Me lo ricordavo ostico e inutilmente complicato ma è proprio vero che le cose bisogna provarle tutte e a fondo prima di dare un giudizio. Per esempio questa cosa citata da Cesare Nicola è si una stupidata, ma mi ha lasciato piacevolmente sorpreso. E' un modo elegante per organizzare i dati, si possono creare tutte le FB e FC volute, magari ognuna con il suo DB e stokkarle nella sua cartella che per giunta può essere minimizzata e non farti vedere cosa c' è al suo interno, evitando di appesantire la grafica laterale.

Poi venendo dal japan ho imparato ad adattarmi a tutto, ma trovo ancora inconcepibili certi limiti del GxWorks, tipo i 32 caratteri max di una variabile e l'impossibilità di usare uno spazio in essi. Ciò ti costringe ad inventarti dei nomi che a volte hanno dell'assurdo, con underscore a manetta(che ovviamente ocuupano 1 carattere) oppure fare tipo MerkerCumulativoConsensoAuto ..cosa che odio. Alternativa è usare gli assoluti, tipo nei loro esempi dei manuali non usano Label e commentano al minimo(anche i commenti hanno i caratteri contati)e mi sembra di leggere un geroglifico. Tia da quel punto di vista è avanti anni luce inutile negarlo. In un DB posso  scegliere quali variabili rendere Ritentive e quali no, mentre col Gx devo scervellarmi per inserire tutte le retain in una struttura perchè l'area è contigua seppur tu possa sceglierne l'inizio e la fine(non con tutti gli Hw). 

 

@Cesare Nicola se non ti ritrovi in quello che ho scritto a proposito del limite variabili(so che hai usato Mitsubishi recentemente) è perchè probabilmente usando FX5 hai usato GxWorks3 nel quale questo limite dovrebbe essere stato superato. 

Altra stranezza japan che sviluppa software nuovi e più performanti ma che includono solamente un certo tipo di plc,obbligando chi usa gli altri per abitudine, comodità o economia a continuare ad usare il GxWorks2. 

Modificato: da step-80
Link al commento
Condividi su altri siti

Cesare Nicola
7 minuti fa, step-80 scrisse:

Suppongo tu intenda che questo bit è condizione necessaria per l'attivazione di ogni nuovo passo,ma non annulla il passo attuale. Quindi teoricamente, il passo in corso resta attivo anche se questo bit cade ma le eventuali uscite che il passo pilota vengono disattivate perchè lo stesso bit è in serie alla scrittura dell'uscita..ho capito bene? 

Suppongo inoltre che questo bit , una volta caduto, abbia bisogno di un consenso manuale per ri-armarsi(oltre ovviamente ad altre condizioni varie). In questo caso, appena ri-attivato, le uscite ritornerebbero allo stato in cui erano al momento dell'accaduto giusto?

Hai capito benissimo, tutto!

 

9 minuti fa, step-80 scrisse:

se non ti ritrovi in quello che ho scritto a proposito del limite variabili(so che hai usato Mitsubishi recentemente) è perchè probabilmente usando FX5 hai usato GxWorks3 nel quale questo limite dovrebbe essere stato superato. 

Altra stranezza japan che sviluppa software nuovi e più performanti ma che includono solamente un certo tipo di plc,obbligando chi usa gli altri per abitudine, comodità o economia a continuare ad usare il GxWorks2. 

Sì, è così, anche se mi è già capitato di usare anche GxWorks2. Sinceramente, e specifico che non è assolutamente un discorso di "tifo" per Siemens o altri, di stranezze in Gxworks ne vedo tante: mi fa piacere che tu riconosca vantaggi e svantaggi di uno e dell'altro, obiettivamente. Io uso più volentieri Siemens ma sono più che contento di aver approcciato il mondo Mitsubishi, è sempre una crescita professionale, e se mi fa tirare accidenti pazienza.

Link al commento
Condividi su altri siti

Cesare Nicola
19 minuti fa, step-80 scrisse:

Per esempio questa cosa citata da Cesare Nicola è si una stupidata, ma mi ha lasciato piacevolmente sorpreso. E' un modo elegante per organizzare i dati, si possono creare tutte le FB e FC volute, magari ognuna con il suo DB e stokkarle nella sua cartella che per giunta può essere minimizzata e non farti vedere cosa c' è al suo interno, evitando di appesantire la grafica laterale.

Esiste anche in GxWorks3, comunque.

Link al commento
Condividi su altri siti

2 minuti fa, Cesare Nicola scrisse:

Esiste anche in GxWorks3, comunque.

 Immagino, piano piano anche loro si stanno adeguando ad una mente umana.

 

Per dirti , questo è un template Mitsubishi. Ora capisco perchè l'Harakiri lo hanno inventato loro:superlol:..

Template1.thumb.png.7cda74f01d47472d3069bc6b40324a21.pngTemplate2.thumb.png.2fd19641fb8f24692cc23edf6cc32964.pngTemplate3.thumb.png.a0e798183ba3a597a84c66ac319a7f17.png

 

Ecco, vedendo queste cose sono tentato al suicidio..

 

Link al commento
Condividi su altri siti

Cesare Nicola
4 minuti fa, step-80 scrisse:

vedendo queste cose sono tentato al suicidio

Penso sia più utile uccidere qualche progettista in Mitsubishi, al limite! 🙂

Col ladder Mitsubishi non mi sono mai trovato molto bene infatti uso più spesso ST di quanto non usi SCL in Siemens, perché mi rompo i cosiddetti a dover inserire manualmente righe, colonne, trascinare improbabili e minuscoli quadratini per collegare due oggetti, ecc. Immagino che con scorciatoie da tastiera si possa rendere il tutto più utilizzabile, ma vai a ricordartele, le scorciatoie di ogni software che usi!

Link al commento
Condividi su altri siti

Una volta ho provato a fare una funzione in ladder secco (quello delle foto) ed è stata una esperienza pari a quella volta che da piccolo volevo fare le bolle di sapone con un bicchiere di Svelto, ed al momento di soffiare dalla cannuccia ho invece aspirato...

Se trovavo inoltre quello che mi diceva che 'col ladder il debug è immediato' lo prendevo a badilate. 

 

Ma capisco che tutto ciò è solo un mio limite, perchè c'è un utente qui sul forum che usa Mitsubishi il quale scrive tutto in ladder secco senza usare mai il mouse, alla velocità della luce. 

 

Ps : scrivo ladder secco per differenziarlo dal ladder strutturato , molto piu flessibile per certi versi.

Link al commento
Condividi su altri siti

Anch'io uso il ladder secco in Mitsubishi e la particolarità è che se vuoi puoi usare anche solo la tastiera senza l'ausilio del mouse per scrivere i programmi, infatti quando scivi lo mnenomico di un istruzione riconosce l'istruzione senza obbligarti a fare F8 per l'istruzione oppure a usare il mouse per cercarla, se ne sai le tre lettere dell'istruzione te la inserisce in automatico e poi inserisci gli operandi separati da spazi, questo ad  esempio è un vantaggio che Mitsubishi da e che mi porto dietro dal veccho GX Developer e che ad esempio Siemens mi sembra non abbia, devi ceercarti l'istruzione col mouse  e richiamarla, questo per chi sa scrivere il programma velocemente è un limite, non so se è possibile abilitare un opzione che ne permetta il riconoscimento delle istruzioni da inserite da tastiera. Insomma a ognuno le sue abitudine, siccome ho usato per 15 anni Gx Developer ho imparato a usarlo magari in maniera approfondita

Link al commento
Condividi su altri siti

Cesare Nicola
4 minuti fa, leleviola scrisse:

se vuoi puoi usare anche solo la tastiera senza l'ausilio del mouse per scrivere i programmi, infatti quando scivi lo mnenomico di un istruzione riconosce l'istruzione senza obbligarti a fare F8 per l'istruzione oppure a usare il mouse per cercarla, se ne sai le tre lettere dell'istruzione te la inserisce in automatico e poi inserisci gli operandi separati da spazi, questo ad  esempio è un vantaggio che Mitsubishi da e che mi porto dietro dal veccho GX Developer e che ad esempio Siemens mi sembra non abbia

E' vero, questa funzionalità piace anche a me ed in Siemens non c'è; ce ne sono altre però, per il ladder, che comunque lo rendono a mio parere meglio utilizzabile.
Direi però che siamo finiti fuori argomento 🙂

 

Link al commento
Condividi su altri siti

Quote

che mi porto dietro dal veccho GX Developer

Infatti chi è diventato veloce è perchè come te ci lavora da molto e 'conosce la bestia'. Respect;)

Link al commento
Condividi su altri siti

37 minuti fa, step-80 scrisse:

Infatti chi è diventato veloce è perchè come te ci lavora da molto e 'conosce la bestia'. Respect;)

Eh si ci lavoravo da molto, ora sono in un periodo no e dopo una scelta di lavoro sbagliata mi trovo a non usarlo ma l'esperienza fatta è tanta e non è stata inutile, speriamo bene, basta riuscire a trarre i vantaggi da tutte le esperienze, scusate l'OT.

tornando a noi io spesso preferisco i bit o set/reset, li uso per l'attivazione delle varie utenze e poi utilizzo una metodologia a batch di trascrivere in un intero quando descrivo lo stato della sequenza o meglio utilizzo il batch per attivare poi le varie segnalazioni dinamiche sul HMI. Per me utilizzare una soluzione a bit è più immediato anche se capisco che può andare bene anche la soluzione numerica che come descritto sopra ha i suoi limiti, infatti quando mi sono imbattuto in tali limiti sono subito passato alla metodologia a bit per non creare casini

 

Link al commento
Condividi su altri siti

Aggiungo che la metodologia a bit oltre a essere fatta set/reset può essere fatta ancora meglio con shift-register in modo da essere sicuro di avere sempre solo ed un unico bit attivo all'interno della sequenza, a volte mi è capitato che con la metodologia a bit per un mio errore di programmazione e valutazione mi rimanevano più bit attivi, con shift-register non è possibile, ovviamente sei legato al fatto che la sequenza deve essere senza diramazioni altrimenti ne attivi un altro di shift-register.

A proposito, una mia lacuna sempre in Siemens, con gli array di bit si possono fare shift register?

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