Αρχικά η πρώτη προσέγγιση μας με τον κόσμο του SCADA ήταν μέσα από το πακέτο VisiDaq της εταιρίας Advantech και συσκευές I/O συνδεδεμένες σε Bus. Μια τέτοια προσέγγιση αντιμετώπιζε τις συσκευές εισόδου-εξόδου σαν πηγές σημάτων κάνοντας σειριακούς κύκλους ανάγνωσης εγγραφής σε όλη τη λίστα συσκευών με περιορισμό μέγιστου χρόνου επικοινωνίας ανά συσκευή και για όλο τον κύκλο επικοινωνιών. Φυσικά η σταθερότητα του Bus μπορούσε να διαταραχθεί από αρκετούς παράγοντες προκαλώντας ανωμαλίες, όμως εν τέλει τα σήματα κατέληγαν στον Ηλεκτρονικό Υπολογιστή. Κατόπιν κάθε σήμα από την εκάστοτε συσκευή μέσω του λογισμικού οδηγούνταν σε κάποιο Script Block αν έπρεπε να υποστεί περεταίρω επεξεργασία ή απευθείας σε κάποιο γραφικό στοιχείο προκειμένου να συμβεί η απεικόνιση. Επιπλέον τα γραφικά στοιχεία ελέγχου μπορούσαν να οδηγηθούν σε κάποιο Script Block, κάποιο άλλο στοιχείο του γραφικού περιβάλλοντος ή να οδηγήσουν απευθείας την έξοδο κάποιας συσκευής. Αντίστοιχα οι έξοδοι των Script Blocks μπορούσαν να οδηγηθούν σε άλλα Script Blocks, στοιχεία γραφικού περιβάλλοντος ή εξόδους συσκευής. Η πρωτόλεια αυτή μορφή επέτρεπε την δημιουργία συστημάτων περιορισμένου όγκου σημάτων εξ' αιτίας της διόγκωσης του κύκλου επικοινωνίας ανάμεσα στις συσκευές και τον ηλεκτρονικό υπολογιστή. Παρόλη τη δυσχέρεια η αρχική αυτή προσέγγιση απέδειξε ότι η χρήση Ηλεκτρονικού Υπολογιστή για τη διεκπεραίωση αυτοματισμού και SCADA μπορεί να σταθεί εξίσου αξιόπιστα δίπλα σε μια λύση βασισμένη σε προγραμματιζόμενους λογικούς ελεγκτές (PLC). Όσον αφορά τα έτοιμα πακέτα λογισμικού, σύντομα διαπιστώθηκε οτι ήταν ογκώδη, με απεριόριστες δυνατότητες που δεν ήταν καθόλου απαραίτητες, με μεγάλο βαθμό δυσχρηστίας, με άμεση εξάρτηση σε συγκεκριμένο υλικό, με σφάλματα που δεν μπορούσαν να διορθωθούν άμεσα, με διορθώσεις ή αναβαθμίσεις που μπορούσαν να καταστήσουν μη λειτουργική μια εγκατάσταση κλπ. Συνεπώς δημιουργήθηκε η ανάγκη και από αυτήν η ιδέα κατασκευής ανεξάρτητου λογισμικού.
Η εφαρμογή των λύσεων μας στη Σαντορίνη, ήταν πολύ σημαντικό στάδιο στην αναγνώριση κρυμμένων κινδύνων και την αποτελεσματική αντιμετώπιση τους. Παρά τα 2kV optical isolation στις εισόδους των συσκευών αλλά και τις προσπάθειες ηλεκτρομαγνητικής θωράκισης για την αντιμετώπιση των ζημιών από κεραυνικά πλήγματα η λύση ήρθε με τη χρήση συνδυασμού varistors και ασφαλειών. Τα varistors τυπικά παρουσιάζουν πολύ μεγάλη αντίσταση μέχρι την εφαρμογή κάποιας καθορισμένης τάσης στα άκρα τους. Αν στα άκρα του varistor εφαρμοστεί τάση μεγαλύτερη από την συγκεκριμένη που προδιαγράφεται, το varistor αποκτά πολύ μικρή αντίσταση δημιουργώντας βραχυκύκλωμα. Ένα τέτοιο βραχυκύκλωμα θα γλύτωνε μεν τη συσκευή αλλά θα έκαιγε το καλώδιο και τον αισθητήρα, έτσι δημιουργήσαμε ένα κύκλωμα ικανό να επιτρέψει τάση λειτουργίας αλλά στην περίπτωση υπέρβασής της να καίει κάποιες ασφάλειες ανοίγοντας το κύκλωμα. Με αυτό τον τρόπο οι συσκευές κατά την εκδήλωση καταιγίδων έγιναν άτρωτες και οι συνέπειες περιορίστηκαν σε μερικές καμένες ασφάλειες που εύκολα εντοπίζονται και αντικαθίστανται. Αυτή η υψηλού επιπέδου προστασία, αύξησε για κάθε είσοδο σήματος τα υλικά κατά τουλάχιστον πέντε με τις επιπλέον συνδέσεις και καλωδιώσεις στον πίνακα. Έγκαιρα αναγνωρίστηκε η ανάγκη τυποποίησης και κατασκευάστηκε πλακέτα ενσωμάτωσης όλων των απαραίτητων κυκλωμάτων διανομής τάσης και προστασίας για τις συσκευές συλλογής σημάτων και οι εσωτερικές καλωδιώσεις του πίνακα μειώθηκαν σε λιγότερες από 30. Παράλληλα οι συνδέσεις των εξωτερικών καλωδιώσεων τυποποιήθηκαν με αποσπώμενα τερματικά μπλοκ. Ένα άλλο θέμα που αντιμετωπίστηκε στην Σαντορίνη ήταν η έλλειψη πραγματικής γείωσης στις εγκαταστάσεις με τα διάφορα θέματα που μπορεί να δημιουργηθούν από διαφορές δυναμικού σε σχέση με μια ακαθόριστη γη. Επιπλέον οι βίαιες εκδηλώσεις καιρικών φαινομένων, το διαβρωτικό κλίμα του νησιού αλλά και εξ αιτίας της ηφαιστειακής δραστηριότητας, η υψηλή ηλιοφάνεια, η ζέστη, η υγρασία, η σκόνη, είναι πολύ σημαντικοί παράγοντες που μπορούν να προκαλέσουν διακοπές στη λειτουργία ενός τέτοιου συστήματος, όμως για όλα λαμβάνεται μέριμνα.
Αναζητώντας πιο σύγχρονες προσεγγίσεις στο θέμα της διασύνδεσης διαπιστώσαμε ότι οι επικοινωνίες μέσω δικτύου, ικανού να υποστηρίξει TCP/IP, έλυναν τα προβλήματα της σύνδεσης σε Bus ενώ η συλλογή σημάτων μέσω OPC server θα μπορούσε να είναι μια λύση για παράλληλη διεκπεραίωση επικοινωνιών σε σύντομο χρόνο από πολλές συσκευές ταυτόχρονα. Όμως η ιδέα του TCP/IP (πχ. Modbus/TCP) με χρήση OPC Server δεν φάνηκε να είναι εξίσου ικανή να διεκπεραιώσει επικοινωνίες σε συσκευές που μπορούσαν να χαθούν από το δίκτυο (πχ συσκευές που εξυπηρετούνται ασύρματα) κυρίως όσον αφορά τους χειρισμούς κατά την απώλεια και την ενδεχόμενη αποκατάσταση της επικοινωνίας αυτόματα. Σίγουρα η διεκπεραίωση των επικοινωνιών μπορούσε να συμβεί μέσω δικτύου TCP/IP με τον παλιό τρόπο -μια συσκευή κάθε φορά- εξοικονομώντας bandwidth και αυξάνοντας τη σταθερότητα των επικοινωνιών, όμως ο στόχος ήταν πάντα η παράλληλη ταυτόχρονη διεκπεραίωση... Από αυτό έγινε σαφές ότι για να δουλέψει σωστά μια λύση με ασύρματες επικοινωνίες ο χειρισμός και η αποκατάσταση έπρεπε να ελέγχεται απολύτως από το λογισμικό μας και μάλιστα με παράλληλο τρόπο. Η πολυνηματική επεξεργασία είναι κάτι που ένας ηλεκτρονικός υπολογιστής κάνει εξαιρετικά καλά και όντως δούλεψε περίφημα στην ταυτόχρονη διεκπεραίωση επικοινωνιών με συσκευές I/O. Επιπλέον όλες οι δυνατότητες που παρέχονται σε τέτοιου είδους δίκτυα (Ethernet, Wifi, Fiber, VPN, Bridging, Routing κλπ) άνοιξαν νέους δρόμους σε σταθερότερες δομές δικτύωσης με τεράστιους όγκους συσκευών δικτύου να συνδέονται ενσύρματα και ασύρματα σε μεγάλες γεωγραφικές αποστάσεις.
Μια άλλη διαπίστωση που έγινε κατά τις κατασκευές συστημάτων SCADA ήταν ότι οι είσοδοι-έξοδοι των συσκευών έπρεπε να είναι κατά κάποιο τρόπο ανεξάρτητως της πηγής τους, υπό μια γενική θεώρηση: ΣΗΜΑΤΑ και να αντιμετωπίζονται από το σύστημα με τον ίδιο τρόπο. Έτσι θα μπορούσαν να υπάρξουν επαναχρησιμοποιούμενα τμήματα λογισμικού που εκτελούν το ίδιο σενάριο για μεγάλο όγκο σημάτων και μάλιστα με τον αποδοτικότερο τρόπο. Τα PLC αντιμετωπίζουν τα σήματα ως δομές δεδομένων που χρήζουν επεξεργασίας, μετατροπών με λογικές και μαθηματικές πράξεις. Πέραν αυτής της λογικής σε τελικό επίπεδο τα σήματα είναι μετρήσεις φυσικών μεγεθών και καταστάσεων υπό ηλεκτρική κλίμακα... Αντιμετωπίζοντας τα σήματα ως ηλεκτρικό μέγεθος, που υπό κλίμακα παρουσιάζει κάποιο φυσικό μέγεθος, μια πρώτη πράξη που πάντα πρέπει να συμβαίνει, σε ένα σήμα μετά τη συλλογή του από την εκάστοτε συσκευή, είναι η μετατροπή του μέσω κάποιας συνάρτησης από τα ηλεκτρικά όρια στα φυσικά όρια της μέτρησης. Ως φυσικό μέγεθος το σήμα στις περισσότερες περιπτώσεις βρίσκεται σε κάποιες καταστάσεις. Αν οριοθετήσουμε για κάθε σήμα κάποιες τιμές - στάθμες: Πολύ Χαμηλό, Χαμηλό, Υψηλό, Πολύ Υψηλό - οριοθετούμε κάποιες καταστάσεις: 1. Κατάσταση κάτω από πολύ χαμηλό, 2. Κατάσταση από πολύ χαμηλό έως χαμηλό, 3. Κατάσταση από χαμηλό έως υψηλό, 4. Κατάσταση από υψηλό έως πολύ υψηλό, 5. Κατάσταση πάνω από πολύ υψηλό. Αυτός και μόνο ο διαχωρισμός μπορεί να δημιουργήσει μια αλληλουχία νέων αυτοεκπληρούμενων γεγονότων. Βάσει αυτού του διαχωρισμού καταστάσεων τα γραφικά στοιχεία του περιβάλλοντος μπορούν να αποκτήσουν χρωματική κλίμακα ή animation προκειμένου να υποδείξουν φυσιολογικές και ανεπιθύμητες καταστάσεις - δεν χρειάζεται κάποιος να υποδείξει στο γραφικό στοιχείο τι πρέπει να κάνει και πότε πρέπει να το κάνει - αρκεί να ορίσει μόνο το σήμα που απεικονίζεται σε αυτό και βάσει της κατάστασης του σήματος η απεικόνιση θα είναι η ανάλογη. Βάσει αυτού του διαχωρισμού καταστάσεων και με πέντε καθοριζόμενες χρονοκαθυστερήσεις (μια ανά κατάσταση) κάποιο σήμα που περνά από μια κατάσταση στην άλλη και παραμένει σε αυτή για χρόνο περισσότερο από αυτόν που έχει καθοριστεί μπορεί να ενεργοποιήσει μια αλληλουχία συμβάντων που μπαίνουν αυτόματα σε ουρά εκτέλεσης. Συνεπώς κάποιος χωρίς να γράψει γραμμή προγραμματιζόμενης λογικής μπορεί να φτιάξει ταυτόχρονα SCADA και αυτοματισμό σε επίπεδο φυσικού μεγέθους ή φυσικής κατάστασης. Μάλιστα αυτό συμβαίνει τόσο απλά όσο η συμπλήρωση στοιχείων σε πίνακες που κάθε γραμμή περιέχει τις ρυθμίσεις κάθε σήματος.
Μέσα από μια εξερεύνηση για τον τρόπο που δουλεύουν οι προγραμματιζόμενοι λογικοί ελεγκτές, δημιουργήθηκε ένα λογισμικό εξομοίωσης της λειτουργίας ενός PLC. Φυσικά μια τέτοια λειτουργία ενσωματώθηκε στο σύστημα. Άλλωστε κάποιος γνώστης συστημάτων αυτοματισμού δεν θα μπορούσε να παραμείνει στα απλά σενάρια συμβάντος-γεγονότος που διαμορφώνονται μέσα από συμπλήρωση πινάκων. Για τον έμπειρο γνώστη διατίθεται λειτουργία scripting σε μορφή STL ή Javascript. Η αλληλεπίδραση του συστήματος Scripting με το SCADA συμβαίνει με ένα μοναδικό τρόπο: Το σύστημα Scripting είναι ένας εικονικός Ελεγκτής Προγραμματιζόμενης Λογικής (PLC) με εισόδους και εξόδους τα σήματα του SCADA. Μάλιστα κάθε σήμα διατίθεται ως πρωτόγεννής τιμή (όπως διαβάστηκε από την εκάστοτε συσκευή), ως τιμή φυσικού μεγέθους (όπως μετατράπηκε από τις ρυθμίσεις του SCADA) ή ως λογική κατάσταση που εκπληρώνει η τιμή του σήματος για κάθε μια από τις καταστάσεις (κάτω από ελάχιστη, ελάχιστη έως χαμηλή, χαμηλή έως υψηλή, υψηλή έως μέγιστη, πάνω από μέγιστη) – όπως ορίστηκαν στους πίνακες του SCADA. Οι έξοδοι του συστήματος μπορεί να εντολοδοτούν απευθείας τις συσκευές ή αντίστοιχα σήματα του SCADA. Μια σημαντική παράμετρος που τίθεται είναι η μη εκτέλεση τμημάτων που αφορούν συγκεκριμένες συσκευές, εφόσον οι συσκευές δεν είναι συνδεδεμένες στο δίκτυο ή έχουν προσωρινή απώλεια σήματος. Επιπλέον συσκευές με απώλεια σήματος μπορούν να αναλάβουν την εκτέλεση ενεργειών ασφαλείας με τη δική τους προγραμματιζόμενη λογική – εκτός του συστήματος. Όπως ένα φυσικό PLC, έτσι και το λογισμικό PLC (SoftPLC) εκτελεί κυκλικά τον κώδικα. Οι κύκλοι του ελεγκτή είναι σημαντικά ταχύτεροι από τους αντίστοιχους κύκλους του SCADA και παράγεται πάντα αποτέλεσμα πολλές φορές πριν το SCADA στείλει τιμή στις συσκευές. Φυσικά ένας απλός προσωπικός υπολογιστής μπορεί να εκτελεί αποτελεσματικά αρκετά περίπλοκα σενάρια. Στο περιβάλλον του SCADA αναπτύχθηκαν και επιμέρους ελεγκτές (υπό τη μορφή λογισμικού) όπως ολοκληρωτές σημάτων, χρονικά, ελεγκτές PID κλπ.
Η εξέλιξη επιμέρους τμημάτων του λογισμικού μαζί με την εξέλιξη του Web δεν θα μπορούσε να αφήσει εκτός της εφαρμογής διαδικτυακές δυνατότητες διάχυσης της πληροφορίας. Παρά την γνώση σημαντικών πακέτων web server επιλέχθηκε ξανά η οδός της κατασκευής και ενσωμάτωσης του δικού μας, υποσυστήματος. Βασικός σκεπτικό για την ενσωμάτωση κάθε υποσυστήματος, είναι το δίλημα απλότητα εναντίον πολυπλοκότητας σε συνάρτηση με το αναγκαίο εναντίον του υπερβολικού… Σε πρώτη φάση μέχρι την έκδοση 6.0, η λύση του απλού και αναγκαίου μπόρεσε με ασφάλεια να πετύχει το απαιτούμενο. Όμως οι ανάγκες των χρηστών για κάτι παραπάνω από το αναγκαίο και ασφαλές αλλά όχι πολύπλοκο οδήγησαν και πάλι το λογισμικό να προσφέρει έναν ανώτερο HTTP Server ενσωματωμένο όπως πάντα και νέες τεχνολογίες responsive παρουσίασης σε κινητό, tablet ή οθόνη υπολογιστή.