Step7 e' un ambiente di sviluppo potente , permette di creare blocchi dati , blocchi di codice , simboli sulle variabili ect .
Il software puo essere architettato in diverse maniere .Per esempio blocchi di libreria o routines richiamabili , blocchi di codice per singoli o piccoli gruppi di componenti (motori , valvole , drives ect)
all'interno dei quali sviluppare le logiche relative all'interfacciamento campo , condizioni di start , condizioni di stop , comandi manuali , comandi automatici , richieste di vari movimenti o logiche , comandi finali , allarmi , interfacciamenti con la rete ect .
Una delle prime cose da fare e' capire cosa si deve fare , capire i dettagli , provare simulando , e testare sul campo dopo aver testato gli I/O per sezione di impianto .
Poi ci sono dei blocchi per le regolazioni di linea , richieste e controlli dallo scada ect
Lo scada scrive e legge , visualizza stati , alalrmi , trend , ricette ect .
E? un po come costruire una casa , bisogna calcolare le portate , scavare per le fondamenta accertandosi che ogni lavoro sia validamente sicuro e a norma , costruire aramature , gettare cemento , misurare , provare , e prevedere , soprattuto prevedere
Nel caso di grandi impianti mi avvalgo dell'aiuto di excel , per compilare in autoamatico i simboli , i blocchi dati da altri file excel delle motor list
S7-200 e' un plc dalle dimensioni ed applicazioni medio piccole , si programam con microwin , potentissimo ed interessante ambiente di sviluppo , molto serio e frindly .
I linguaggi sono i soliti con la differenza che in awl l'uso dei puntatori e' quasi come in C .Si usano
la "&" per caricare un indirizzo e "*" per deinderizzare o compiere calcoli sul valore puntato dal puntatore.
Non dispone di tool per creare strutture dati come in C , e l'area di memoria M e' avvastanza ridotta.In compenso l'area V e' abbastanza ampia e si puo manipolare come si vuole .
S7-200 e' piccolo ma di concezione mentale superiore a Step7 per S7-300/400
S7-300/400 sono per medi -grandi impianti -macchine .Hanno piu memoria ram , piu eeprom (adesso flash) e dispone di tool in maniera piu ampia ovviamente , ma la concezione dei linguaggi , a mio parere , e' molto vecchia e legata ad un assembly (awl) .Per calcoli o manipolazione dati uso un pacchetto opzionale che si chiama SCL (tendente al pascal )
Con questi plc praticamente fai di tutto , reti profibus , ethernet , modem , web server ect .Per ogni funzionalita occorrono schede dedicate con all'interno il loro firmware dedicato e tramite il bus k aggancaite sul rack dove risiede la cpu , oppure in rete
Dopo qualche anno le conosco bene , ma ogni volta c'e' sempre qualcosa da imparare o qualcosa che ti fa impazzire .Fare il software e farlo bene vuol dire anni di esperienza ma anche concezione di ragionamento personale in ottimo stato .Praticamente scrivere il software e' l'ultima cosa , prima bisogna pasticciare sulla carta , prendere note , studiare piccole parti e capire i funzionamenti di logiche sfruttando le conoscenze della macchina , che vanno studiate e scoperte a seconda delle necessita'.
Poi ognuno programma come vuole, ma quando il software e' un pasticcio e difficile metterlo in servizio , si lavora con l'ansia e con gente che da dietro le spalle ti soffia sul collo perche deve far funzioanre questo o quello , perche sono in ritardo o altro .
Se si scrive sw bene e ' anche piu facile e veloce modificare , finire ma soprattutto permettere che qualcuno altro possa poi metterci le mani senza doverti semrpe chiamare .
Qualcuno diceva :" Il programmatore bravo e' colui che oltre a far funzioanare i programmi , scrive i commenti , scrive in maniera chiara e scorrevole , ma che soprattutto fa capire e lavorare anche gli altri , che siano del team dello stesso , o i manutentori che arriveranno dopo"
