Colonial54 Inserito: 19 gennaio 2017 Segnala Inserito: 19 gennaio 2017 Salve a tutti Devo gestire circa 140 valvole ognuna caratterizzata da 8 byte di dati e parametri; Con la 300 (o 400) utilizzavo un ciclo FOR con 2 possibili sistemi: una DB per ogni valvola e l'indice rappresentava il numero della DB da aprire oppure un altro sistema con una sola DB con tante strutture quante le valvole, il carico dei dati da elaborare, 8 byte avveniva incrementando l'indice di 8; Ogni valvola aveva il suo nome, es. YV1.01, YV1.12 etc. Con la 1200 come posso operare? Se creo degli array di strutture, posso si indicizzare, ma non posso dare ad ogni valvola il proprio nome ma solo per es. "Valvole".YV0.[0].Start, "Valvole".YV0.[1].Start etc. quindi tutte le valvole saranno YV0. Esiste un sistema, con la 1200 per ovviare a questa, per me, inaccettabile lacuna? Ringrazio anticipatamente.
batta Inserita: 19 gennaio 2017 Segnala Inserita: 19 gennaio 2017 Potresti semplicemente chiamare le strutture YV. Avresti quindi YV[0], YV[1], YV[2]... Non è proprio in nome della valvola ma si avvicina molto. Oppure indicizzi ancora tutto (impostando il DB "non ottimizzato") in SCL con le istruzioni PEEK e POKE.
Colonial54 Inserita: 20 gennaio 2017 Autore Segnala Inserita: 20 gennaio 2017 Ti ringrazio Batta E' proprio come temevo; purtroppo sul capitolato gli item devono chiamarsi esattamente cosi' come indicato dal cliente; Lo stesso che per risparmiare poche decine di euro su 800.000, ha imposto la 1200 invece della 151-8 e Weintek al posto di Movicon. Dovro' evidentemente parlarne con lui, oppure creare una FB richiamata 130 volte con le relative 130 DB di istanza. Saluti
batta Inserita: 21 gennaio 2017 Segnala Inserita: 21 gennaio 2017 Come ti ho detto, puoi anche creare un DB con una struttura con i nomi esatti delle valvole. Il DB deve essere "non ottimizzato", e puoi puntare alle variabili con una funzione fatta in SCL usando PEEK e POKE. Il risultato è lo stesso che otterresti con i puntatori in AWL. Riguardo la scelta del PLC, io non metterei in gara S7-1200 con la 151-8, ma con una S7-1500 (magari una 1510SP, analoga alla 151-8). Potresti ancora utilizzare AWL e i puntatori come nel 300.
Colonial54 Inserita: 21 gennaio 2017 Autore Segnala Inserita: 21 gennaio 2017 Purtroppo il plc non lo scelgo io, il parametro di scelta e' solamente il prezzo; inoltre molti dei miei clienti, almeno quelli "saputi" proibiscono scl ( e molti addirittura awl), gli altri fanno un casino boia non appena l'infante di turno mette mano al sw e ci trova su scl; Una domanda, e' le prima volta che uso la 1200 e ne approfitto: a cosa serve e come funziona MOVE_BLK_VARIANT?
Cesare Nicola Inserita: 22 gennaio 2017 Segnala Inserita: 22 gennaio 2017 Se uno proibisce SCL è tutt'altro che "saputo". Se vogliono una cosa che si può fare solo in SCL o AWL ma non vogliono SCL e impongono un 1200, che se lo facciano loro e se ne vadano a quel paese. Non si può, lo so, ti capisco perché capita a tutti noi. Era un modo per esprimerti solidarietà. :-)
batta Inserita: 22 gennaio 2017 Segnala Inserita: 22 gennaio 2017 Pienamente d'accordo con Cesare. Non è possibile imporre l'uso di un S7-1200 e vietare l'SCL (probabilmente solo perché loro non sanno programmare in SCL). Se c'è una funzione che si può fare solo in SCL, devono accettare l'SCL. Possono chiedere di ridurre l'uso dell'SCL solo ai casi strettamente necessari, ma nulla di più. Questo lo devono capire. Se non lo capiscono, puoi sempre fare una funzione in SCL, che poi proteggi in lettura e scrittura, che si occupa solo della gestione dei puntatori. Questa per il cliente diventa come una funzione di sistema, quindi deve solo conoscere come si usa, non cosa c'è dentro. Quote a cosa serve e come funziona MOVE_BLK_VARIANT? Serve per copiare interi array o parti di array, anche tra array diversi tra loro (ma con coerenza dei dati). Nella guida in linea è spiegato piuttosto bene.
Livio Orsini Inserita: 22 gennaio 2017 Segnala Inserita: 22 gennaio 2017 Quote Se uno proibisce SCL è tutt'altro che "saputo". Se vogliono una cosa che si può fare solo in SCL o AWL ma non vogliono SCL e impongono un 1200, che se lo facciano loro e se ne vadano a quel paese. Non si può, lo so, ti capisco perché capita a tutti noi. Era un modo per esprimerti solidarietà. :-) Tutto giusto, però rimane il fatto che è il cliente che paga ed ha il diritto, entro certi limiti, di scegliere quello che più gli aggrada. I fornitori hanno la scelta: soddisfare le pretese del cliente o rifiutare l'ordine. Il guaio grosso è che spesso l'ordine lo accetta che non sa cosa comporterà evaderlo; poi spesso si lamenta che i costi son maggiori del preventivato. Ma questo è un film che viene riproposto sempre più freqeuntemente.
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