Πρόγραμμα User-Code


Το GMC-67 έχει την δυνατότητα να τρέχει προγράμματα με εντολές μιας γλώσσας ανωτέρου επιπέδου ειδικής για εφαρμογές αυτοματισμών και επικοινωνιών GSM.

 

Δυνατότητες του προγράμματος

  • Ελέγχος των εισόδων και εξόδων, θερμοκρασιών, αναλογικών τάσεων
  • Ενεργοποίηση / απενεργοποίηση των εξόδων
  • Δημιουργία παλμών στις εξόδους
  • Αποστολή SMS και κλήσης

 

Εντολές για την ανάπτυξη κώδικα

TXT ABCDEFGJKLΚείμενο που θα περιέχει το επόμενο SMS
SMS +1234567890Στείλε SMS το κείμενο (ΤΧΤ) στον αριθμό +1234567890
SMR +1234567890Στείλε SMS το κείμενο (TXT + REPORT) στον αριθμό +1234567890
TEL +1234567890Κάνε κλήση στον αριθμό +1234567890
VNT XΕνεργοποίησε συμβάν από το port Χ (bnput)
ON XΕνεργοποίησε το port Χ (output)
OFF XΑπενεργοποίησε το port Χ (output)
PLS X DDDΕνεργοποίησε το port X για χρόνο DDD (output)(1 sec = τιμή 10. Μέγιστη τιμή 65535)
ARM GΌπλισε το GROUP Χ
DAR GΑφόπλισε το GROUP Χ
SFL YΚάνε SET το FLAG Υ (Υ = από 1 έως 8)
CFL YΚάνε CLEAR το FLAG Υ (Υ = από 1 έως 8)
JFS Y AAAJUMP εάν το FLAG Y είναι SET στην διεύθυνση ΑΑΑ
JFC Y AAAJUMP εάν το FLAG Y είναι CLEAR στην διεύθυνση ΑΑΑ
CNT Y 9999Βάλε στον COUNTER Y την τιμή 9999 (Υ = 1 ή 2)
DEC Y AAAΜείωσε τον COUNTER Y κατά 1. Έαν ο COUNTER δεν είναι 0 JUMP στην διεύθυνση ΑΑΑ
TIM Y DDDΒάλε στον TbMER Y την τιμή DDD (Υ = 1 ή 2)(1 sec = τιμή 10. Μέγιστη τιμή 65535)
JTM Y AAAJUMP στην διεύθυνση ΑΑΑ εάν η τιμή στον TbMER είναι 0
=AAAΌρισε αυτή την θέση στο πρόγραμμα την ονομασία ΑΑΑ
JMP AAAJump στην δευθύνση ΑΑΑ
CAL AAACALL την ρουτίνα ΑΑΑ
RETRETURN από την ρουτίνα
JSE AAAΣε αποτυχία αποστολής SMS JUMP στην διεύθυνση ΑΑΑ
JCE AAAΣε αποτυχία κλήσης JUMP στην διεύθυνση ΑΑΑ
JNE AAAΣε απώλεια δικτύου JUMP στην διεύθυνση ΑΑΑ
IHI X AAAΕάν η είσοδος στο port X είναι HbGH τότε JUMP στην διεύθυνση ΑΑΑ
ILO X AAAΕάν η είσοδος στο port X είναι LOW τότε JUMP στην διεύθυνση ΑΑΑ
PHI X AAAΕάν το port X είναι HbGH τότε JUMP στην διεύθυνση ΑΑΑ
PLO X AAAΕάν το port X είναι LOW τότε JUMP στην διεύθυνση ΑΑΑ
THI X ΤΤΤΤ AAAΕάν η θερμοκρασία στο port X είναι μεγαλύτερη από την τιμή ΤΤΤΤ τότε JUMP στην διεύθυνση ΑΑΑ
TLO X ΤΤΤΤ AAAΕάν η θερμοκρασία στο port X είναι μικρότερη από την τιμή ΤΤΤΤ τότε JUMP στην διεύθυνση ΑΑΑ
VHI X VVVV AAAΕάν η τάση στο port X είναι μεγαλύτερη από την τιμή VVVV τότε JUMP στην διεύθυνση ΑΑΑ
VLO X VVVV AAAΕάν η τάση στο port X είναι μικρότερη από την τιμή VVVV τότε JUMP στην διεύθυνση ΑΑΑ
DEL DDDDDELAY για χρόνο DDDD (1 sec = τιμή 10)
ENDΤέλος προγράμματος

 

Σύνταξη προγράμματος

Η συσκευή μπορεί να δεχτεί 2 προγράμματα, τα οποία δεν μπορούν να τρέχουν και τα δύο ταυτόχρονα.

Εκτέλεση προγράμματος έχουμε:
  • όταν κάποιο GROUP δώσει συμβάν.
    Για το πρόγραμμα 1 (εντολή 74) τα GROUP ABCD είναι #30*0000 0000# αντίστοιχα.
    Για το πρόγραμμα 2 (εντολή 75) τα GROUP ABCD είναι #30*0000 0000# αντίστοιχα.

  • κατά την εκκίνηση της συσκευής. Εκτελείτε μόνο το πρόγραμμα 1 , η εντολή για αυτήν την λειτουργία είναι
    #30*0001 0001#



Η σύνταξη προγράμματος έχει την παρακάτω μορφή

$

#74* #

...ΚΩΔΙΚΑΣ...

END
<
@

Η παραπάνω τιμή 74 αναφέρεται στο πρόγραμμα 1
Για το πρόγραμμα 2 η σύνταξη είναι #75* #


Το μέγεθος του κάθε προγράμματος είναι έως 1024 bytes ή μόνο το πρόγραμμα 1 έως 2048 bytes.
 

Προγραμματισμός

Για τον προγραμματισμό της συσκευής θα χρησιμοποιήσουμε το πρόγραμμα GMC.exe περισσότερα »
Στην καρτέλα UserCode του GMC.exe θα επιλέξουμε Code1 για να αναπτύξουμε τον κώδικα1 ή Code2 για να αναπτύξουμε τον κώδικα2.
Αφού αναπτύξουμε τον κώδικα θα τον φορτώσουμε στην συσκευή με το πλήκτρο WriteDevice.

Στην καρτέλα Form στην παράμετρο 30 θα επιλέξουμε τον τρόπο που θα εκτελείτε ο κώδικας.
Θα επιλέξουμε Device και κάνουμε αποθήκευση στην συσκευή μα το πλήκτρο Write

 
 

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

Αποστολή SMS

Σε αυτό το παράδειγμα κάθε φορά που θα δίνει συμβάν το GROUP A ή C θα εκτελείτε ο παρακάτω κώδικας.
Αποστολή SMS στο 6944123456 την λέξη ALARM

$

#74* #

TXT ALARM
SMS 6944123456

END
<
@


Καθώς θα πρέπει να φορτώσουμε και αυτήν την εντολή #30*1010 0000#

 

Έλεγχος εισόδου και ειδοποίηση με SMS

Σε αυτό το παράδειγμα ελέγχετε συνέχεια η είσοδος 1 (Port 1). Κάθε φορά που η είσοδος γίνετε 0 θα έχουμε αποστολή SMS στο 6944123456 την λέξη ALARM. Όσο διαρκεί η αποστολή, η έξοδος 1 (Port 7) θα είναι ενεργοποιημένη.

$

#74* #

=001
ILO 1 100
JMP 001

=100
ON  7
TXT ALARM
SMS 6944123456
OFF 7
JMP 001

END
<
@

Καθώς θα πρέπει να φορτώσουμε και αυτήν την εντολή #30*0001 0001# (Ο Κώδικας εκτελείτε κατά την εκκίνηση.)

 

Έλεγχος δικτύου και ενεργοποίηση εξόδου

Σε αυτό το παράδειγμα όσο η συσκευή δεν είναι συνδεμένη στο δίκτυο η έξοδος (port7) είναι ενεργοποιημένη.

$

#74* #

=001
JNE 100
DEL 010
JMP 001

=100
PLS 7 020
JMP 001

END
<
@

Καθώς θα πρέπει να φορτώσουμε και αυτήν την εντολή #30*0001 0001# (Ο Κώδικας εκτελείτε κατά την εκκίνηση.)
Η εντολή JNE υπάρχει στις συσκευές μετά το Version 14.02

 

Ενεργοποίηση εξόδου από είσοδο

Σε αυτό το παράδειγμα κάθε φορά που η είσοδος (port6) γίνεται low η έξοδος (port13) ενεργοποιείται για 60 δευτερόλεπτα.

$

#74* #

=001
PLO 06 100
JMP 001

=100
ON 13
CNT 1 60
=101
DEL 010
DEC 1 101
OFF 13
JMP 001

END
<
@

Το ίδιο αποτέλεσμα με το παραπάνω παράδειγμα, κάθε φορά που η είσοδος (port6) γίνεται low δημιουργείται στην έξοδο (port13) παλμός 60 δευτερόλεπτων.

$

#74* #

=001
PLO 06 100
JMP 001

=100
PLS 13 600
=101
DEL 010
PLO 06 101
JMP 001

END
<
@

Καθώς θα πρέπει να φορτώσουμε και αυτήν την εντολή #30*0001 0001# (Ο Κώδικας1 εκτελείτε κατά την εκκίνηση.)

 

Ενεργοποίηση εξόδου από συμβάν ομάδας

Σε αυτό το παράδειγμα έχουμε παλμό 60 δευτερολέπτων στην έξοδο port13 σε κάθε συμβάν της ομάδας Α.

$

#74* #

PLS 13 600

END
<

#30*1000 0000#

@Χ

Ο Κώδικας1 εκτελείτε σε συμβάν της ομάδας Α και μετά από την πρώτη κλήση ή την πρώτη αποστολή SMS.

 

Δημιουργία συμβάντος από είσοδο μετά από χρονικό διάστημα

Σε αυτό το παράδειγμα ελέγχετε συνέχεια η είσοδος 1 (Port 1). Όταν η είσοδος είναι συνέχεια 0 για χρόνο δέκα λεπτών η συσκευή θα δώσει συμβάν Ομάδας Α. Η παράμετρος της εισόδου είναι #01*00 1 A#

$

#74* #

=001
IHI 1 100
DEL 10
JMP 001

=100
CNT 1 600
=101
ILO 1 001
DEL 10
DEC 1 101

=200
VNT 1
=201
ILO 1 001
DEL 10
JMP 201

END
<
@

Καθώς θα πρέπει να φορτώσουμε και αυτήν την εντολή #30*0001 0001# (Ο Κώδικας εκτελείτε κατά την εκκίνηση.)