The Running Man Inserito: 28 febbraio 2020 Segnala Share Inserito: 28 febbraio 2020 Cosa cambia effettivamente usando queste due istruzioni, all'atto pratico è come fare SET e RESET in entrambi i casi 1) MOTOR S: START; MOTOR R:STOP; oppure 2) IF START THEN MOTOR := TRUE ; END_IF IF STOP THEN MOTORE :=FALSE; END_IF Grazie a tutti Link al commento Condividi su altri siti More sharing options...
The Running Man Inserita: 29 febbraio 2020 Autore Segnala Share Inserita: 29 febbraio 2020 ho usato usato il linguaggio ST su una piattaforma CODESYS, mi risualtano entrambi scritti nella maniera corretta ( manca ovviamente la parte di dichiarazione delle variabili) e funzionano nella stessa maniera, ma mi chiedo cosa cambia effettivamente tra una e l'altra opzione Link al commento Condividi su altri siti More sharing options...
batta Inserita: 29 febbraio 2020 Segnala Share Inserita: 29 febbraio 2020 Personalmente, non mi sono mai imbattuto in un sistema che, in strutturato, accetti una scrittura del tipo: MOTOR S: START; Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 29 febbraio 2020 Segnala Share Inserita: 29 febbraio 2020 Quote ho usato usato il linguaggio ST su una piattaforma CODESYS, mi risualtano entrambi scritti nella maniera corretta ( manca ovviamente la parte di dichiarazione delle variabili) e funzionano nella stessa maniera, ma mi chiedo cosa cambia effettivamente tra una e l'altra opzione Ho usato in passato SoMachine di Schneider Electric e,programmando in ST , confermo che entrambi i metodi producono lo stesso effetto. La sintassi è esatta in entrambi i casi(anche se la nr 1 ammetto sia insolita ..ma esatta). La differenza fra le 2 credo la faccia il tempo di esecuzione (ma potrei sbagliarmi, dipende sempre da come il software traduce il listato in linguaggio macchina) a favore del primo sistema. Usando l'IF solitamente vengono tirati in ballo JUMP che altrimenti non sarebbero usati. Per dire, questo quello che viene tradotto usando GxWorks2 di Mitsubishi( non codesys) per fare il SET e RESET del bit M0, nei 2 sistemi. Le prime 4 righe sono relative al sistema nr 1, il resto al sistema nr 2. Sono 4 righe contro 10...e se il programma è di una certa entità la differenza in esecuzione potrebbe non essere cosi trascurabile. Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 29 febbraio 2020 Segnala Share Inserita: 29 febbraio 2020 Ma non ce la fai a dire la tua senza le battutine ? Quote come ho già detto prima possiamo essere, anzi lo dobbiamo, tolleranti sulle espressioni linguistiche Quote dite che la forma < MOTOR S: START; > è coretta Ti eri buttato avanti? Quote poi pubblicate il listato dove si legge tutt'altra cosa Cioè? Comunque se ti riferisci al fatto che la forma corretta della prima opzione è : Motore S = Motor_start; Motore R = Motor_Stop; E non: Motore S: Motor_start; Motore R: Motor_Stop; hai ragione , è stata solo una svista.Mi sto già versando l'olio bollente giu per la schiena per penitenza. Quote è più efficente sul piano concettuale della seconda ma perchè io cosa avevo detto? Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 29 febbraio 2020 Segnala Share Inserita: 29 febbraio 2020 Oh ma che ti gira male stasera? Mestruazioni? Coronavirus? 🙁 So perfettamente la differenza tra uguaglianza e assegnazione, ma sono sempre disposto ad imparare. Se ne sai più di me , illuminami. Ma per favore, senza battutine da 3a elementare grazie. Come dicevo è stata una svista, come lo è stata probabilmente per l’autore del post. Ma tu continui con i tuoi interventi da zitella acida. Invece di prendere per i fondelli, perchè non ci investi col tuo sapere? Link al commento Condividi su altri siti More sharing options...
batta Inserita: 1 marzo 2020 Segnala Share Inserita: 1 marzo 2020 Ragazzi, calmatevi. Forse si tratta solo di un malinteso. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 1 marzo 2020 Segnala Share Inserita: 1 marzo 2020 Se la discussione coninuasse con questo tono sarei costretto a chiuderla e, nel caso, anche a prendere qualche altro provvedimento regolamentare. Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 1 marzo 2020 Segnala Share Inserita: 1 marzo 2020 Sono calmissimo😊. Ma se ho scritto qualcosa di sbagliato mi piacerebbe saperlo, senza inutili giri di parole. Chiedo scusa se ho alzato i toni. Link al commento Condividi su altri siti More sharing options...
The Running Man Inserita: 1 marzo 2020 Autore Segnala Share Inserita: 1 marzo 2020 Scusate , ma non pensavo di causare tutto questo flame Comunque c'è un errore mio di trascrizione nel primo post, di seguito metto la versione corretta. MOTOR S= START; MOTOR R=STOP; Confermo che questa versione mi viene accettata dal codesys senza problemi. 18 ore fa, batta ha scritto: Personalmente, non mi sono mai imbattuto in un sistema che, in strutturato, accetti una scrittura del tipo: MOTOR S: START; Errore mio di trascrizione, scusami, ecco quella corretta MOTOR S= START; Link al commento Condividi su altri siti More sharing options...
The Running Man Inserita: 1 marzo 2020 Autore Segnala Share Inserita: 1 marzo 2020 12 ore fa, Yiogo ha scritto: comincia a distinguere le ugualianze dalle assegnazioni, poi andiamo avanti Posso chiederti se potresti spiegarmi esattamente questo concetto ? ti ringrazio Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 1 marzo 2020 Segnala Share Inserita: 1 marzo 2020 @The Running Man secondo me Yiogo non ha visto le lettere S e R davanti al simbolo di uguaglianza, che stanno ad indicare appunto le istruzioni Set e Reset. Tutto li. Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 1 marzo 2020 Segnala Share Inserita: 1 marzo 2020 Come dicevo qualche post fa, usando SoMachine di Schneider Electric la sintassi Motor S = Start è esatta , non da errori jn compilazione e funziona. Questo in SoMachine come dicevo! Il resto non so. Link al commento Condividi su altri siti More sharing options...
leleviola Inserita: 1 marzo 2020 Segnala Share Inserita: 1 marzo 2020 a me sembra che vi state perdendo in un bicchier d'acqua, buona domenica Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 1 marzo 2020 Segnala Share Inserita: 1 marzo 2020 @Yiogo meno male sono riuscito a spiegarmi, ora capisci perchè dicevo che è una sintassi un po insolita? Tanto che ogni volta che devo usarla in compilazione mi da errore perchè tendo sempre ad usare l’assegnazione classica := , mentre va usato solo S =. Sembra una uguaglianza ma non lo è, se dici che in Codesys classico non funziona significa che probabilmente è una sintassi proprietaria Schneider. Per dovere di cronaca, tengo a precisare che anche l’istruzione di set e reset di cui parlavo sopra di Mitsubishi è scritta in modo corretta , cioè: SET( “quello che scatena il Set” , “ quello che vuoi Settare); Naturalmente ”quello che scatena il Set” può essere anche una combinazione complicatissima di bit,confronti fra interi o altro per esempio… L’importante è naturalmente è che il risultato finale dia come uscita un dato di tipo bool(vero o falso). Tanto che in ST di Mitsubishi scrivere : IF Start Then Motore:= True; End_if; oppure: SET( Start , Motore); è la stessa identica cosa . esattamente come lo è scrivere: Motore := True; e SET ( True , Motore ); per alzare incondizionatamente un bit. Con le dovute cautele e attenzioni si potrebbe scrivere anche : OUT( True , Motore) ; OUT(False , Motore) ; ma è una sintassi che non uso mai. Link al commento Condividi su altri siti More sharing options...
leleviola Inserita: 1 marzo 2020 Segnala Share Inserita: 1 marzo 2020 (modificato) 51 minuti fa, step-80 ha scritto: SET( “quello che scatena il Set” , “ quello che vuoi Settare); Naturalmente ”quello che scatena il Set” può essere anche una combinazione complicatissima di bit,confronti fra interi o altro per esempio… L’importante è naturalmente è che il risultato finale dia come uscita un dato di tipo bool(vero o falso). Tanto che in ST di Mitsubishi scrivere : SET( Start , Motore); Caspita questa del SET con la condizione che scatena il SET non la sapevo nonostante uso spesso e da anni Mitsubishi, se ne impara sempre di nuove, uso sempre l'istruzione semplice del SET "quello che vuoi settare", grazie a te @step-80 Modificato: 1 marzo 2020 da leleviola Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 1 marzo 2020 Segnala Share Inserita: 1 marzo 2020 1 ora fa, leleviola ha scritto: Caspita questa del SET con la condizione che scatena il SET non la sapevo nonostante uso spesso e da anni Mitsubishi, se ne impara sempre di nuove, uso sempre l'istruzione semplice del SET "quello che vuoi settare", grazie a te @step-80 @leleviola ma intendi in ladder? Perchè non mi risulta si possa usare l’istruzione Set come dici tu in ST. Se scrivo SET M0 me lo da errore, lo stesso se scrivo IF M100 Then SET M0; End_if; ovviamente se parli di ladder o ladder strutturato esiste l’istruzione SET ma devi anteporre i contatti che vuoi attivino l’istruzione. Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 1 marzo 2020 Segnala Share Inserita: 1 marzo 2020 Link al commento Condividi su altri siti More sharing options...
leleviola Inserita: 1 marzo 2020 Segnala Share Inserita: 1 marzo 2020 1 ora fa, step-80 ha scritto: @leleviola ma intendi in ladder? Perchè non mi risulta si possa usare l’istruzione Set come dici tu in ST. Se scrivo SET M0 me lo da errore, lo stesso se scrivo IF M100 Then SET M0; End_if; ovviamente se parli di ladder o ladder strutturato esiste l’istruzione SET ma devi anteporre i contatti che vuoi attivino l’istruzione. infatti ora mi torna che in ST la forma SET M0 non avrebbe senso, mi torna invece che la forma SET(M0,M1) in ST possa essere usata, mi sembrava un po' strano tutto ciò. A proppsito sei ancora al GX Works2? io son passato direttamente al 3 dal GX Developer e a parte un adattamento iniziale è tutto un altro andare, non usi ancora FX5? Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 1 marzo 2020 Segnala Share Inserita: 1 marzo 2020 (modificato) 26 minuti fa, leleviola ha scritto: A proppsito sei ancora al GX Works2? io son passato direttamente al 3 dal GX Developer e a parte un adattamento iniziale è tutto un altro andare, non usi ancora FX5? Ho usato Gx3 solo per un Progetto con Fx5 finora, ma non c è stato gran feeling. Diciamo che credevo che molti dei limiti del 2 fossero stati superati invece per quanto mi riguarda ha ancora tutti i difetti del secondo e pochi pregi. Ma forse dipende dal fatto che non l’ho usato molto. Uso praticamente tutti robot con i quali scambio parecchi dati e quindi la vecchia e cara serie Q mi torna ancora buona ma è da programmare col Gx2. So che sono usciti prodotti nuovi ma sono pigro e non ho sto gran tempo da dedicare a nuovi esperienti per ora. Modificato: 1 marzo 2020 da step-80 Link al commento Condividi su altri siti More sharing options...
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