PMI Logo
  • Αρχική
    • Αρχική σελίδα
    • Γιατί να μας επιλέξετε
      • Πολυετής Εμπειρία
      • Ευελιξία Εγκαταστασης
      • Κορυφαία Τεχνολογία
  • Οι υπηρεσίες μας
  • Έργα
    • Στη Θήρα (Σαντορίνη)
    • Στην Αστυπάλαια
    • Στη Χίο
    • Στα Ψαρά
    • Ανάπτυξη λύσης SCADA
    • Ανακατασκευή Μονάδας Αφαλάτωσης αλιευτικού σκάφους
    • Αφαλάτωση Επεξεργασίας Θαλασσινού Νερού
  • Καινοτομία
    • Οικιακή αντίστροφη ώσμωση
    • Λογισμικό SCADA
    • SCADA Δοκιμαστική Έκδοση
    • Εκπαιδευτικό Λογισμικό PLC
    • Λογισμικό Ανίχνευσης Προσώπου
    • Αυτοματισμός και τηλεμετρία συσκευών με Raspberry Pi
    • Καλώδια-Διελεύσεις
    • Προστασία εμβαπτιζόμενων αισθητήρων
  • Επικοινωνία
Logout
 

Λογισμικό εξομοίωσης λειτουργίας PLC για εκπαιδευτικούς σκοπούς

Γενικές δυνατότητες

Περιβάλλον

Το περιβάλλον χωρίζεται στις εισόδους αριστερά 16 ψηφιακές και 4 αναλογικές, τη ροή εκτέλλεσης στο κέντρο και τις εξόδους δεξιά. Οι ψηφιακές είσοδοι μπορεί να είναι μόνιμες με check αριστερού click και στιγμιαίες με check δεξί κλίκ. Για την απλούστευση της εκπαιδευτικής λογικής οι εξοδοι είναι ψηφιακές και αναλογικές (στην περίπτωση ψηφιακής τιμής παρουσιάζουν 0 ή 1), εκτός απο τιμές των εξόδων παρουσιάζονται και οι τιμές των βοηθητικών, οι καταμετρητές και τα χρονικά. Κάτω ακριβώς από αυτά ο χρήστης μπορεί να εισάγει τον κώδικά του υπό τη μορφή STL (Statement List), να τον επαναφορτώσει "Reload" στο PLC ακόμα και εν λειτουργία "Run". Οποτεδήποτε ο χρήστης επιθυμεί να σταματήσει το PLC από την εκτέλεση του Statement List μπορεί να πατήσει "Stop" και αν θέλει να συνεχίσει "Run"... 

Περιβάλλον Soft PLC Emulator

Ι/Ο

  • Είσοδοι Ψηφιακές i0 - i15
  • Είσοδοι Αναλογικές v0 - v3
  • Έξοδοι Ψηφιακές ή Αναλογικές q0 - q15 (ανάλογα με την εντολή που χρησιμοποιούνται)
  • Βοηθητικές Ψηφιακές ή Αναλογικές m0 - m15 (ανάλογα με την εντολή που χρησιμοποιούνται)
  • Counters c0 - c15
  • Χρονικά t0 - t15

Για την εκτέλεση του προγράμματος χρησιμοποιούνται:

  1. RLO - > Running Logic, ξεκινά αληθής και σε κάθε λογική πράξη μεταβάλλεται μέχρι να συναντήσει εντολή ή εντολές εξόδου και αποδίδει την τιμή της σε αυτές, μετά τις εντολές εξόδου ξαναγίνεται αληθής για το επόμενο μπλοκ.
  2. Accu1 -> Καταχωρητής δεκαδικών για πραγματοποίηση μαθηματικών πράξεων
  3. Accu2 -> Καταχωρητής δεκαδικών για πραγματοποίηση μαθηματικών πράξεων

Υπάρχει μεταφορά των αποτελλεσμάτων των πράξεων από την Accu1 προς την Accu2 οπότε το ποιό πρόσφατο αποτέλλεσμα είναι πάντα στον Accu1.

Για την απλούστευση της λογικής δεν υπάρχουν bitwise operations ή δομές όπως byte, word, dword κλπ...

Προσοχή στα κενά και τις παρενθέσεις. Οι εκφράσεις πρέπει να είναι ακριβείς, να δίδονται με πεζούς χαρακτήρες, για να γίνονται κατανοητές αλλιώς το PLC μπαίνει σε stop, δεν προχωράνε οι κύκλοι ή βγάζει !!! σε κάποιες εντολές που δεν γίνονται κατανοητές και δεν λαμβάνονται υπ όψιν... Τα σχόλια ξεκινούν με // εμφανίζουν μεν !!! αλλά δεν επηρεάζουν την εκτέλεση του προγράμματος.

Σφάλματα εντολών

PLC σε Stop λόγω λανθασμένης αναφοράς εισόδου

Εντολές

Εντολές λογικής

set, clear χωρίς παραμέτρους κάνει τη RLO 1 ή 0

a, o, x, an, on, xn, not δέχονται ως παράμετρο ix ή mx ή qx ή cx ή tx και εκτελλεί την εκάστοτε λογική πράξη

πχ:
a i1
o i2

Η RLO θα πάρει ως αποτέλλεσμα RLO=i2 or i2

Απόδοση της RLO σε εξόδους

=, s, r δέχονται ως παράμετρο mx ή qx και αποδίδει σε αυτήν την τιμή της RLO

Απόδοση της μεταβολής της RLO σε εξόδους για έναν μόνο κύκλο

fp, fn δέχονται ως παράμετρο mx και αποδίδουν αληθές σε αυτήν μόνο για τον κύκλο που θα συμβεί η μεταβολή της RLO θετική ή αρνητική

Μαθηματικές πράξεις

l (L μικρό) χρησιμοποιείται για να φορτωθεί τιμή σε κάποιον καταχωρητή και δέχεται παραμέτρους vx ή mx ή qx ή cx ή δεκαδικός αριθμός πχ 2.3 ή - rtc, με παραμέτρους yyyy, mo, dd, dow, hh, mm, ss για τιμές από το real time clock.

κατά το load η τιμή της accu1 μεταφέρεται στον accu2 και η νέα τιμή φορτώνεται στην accu1

Αφού φορτωθούν οι τιμές με τη χρήση του l μπορούν να πραγματοποιηθούν οι παρακάτω πράξεις:

+r, -r, *r, /r, ^r, mod, sqr, sin, cos, tan, asin, acos, atan.

Για τις πράξεις με 2 τελεστές η πράξη συμβαίνει accu2 (+-*/^mod) accu1 και αποδίδεται στην accu1 μετακινώντας την προηγούμενη τιμή του στον accu2.

Για πράξεις με έναν τελεστή η πράξη συμβαίνει για τον accu1 και αποδίδεται σε αυτόν μετακινώντας την προηγούμενη τιμή του στον accu2.

t για μεταφορά του accu1 σε αναλογική έξοδο με παράμετρο mx, qx

>,<,=>,<=,== για σύγκριση τιμών ανάμεσα σε Accu1 και Accu2 για ενεργοίηση της RLO. Συμβαίνει σύγκριση Accu2 (>,<,=>,<=,==) Accu1. H RLO αποκτά τιμή βάσει της αλήθειας της σύγκρισης

Παραδείγματα:

//v0=3 enable q0
l v0
l 3,0
==
= q0

//v1>real time clock seconds enable q1
l v1
l rtc ss
>
= q1

//v2 convert 4-20mA to 0-10
l v2
l 0,625
*r
l 2,5
-r
t m0

Απαριθμητές Αύξουσας ή Φθίνουσας απαρίθμισης

Απόδοση αρχικής τιμής -είναι πολύ σημαντικό να αποδοθεί αρχική τιμή σε έναν καταμετρητή πριν τη χρήση του...

lcu, lcd με παράμετρο cx και μια ακέραια τιμή. Στην αύξουσα απαρίθμηση η τιμή στόχος είναι αυτή που αποδίδεται κατά τον ορισμό στο lcu, ενώ στην φθίνουσα η τιμή στόχος είναι μέχρι η απαρίθμιση να κατέβει στο 0

cu, cd με παράμετρο cx προκειμένου να προχωρήσει η απαρίθμηση προς τα πάνω η προς τα κάτω, εφόσον οι λογικές πράξεις που προηγούνται κάνουν την RLO αληθή.

Εφόσον ο απαριθμητής πετύχει την τιμή στοχο θα οδηγήσει σαν ψηφιακό σήμα (a cx) την ανάλογη λογική πράξη αν χρησιμοποιηθεί σε μια τέτοια.

Εναλλακτικά σε οποιοδήποτε σημείο της απαρίθμισης μπορεί να χρησιμοποιηθεί σε μια μαθηματική πράξη ως τιμή (l cx)

rcd, rcu με παράμετρο cx, προκειμένου να επαναφέρουν τον απαριθμητή στην αρχική του κατάσταση, εφόσον οι λογικές πράξεις που προηγούνται κάνουν την RLO αληθή.

Παραδείγματα:

//Counter Without Possitive edge detection
lcd c0 5
a i0
cd c0
a c0
s q0
a i1
r q0
rcd c0

Παραδείγματα:

// Counter With Possitive edge detection
a i0
fp m0
lcd c0 5
a m0
cd c0
a c0
s q0
a i1
r q0
rcd c0

Χρονικά

Απόδοση αρχικής τιμής-είναι πολύ σημαντικό να αποδοθεί αρχική τιμή σε ένα χρονικό πριν τη χρήση του...
lt με παράμετρο tx και μια ακέραια τιμή που είναι η τιμή σε δευτερόλεπτα για τον συγκεκριμένο timer

ts με παράμετρο tx, εφόσον οι λογικές πράξεις που προηγούνται κάνουν την RLO αληθή, οπότε ο timer θα ξεκινήσει να μετρά ανάποδα από τα x αρχικά δευτερόλεπτα μέχρι το 0 και κατόπιν αρνητικά...

Εφόσον το χρονικό μηδενίσει και γίνει αρνητικό θα οδηγήσει σαν ψηφιακό σήμα (a tx) την ανάλογη λογική πράξη αν χρησιμοποιηθεί σε μια τέτοια.

Εναλλακτικά σε οποιοδήποτε σημείο της χρονομέτρησης μπορεί να χρησιμοποιηθεί σε μια μαθηματική πράξη ως τιμή (l tx)

tc με παράμετρο tx για να επαναφέρει τον απαριθμητή στην αρχική του κατάσταση, εφόσον οι λογικές πράξεις που προηγούνται κάνουν την RLO αληθή...

Παραδείγματα:

//i0 count 30 sec enable q0, i1 clear timer
lt t0 30
a i0
ts t0
a t0
= q0
a i1
tc t0

Υπο συνθήκη εκτέλλεση τμήματος κώδικα, ομαδοποίηση

Αν ένα τμήμα κώδικα περιληφθεί σε μια έκφραση fc[...] αυτό θα εκτελλεστεί μόνο αν η RLO είναι αληθής, αλλιώς ενεργοποιείται το jumpflag που παρακάμπτει όλο το τμήμα κώδικα...

Παραδείγματα:

a i0
fc[
a i1
o i2
= q0
]
a i1
a i2
= q1

Επιπλέον οι ψηφιακές εντολές μπορεί να ομαδοποιούνται με παρενθέσεις...

Με τις παρανθέσεις η λογική πράξη και η RLO αποθηκεύονται σε στοίβα και η τρέχουσα RLO γίνεται αληθής, εκτελλούνται οι λογικές και μαθηματικές πράξεις εντός των παρενθέσεων, κατόπιν η τρέχουσα RLO που υπολογίστηκε από τις εντολές εντός παρένθεσης συμμετέχει στην λογική πράξη που είχε αποθηκευτεί και με την RLO που είχε αποθηκευτεί…

Παραδείγματα:

a(
a i0
a i1
)
o i2
= q1

Άλλο παράδειγμα: Από το ρολόι πραγματικού χρόνου αν τα δευτερόλεπτα είναι 15 ή 30 ή υπάρχει σήμα στη i2 ενεργοποιείται η q1

a(
l rtc ss
l 15
==
)
o(
l rtc ss
l 30
==
)
o i2
= q1

Θέλετε το λογισμικό για να πειραματιστείτε στον υπολογιστή σας;

Το λογισμικό παρέχεται εντελώς δωρεάν από την ιστοσελίδα με αυτοποιημένη εγκατάσταση και updates. Κατά την εγκατάσταση λόγω απουσίας ψηφιακού πιστοποιητικού ενδέχεται να παρουσιάστεί μήνυμα μη ασφαλούς εφαρμογής, προτείνεται να επιλέξετε "περισσότερες πληροφορίες" και κατόπιν "εκτέλεση". Αν το λογισμικό σας φαίνεται χρήσιμο παρακαλώ ενημερώστε με χρησιμοποιώντας τη φόρμα επικοινωνίας προκειμένου να συνεχίσουμε την ανάπτυξή του σαν ανεξάρτητο τμήμα από το SCADA.

logo

  • Πολυετής Εμπειρία
  • Ευελιξία Εγκαταστασης
  • Ανάπτυξη λύσης SCADA
  • Καινοτομία
  • Επικοινωνία

Copyright © 2020, Pappas N. Michael. All Rights Reserved, Template created by Colorlib