Twincat Mobile Media
Contatto e bobina Quasi In Control Prova questo per il formato: We8217ve stato automatizza per centinaia di anni. La rivoluzione industriale ha causato una migrazione di lavoratori dell'agricoltura nelle città a lavorare in posti di lavoro in fabbrica, e gli operai che sono spostati dalle nuove tecnologie troveranno nuovo lavoro che didn8217t esiste nemmeno a pochi anni fa. Suppongo che se you8217re la lettura di questo articolo che you8217re coinvolto in automazione, in qualche modo, così you8217d in realtà voglio credere che la dichiarazione, e argomentando contro ciò che qualcuno voleva credere sarebbe inutile. I8217m intenzione di farlo in ogni caso. Tale affermazione è sbagliata. Questa volta è davvero diverso. Per spiegare questo ho bisogno di prendere in considerazione ciò che motiva la gente qui in 8220west8221. Fondamentalmente abbiamo qualche forma di capitalismo regolamentato. Per far bollire che verso il basso, significa che è possibile possedere le cose, e si è permesso di mantenere una certa frazione dei proventi che vengono generati da queste cose. Questo vale in realtà per quasi tutti noi, anche se la maggior parte delle persone don8217t pensa in questo modo. It8217s evidente a un contadino: si possiede terreni, edifici, attrezzature e, a crescere le cose e li vendono, e al netto delle imposte si spera di finire con un qualche tipo di profitto. Ok, forse l'agricoltura isn8217t un grande esempio perché ci sono così tanti sussidi governativi coinvolti, ma il principio è lo stesso con i proprietari di piccole imprese, e anche i dipendenti. Dipendenti più dipendenti don8217t pensano di se stessi come capitalisti perché can8217t vedere la capitale they8217re utilizzando per generare un profitto, ma it8217s proprio lì nello specchio. Tu sei il tuo capitale. Da quando l'abolizione, questo è il capitale che nessuno poteva prendere lontano da voi. It8217s il primo e principale rete di sicurezza sociale. Non importa quanto senza un soldo che eri, salvo malattia o infermità, hai avuto questo gruzzolo di base del capitale si può sempre attingere per l'avvio tua vita. La maggior parte delle persone errore capitale per il denaro, e that8217s perché don8217t vedono come capitale. Dopo tutto, si can8217t 8220spend yourself8221, si può dire il vero, che risale a centinaia di anni, si potrebbe. La maggior parte degli schiavi intorno alle centinaia Mediterraneo di anni fa erano schiavi perché sostenute debiti che couldn8217t pagano fuori, in modo sono diventati di proprietà di chi si deve la debito, fino a che non potevano lavorare il loro debito. Se aiuta, pensare al corpo umano come una macchina che trasforma il cibo into8230 varie cose utili di maggior valore del cibo. Gli agricoltori si rivolgono piccole quantità di cibo in grandi quantità di cibo. Carpentieri trasformare il cibo e legno nelle case o mobili. I fisici quantistici trasformare il cibo in transistor e laser, e tu, caro lettore, forse you8217re una macchina che trasforma il cibo in programmi PLC. A sua volta, abbiamo scambi queste cose per varie cose utili che altre persone hanno creato. Capitalismo. Ora I8217m un fan del capitalismo regolato, perché it8217s un modo efficace per organizzare un sacco di macchine (noi) a produrre un sacco di cose di valore come le automobili, case e episodi di Game of Thrones. Ora here8217s la parte strana. There8217s un enorme incentivo ad utilizzare il capitale per acquistare più capitale, che è possibile utilizzare per acquisire più capitale, e così via, ma pochissime persone fare questo. Si potrebbe pensare che qualcuno che ha concluso 13 anni di scuola all'età di 18 anni, ha lavorato 47 anni e in pensione all'età di 65 anni, rendendo, let8217s dicono, un salario modesto media di 30.000 all'anno in dollari di oggi avrebbe avuto la accortezza di risparmiare un po 'di quel 1,4 milioni per la loro pensione, ma it8217s chiaro che molti don8217t. In realtà ci sono molte persone con un reddito di gran lunga superiore a quello che non solo don8217t salvare qualsiasi, ma andare in debito significativo e sia dichiarare il fallimento o diventare schiavi virtuali per le aziende di carte di credito. It8217s così incredibilmente comune e ha un costo così negativa per la società che i governi in realtà costringono i lavoratori per salvare porzioni del loro busta paga ogni settimana in un programma di pensione del governo e poi pagare loro uno stipendio quando vanno in pensione. I8217m non ha familiarità con il modo in cui funziona negli Stati Uniti, ma in Canada questo viene indicato come il Canada Pension Plan e it8217s completato da qualcosa chiamato Old Age Security che calcia in pochi anni più tardi. Questo nonostante il fatto che tutti coloro che la briga di scoiattolo via 18 dei loro busta paga netta per la loro intera carriera in un piano di risparmio previdenziale fiscale al riparo e ha investito in fondi comuni di investimento avrebbe una pensione confortevole 8211 molto più comodo che vivere con una pensione di governo . Ora parte di me pensa che questo va bene: hai fatto il tuo letto, ora trovano in esso. Ma questo riguarda tutti, anche i capitalisti più ricchi. Il più fondamentale dei servizi pubblici sono quelli che le persone benestanti hanno più bisogno: la polizia (diritto penale) militare e l'applicazione dei contratti (diritto civile). Questi tre servizi di governo sono ciò che dà alla gente la possibilità di possedere le cose. I militari lo protegge da minacce esterne, la polizia proteggerlo da persone all'interno del paese (ladri e vandali), e il diritto civile deposita le dispute su chi possiede cosa. Continuiamo a sentire che la ricchezza disuguaglianza è una brutta cosa, ma che can8217t essere assolutamente vero. Se il nostro sistema è in funzione, deve premiare le persone che fanno le cose più preziose con più soldi, quindi l'unico modo ci potrebbe essere l'uguaglianza di reddito è se ognuno stava facendo qualcosa di altrettanto prezioso, e non we8217re. Ci dovrebbe essere un modo per me per fare più soldi per lavorare di più, più intelligente, o in modo diverso quello che sono ora. That8217s l'incentivo a essere più produttivi. In realtà, that8217s ciò che conta davvero: non la persona media credono di poter migliorare la loro posizione Perché se don8217t, ottengono indisciplinati e fanno cose selvagge e folli. Le cose che rendono le persone benestanti a disagio perché in Occidente quelle persone indisciplinati possono davvero pasticciare con il governo that8217s fornendo tutte quelle militari, polizia e servizi civili da cui dipendono. Immaginate si lavora in una fabbrica nel Midwest degli Stati Uniti che rende i condizionatori d'aria. Le probabilità sono, si don8217t pensate a voi stessi come una macchina che trasforma il cibo in condizionatori d'aria. You8217re non pensare a come rendere quella macchina più efficiente, o più prezioso. You8217re già lavorando 6 giorni a settimana, e la tua famiglia non ti vede. Tutto quello che sai è che prima o poi il ragazzo che guida la fantasia BMW sta per spostare il lavoro in un altro paese, o sostituirlo con un robot, e dal momento che tutte le altre piante qui intorno hanno chiuso, potrebbe non essere in grado di inviare il vostro bambino al college. Come vi sentireste Forse you8217d essere incline a votare per un politico che ha promesso di punire le aziende che si muovevano le loro fabbriche in Messico. Penso che il nocciolo della questione è che questo lavoratore non idea di cosa fare. Gli incentivi sono ancora lì: imparare una nuova abilità, investire in te stesso, essere più produttivi. Ma poche persone lo fanno, per la stessa ragione che poche persone a risparmiare per la propria pensione. I8217ve trascorso alcuni anni intorno persone who8217ve gestiscono piccole imprese, e I8217ve cercato di prestare attenzione. Mi ci sono voluti anni per capire davvero che non vi era nulla di magico gestione di un'impresa. That8217s perché, come quasi tutti gli altri, mi è stato portato con l'idea che i geni innovativi venire con brillanti nuove idee e iniziano le aziende che fanno miliardi di dollari. Al di fuori di alcuni piccoli casi, non that8217s semplicemente falso. Cercate bene e si può trovare un settore that8217s della domanda e in crescita. Se la domanda è alta, ci saranno sempre aziende che l'industria che sono mal gestito, ma comunque un profitto. È possibile fare soldi semplicemente facendo la stessa cosa, come tutti gli altri e semplicemente non essere il peggiore a questo. That8217s come funziona il capitalismo 8211 ti dà incentivi per fornire prodotti e servizi che sono richiesti. Ho un parente che ha licenziato molti anni fa. C'era un programma di lavoro in cui gli hanno dato lezioni su come avviare una piccola impresa. Ha imparato come mantenere i libri, scrivere una fattura, e come fare le sue tasse. Lo hanno convinti con un prestito di piccola impresa. Pochi mesi dopo he8217s in esecuzione una propria attività e un paio di anni dopo che he8217s assunto un dipendente. Ora ha la possibilità di investire in se stesso, come l'acquisto di attrezzature migliori e di migliorare le sue capacità. Let8217s dicono you8217re un programmatore PLC. La vostra azienda è probabile che si paga verso l'alto di 50.000 all'anno. Quanto hanno spendono sul computer Hanno fuori a buon mercato Ha un qualche senso di handicap una risorsa 50 mila anni con un computer portatile a basso costo Se si dovesse lavorare per se stessi, you8217d rapidamente rendersi conto ci aren8217t molte cose che si potrebbe investire in che renderebbero un programmatore PLC più efficiente o di valore, ma un computer più veloce è un gioco da ragazzi. L'automazione è l'aumento della produttività e con i camion auto-guida e sistemi esperti in fase di sviluppo, il tasso di crescita della produttività è impostato per esplodere. Tuttavia, questi sono investimenti costosi e there8217s alcun modo per i lavoratori sfollati di approfittare di questa automazione. Se ho dato un camionista un camion più grande, essi produrre più valore per miglio guidato, ma se sostituire il driver con un computer, non hanno alcun valore. Aumento della produttività ha smesso di produrre salari più alti nei primi 708217s. Un cassiere di banca fa la stessa ora come hanno fatto allora (al netto dell'inflazione), anche se la maggior parte della fatica è stato scaricati a sportelli automatici. In realtà, gli sportelli automatici consentivano alle banche di aprire filiali più piccole e la richiesta di cassieri per il personale quei rami è in realtà aumentato il numero di scrutatori totale, ma nonostante automatizzando le attività semplici e di crescente domanda di cassieri, they8217re non fare più dei salari. Le stesse persone che sono attualmente accusano immigrazione e outsourcing per i loro problemi sono presto andando a rendersi conto che l'automazione è what8217s davvero mangiare il loro pranzo. A differenza della rivoluzione industriale in cui i lavoratori sfollati potevano partecipare a questa nuova economia passando dall'agricoltura al lavoro in fabbrica, nel corso di questo lavoro di transizione sarà o perdere il lavoro e devono completamente ri-abilità, o nella migliore delle ipotesi they8217ll mantenere il posto di lavoro, ma non vedere un centesimo in più per la loro maggiore produttività. That8217s perché vecchio di automazione ha reso le persone più prezioso, ma nuova automazione sembra renderli meno preziosi. Ciò significa che it8217s svalutando quella po 'di capitali che hanno. Questo è dove qualcuno suggerisce di solito un reddito di base universale di modo che tutti possano partecipare alla maggiore produttività, senza tutti contribuire ad esso. Non I8217m convinto i numeri si sommano. Ciò di cui abbiamo veramente bisogno è quello di incoraggiare l'idea di vedere se stessi come il capitale, non come un dipendente. Un incentivo e una rete di sicurezza per le persone che iniziano una piccola impresa dovrebbe essere meno costoso e più efficace di pagare le persone a stare a casa. Che ne dite di insegnare queste cose a scuola (immagino insegnanti sono piuttosto confusi su come avviare un business). Come su rendendo più facile per avviare un business che andare in materia di assistenza sociale, che ne dici di fare in-demand formazione professionale I8217m libero contento we8217re parlare di questo, perché conta. Molto di questo è legato con what8217s succedendo nel mondo in questo momento. There8217s un senso generale che la prossima generazione won8217t essere così fuori come loro generazione parents8217, e that8217s praticamente senza precedenti. Quella promessa che chiunque potrebbe fare qualcosa di se stessi sta scivolando via, e abbiamo bisogno che back. Contact e Coil Quasi In Control TwinCAT 3 Tutorial: Testo strutturato TwinCAT 3 comprende tutte le cinque IEC-61131-3 lingue: ladder, testo strutturato, funzione Diagramma a blocchi, Sequential Function Chart, e Lista istruzioni. Se you8217re provenienti dal mondo Allen-Bradley poi, ovviamente, Ladder Diagram sta per essere la lingua più comodo, ma mi aspetto you8217ll vogliono anche fare uso di testo strutturato. In realtà, Beckhoff stessi tipicamente presente testo strutturato come il go-al linguaggio per la programmazione in TwinCAT 3. preferisco scrivere la maggior parte dei miei programmi in Ladder Diagram per le ovvie ragioni: facilità di risoluzione dei problemi, e la capacità di elettricisti per andare online con il programma ed eseguire il debug di esso. Tuttavia, abbiamo can8217t dimenticare che vecchio adagio, 8220use lo strumento giusto per il lavoro, 8221 e ci sono momenti in cui testo strutturato è lo strumento giusto, e ladder non è. Testo strutturato ha delle somiglianze con Pascal o BASIC (almeno dopo hanno tolto il concetto di numeri di riga da BASIC). La caratteristica più applicabile di testo strutturato per noi sono LOOP s. Il ciclo for Immaginate per un momento che si dispone di una matrice di un migliaio di valori di dati REALE e si vuole calcolare la media di questi valori. La formula è piuttosto semplice: basta e dividere aggiungere dal 1000. Ovviamente questo presenta alcune difficoltà nel linguaggio ladder, ma nel testo strutturato, si può semplicemente utilizzare un ciclo for. Inizia con la creazione di una nuova funzione. Chiamatela AverageOf1000 e assicuratevi di selezionare una funzione con il tipo di ritorno di Real. e testo strutturato (ST) nella casella a discesa implementazione del linguaggio: Fare clic su Apri. Ora you8217ll avere una funzione testo strutturato vuoto: Potremmo passare la matrice come un ingresso, ma se vi ricordate dal l'ultima sezione, che vorrebbe dire copiare l'intero array ogni volta che questa funzione viene chiamata, che potrebbe avere un impatto negativo il tempo di scansione. It8217s meglio passare le grandi strutture di dati come questo per riferimento, il che significa che dichiareremo come variabile VARINOUT: Avanti dichiarare alcune variabili locali: uno per memorizzare la somma dei valori, e un altro per essere un indice per tenere in cui we8217re indicando in la matrice. Ora possiamo scrivere nostra logica, che consiste in un ciclo FOR ed un'operazione di divisione: In linea 1 inizializza il valore della somma variabile da 0. Si noti che la: mezzi operatori assegnazione. Si calcola l'espressione a destra (la rvalue) e lo memorizza nella variabile a sinistra (il lvalue). Si noti inoltre che ogni istruzione termina con un punto e virgola. Questo è importante e you8217ll ottenere un errore di sintassi se si don8217t includerlo (l'eccezione è il punto e virgola alla fine della linea 4, che è facoltativa, ma spesso incluso in molti esempi Structured Text). Le linee 2 e 4 definiscono il ciclo for. Linea 2 definisce una variabile indice ciclo (detto Indice in questo caso), seguito da un simbolo di assegnazione (:). Questo significa che la variabile indice assumerà i valori da 1 a 1000 ed entro il 1 significa che conterà di 1. I confini tra 2 e 4 sono ciò che verrà eseguito con ogni valore di indice. Se si dovesse guardare il runtime eseguire questa logica, ciò che you8217d vediamo è (più o meno): Set Index a 1 Eseguire Indice linea 3 set a 2 Eseguire linea 3 Set Indice di 3 Eseguire la linea 3 Set Indice di 4 Eseguire la linea 3 Set Indice di 5 Eseguire linea 8230 Set Index 3-999 Execute Indice linea 3 Set 1000 Esegui linea 3 come si può vedere, i loop possono avere un impatto significativo sul tempo di scansione, tanto più che il numero di iterazioni diventa alto. Se you8217re esecuzione TwinCAT 3 su un PC moderno, di 1000 iterazioni isn8217t troppo male, ma l'esecuzione di un milione di iterazioni su un PC da 2 GHz è probabile che a prendere un minimo di 0,5 millesimi di secondo, e that8217s senza fare nulla nel ciclo. Bisogna essere consapevoli di questo e del programma di conseguenza. Se you8217re media l'elenco degli ultimi 100 letture del sensore, don8217t anche preoccuparsi, ma se you8217re facendo computazione matematica pesante su migliaia di punti di dati, essere consapevoli che potrebbe essere troppo lavoro da fare in un tempo di scansione. Linea 5 prende la somma e la divide dal 1000, assegnando il risultato per il valore di ritorno della funzione. Si noti che ho aggiunto un punto decimale al valore 1000.0 e ho fatto questo per ricordare al lettore che I8217m trattare con numeri in virgola mobile qui. Questa è una scelta di stile. Si don8217t hanno a che fare. Il ciclo while (e blocchi IFTHENELSE) Un altro tipo di ciclo è il ciclo while. Invece di eseguire un numero fisso di volte come un ciclo FOR, esso può eseguire finché una condizione è vera. Per esempio, let8217s dicono vogliamo trovare il primo indice in un array in cui il valore è maggiore di un certo valore: Lo scopo di questa funzione è di cercare un array di 1000 valori e restituire il primo indice se il valore è maggiore di una certa soglia . Se doesn8217t trovare qualsiasi valore superiore alla soglia, allora ritorna 0, che è un indice valido. Linea 1 inizializza un flag booleano, Trovato. FALSE. Poiché si tratta di una funzione, it8217s non proprio necessaria in quanto il valore sarebbe stato inizializzato a false ogni volta che si chiama la funzione, ma se questo è stato un blocco funzione, quindi you8217d desidera includere quella linea perché il valore sarebbe stato trattenuto da chiamata a chiamata . Linea 2 inizializza la variabile indice per il primo indice array (1). Le linee 3 e 9 definiscono il ciclo while. Linee 4 a 8 vengono eseguiti ripetutamente fino a quando l'espressione in linea 3 restituisce vero. Come potete vedere, abbiamo ciclo fino a quando lo troviamo, o l'indice passa il limite superiore della matrice. Linee da 4 a 8 comprende un blocco IFTHENELSE. Se l'espressione in linea 4 è vero, allora esegue la linea 5. Se l'espressione sulla linea 4 è falsa, allora esegue la linea 7, invece. Per dimostrare come funziona, assumere i valori nella matrice sono 25, 50, 75, 100, 125, ecc anche assumere Soglia è 80. Ci si aspetta che la funzione restituisca un valore di 4. Here8217s come la funzione esegue: Linea 2 set Indice di 1 linea 3 restituisce vero perché trovato è falsa e Index è 1 linea 4 è falsa (25 non è maggiore di 80) linea 7 imposta l'indice da 2 linea 3 valuta al vero perché trovato è falso e Index è 2 La linea 4 è falsa (50 non è maggiore di 80) linea 7 imposta l'indice da 3 linea 3 restituisce vero perché trovato è falso e Index è 3 linea 4 è falsa (75 non è maggiore di 80) linea 7 imposta l'indice da 4 linea 3 restituisce vero perché trovato è falsa e Index è 4 linea 4 restituisce true (100 è maggiore di 80) linea 5 set risultata vera linea 3 è falsa perché Trovato è vero linea 11 restituisce true linea 12 set i valore della funzione di ritorno a 4 (perché Index ha il valore 4) Mentre questa è una funzione perfettamente ragionevole, ci sono anche alcuni problemi con esso. Prima di tutto, il tempo di scansione è molto variabile. Il caso peggiore tempo di scansione è quando il valore isn8217t trovato, e restituisce 0. In tal caso un'iterazione dell'intero array. Nel migliore dei casi si restituisce 1. tempi di scansione variabile può portare a problemi se il caso peggiore è mai verificata, o se avete un sacco di funzioni come questo e there8217s alcuni casi diabolica in cui tutti hanno di eseguire il caso peggiore sul stessa scansione, e si supera il tempo di scansione consentito. In secondo luogo, la logica è complessa. Alcuni di voi potrebbero ridere di me per dire che. Se you8217re un codice di scrittura programmatore su PC in C o BASIC allora la funzione di cui sopra è in realtà abbastanza semplice, ma nella programmazione PLC abbiamo l'accento sulla semplicità anormale. Vogliamo logica che è ovviamente corretta quando lo guardiamo, e la funzione di cui sopra isn8217t ovviamente corretto se non si dà una notevole quantità di analisi. Per analizzare realmente dovete 8220play computer8221 e camminare attraverso almeno 2 differenti scenari: uno in cui si trova il valore, e uno in cui it8217s non trovato. All'inizio di questa sezione ho parlato di attesa elettricisti di andare online con i nostri programmi e fare la risoluzione dei problemi. Un elettricista può capire ladder, e con un po 'di lavoro che probabilmente può capire il per esempio ciclo precedente, ma ci stanno per essere un sacco di persone che won8217t in grado di capire questo esempio di un ciclo while con blocchi IFTHENELSE. Se credi che queste persone don8217t hanno alcuna attività in corso in linea con un PLC, allora suggerire si dovrebbe cambiare il suo atteggiamento. L'automazione è uno sport di squadra e non abbiamo spazio in squadra per il grande ego. Usare la logica più semplice che si può eventualmente (non il più breve). Se la programmazione della macchina you8217re ha 10 motori, don8217t provare a scrivere la logica del motore StartStop in testo strutturato con un ciclo for. Don8217t anche fare un blocco funzionale e ri-usa 10 volte. Basta scrivere 10 programmi diversi in linguaggio ladder e copiare la logica. Certo che potrebbero condividere una logica comune, come una bobina OkToRunMotors che viene impostato in un altro programma. Ricordate che si tratta di 10 motori fisicamente differenti e le condizioni per l'avvio e l'arresto li possono cambiare nel corso del tempo. Riconoscere che e mantenere la logica separata. D'altra parte, Testo strutturato è lo strumento giusto per la logica di registrazione degli eventi e la ricetta di manipolazione di un programma. Una registrazione elettricista nel PLC per capire il motivo per cui un isn8217t partire isn8217t motore andando a preoccuparsi con il modulo registrazione degli eventi. Testo strutturato è anche lo strumento giusto per manipolare i dati, ad esempio una scansione ricevuta da uno scanner di codici a barre o un lettore RFID. matematica complessa è anche più facilmente espressa in testo strutturato. Utilizzando lo strumento giusto per il lavoro significa prendere più che il problema stesso in considerazione. Assicurati di prendere le capacità della tua squadra e le capacità customer8217s in considerazione anche. Don8217t loop su un ingresso Un programmatore alle prime armi scriverà questo: Notate come we8217re loop su un ingresso. Un ingresso è un ingresso fisico del mondo reale. Si cambia solo quando una scansione IO accade. Quando il runtime esegue questa logica, si entrerà nel loop e potenzialmente mai uscire, e nessuno del resto del programma verrà eseguito di nuovo. La macchina verrà visualizzata a congelare, uscite rimarranno nel loro ultimo stato, e le cose cattive che accadrà. Semplicemente, se you8217re utilizzando un ingresso come il condizionale in un ciclo while, allora si don8217t avere una buona comprensione di come funziona il runtime PLC, ed è necessario fermarsi e tornare all'inizio. La maggior parte di lavoro PLC leggendo gli ingressi fisici nella memoria, in esecuzione la logica del programma, e la copia i nuovi valori delle uscite alle uscite fisici (that8217s una semplificazione e non vale per tutti i PLC, ma it8217s un buon modello per cominciare), e poi farlo ancora e ancora. La quantità di tempo necessario per fare tutto ciò che è il vostro tempo di scansione, e vogliamo che il tempo di scansione di essere il più breve possibile. Causando il programma per immettere un ciclo che attende un input per accendere saranno essenzialmente arrestare il programma. In alcuni casi sarà anche prevenire l'IO scansione accada, così it8217s impossibile per tale ingresso a cambiare di nuovo stato. La macchina si blocca per sempre. Ladder doesn8217t vi darà la possibilità di sparare in un piede in questo modo, ma fa testo strutturato. Stare lontano da cicli infiniti. Mescolando ladder e strutturato testo I8217ve si mostrato come è possibile scrivere programmi, funzioni e blocchi funzionali nel testo strutturato, ma a volte it8217s bello per aggiungere un po 'di testo strutturato nel mezzo del vostro programma ladder. Si scopre che un programma può includere qualcosa chiamato un'azione (che è come un mini sub-programma locale che è possibile chiamare dal programma) e l'azione può essere scritta in una lingua diversa implementazione del programma principale. Per aggiungere un'azione. fare clic destro su un programma esistente (ladder) e scegliere Aggiungi-Action8230 dal menu contestuale. Tutto quello che dovete digitare è un nome e scegliere una implementazione del linguaggio. Scegliere testo strutturato. La nuova azione verrà visualizzato in Esplora soluzioni sotto il vostro programma. L'azione ha accesso a tutte le dichiarazioni (ingressi, uscite, e le variabili locali) del programma genitore o POE. È possibile chiamare l'Azione come qualsiasi altro programma: basta aggiungere un blocco e immettere il nome di azione. String funzioni Funzioni di stringa possono essere utilizzati sia in linguaggio ladder e testo strutturato, ma quando si inizia a fare manipolazione delle stringhe complicato allora vi consiglio muovendo in testo strutturato perché può essere più facile da capire. Qui ci sono le funzioni tipiche di stringa e quello che fanno: LEN (s) 8211 restituisce il numero di caratteri a sinistra stringa s (s, n) 8211 restituisce i n più a sinistra caratteri dalla stringa s, o ritorna s se n LEN (s ) RIGHT (s, n) 8211 restituisce il n caratteri dalla stringa s, o ritorna s più a destra se n LEN (s) MID (s, n, p) 8211 ritorna n caratteri di stringa s, a partire dalla posizione p (prima il numero di caratteri è 1, non è 0) CONCAT (S1, S2) 8211 restituisce stringhe s1 e s2 uniti (concatenato) insieme INSERT (S1, S2, p) 8211 restituisce una nuova stringa formata inserendo s2 in s1 alla posizione p delete (s , n, p) 8211 l'opposto di MID. ritorna la stringa s con i caratteri n partire dalla posizione p rimossi REPLACE (S1, S2, n, p) 8211 combina DELETE e INSERT 8211 rimuove n caratteri da S1 a partire dalla posizione p, e li sostituisce con s2 FIND (S1, S2) 8211 restituisce la posizione della stringa s2 nella stringa s1, o 0 se non trovato, ed è case sensitive è possibile, naturalmente, creare le proprie funzioni di stringa. Per esempio, potrebbe essere utile per avere una diversa funzione di sostituzione che prende un 3 stringhe: una stringa per la ricerca, una stringa da trovare, una stringa di sostituire tutte le istanze della stringa trovata con: Si noti come le variabili sono dichiarate come TMaxString invece di STRING 8230 Limitazioni di stringa Dato che le variabili sono allocati staticamente in TwinCAT 3, quando si definisce una variabile stringa si deve dichiarare la lunghezza. Implicitamente questo è di 80 caratteri, e utilizza fino 81 byte di memoria (80 per i dati e un byte per un terminatore null). Le stringhe sono limitati a una lunghezza di 255 caratteri. C'è un tipo specifico chiamato TMaxString che è un alias per STRING (255). Bisogna fare attenzione perché TwinCAT 3 silenziosamente troncare una stringa per la lunghezza massima definita della stringa di destinazione quando si esegue un compito. Quando si effettua le proprie funzioni di stringa, è necessario utilizzare TMaxString come il tipo di variabile per assicurarsi che funzionino con qualsiasi stringa passata a loro. Se si don8217t, le variabili di ingresso e di uscita saranno silenziosamente troncati alla lunghezza specificata. Testo Conclusioni strutturato è uno strumento potente. In alcuni PLC, come la linea Allen-Bradley ControlLogix, si deve pagare un extra per l'editor di testo strutturato, ma con TwinCAT 3 si ottiene gratuitamente. (In realtà, si ottiene l'editor ladder per too8230 libero) Da un grande potere derivano grandi responsabilità. Usa i tuoi nuovi poteri con saggezza e parsimonia. Durante la programmazione PLC, la prima priorità è la correttezza e la seconda priorità è la leggibilità. Nessuno ottiene punti per la scrittura di un minor numero di righe di codice. Ricordatelo. I commenti sono chiusi.
Comments
Post a Comment