720 likes | 825 Views
ΠΑΡΑΔΟΣΕΙΣ ΜΑΘΗΜΑΤΟΣ «ΔΙΚΤΥΑ ΕΛΕΓΧΟΥ». ΟΚΤΩΒΡΙΟΣ 2004. ΤΟ ΕΠΙΠΕΔΟ ΕΦΑΡΜΟΓΗΣ (7ο επίπεδο) & ΤΟ ΕΠΙΠΕΔΟ ΧΡΗΣΤΗ (8ο επίπεδο) ΣΤΟ ΔΙΚΤΥΟ ΠΕΔΙΟΥ LONWORKS. 10o ΜΕΡΟΣ. ΤΟ ‘ΠΕΡΙΟΡΙΣΜΕΝΟ’ OSI MONTΕΛΟ ΑΝΑΦΟΡΑΣ. Το 7o Επίπεδο Εφαρμογής ( Application ) στο Lonworks.
E N D
ΠΑΡΑΔΟΣΕΙΣ ΜΑΘΗΜΑΤΟΣ «ΔΙΚΤΥΑ ΕΛΕΓΧΟΥ» ΟΚΤΩΒΡΙΟΣ 2004
ΤΟ ΕΠΙΠΕΔΟ ΕΦΑΡΜΟΓΗΣ (7ο επίπεδο) & ΤΟ ΕΠΙΠΕΔΟ ΧΡΗΣΤΗ (8ο επίπεδο) ΣΤΟ ΔΙΚΤΥΟ ΠΕΔΙΟΥ LONWORKS 10o ΜΕΡΟΣ
ΤΟ ‘ΠΕΡΙΟΡΙΣΜΕΝΟ’ OSI MONTΕΛΟ ΑΝΑΦΟΡΑΣ
Το 7o Επίπεδο Εφαρμογής (Application) στο Lonworks
Γενικά Χαρακτηριστικά της γλώσσας Neuron C • Προγραμματιστική γλώσσα βασισμένη στην ANSI C • Σχεδιάστηκε ειδικά για το Neuron Chip • Εμπεριέχει επεκτάσεις (extensions) - Network Communication Model (FB’s & NV’s) για την απλοποιημένη επικοινωνία απομακρυσμένων συσκευών - Network Configuration Model (FB’s & Conf. Properties) για την εύκολη μορφοποίηση του δικτύου - Type Model (standard & user resource files) για την ολοκλήρωση καιδιαλειτουργικότητα ετερογενών συσκευών - Ένα σύνολο από I/OObjectsγια το Ι/Ο του Neuron Chip - Διαχείριση των Events (Timer – I/O – Network Event Handling) με την δήλωση when
Neuron C (NV, CP, FB, Events, Msgs) • Network Variables (Δήλωση στη Neuron C και Firmware) Δημιουργεί το ένα μέρος του Lonworks Device Interface. Standard Network Variable Types = SNVT’s Πχ. network output SNVT_lev_disc nvo_switch; • Configuration Properties (Device Behavior Customization) Δημιουργεί το άλλο μέρος του Lonworks Device Interface. Standard Configuration Property Types = SCPT’s Μορφοποιούνται από κάποιο Network Tool (πχ. LonMaker) • Functional Blocks(Network Variables + Configuration Properties) defined by Functional Profiles • Event driven scheduling system Πχ. // Event driven Task when (io_changes(Switch2) ) { nvo_switch_state = input_value; } • Lower level messaging service Πχ. // Message Task when (msg_arrives(10) ) { ………… }
Neuron C (Timer, I/O Object) • Timer (Δηλώνονται στη Neuron C σαν μεταβλητές και ελέγχονται από το Firmware) Πχ. stimer timer1 = 5; // start timer1 with value 5 seconds when (timer_expires(timer1) ) { ………… } • I/O Objects (Δήλωση στη Neuron C και Firmware) Είναι standardized I/O Device Drivers για το Neuron chip. Πχ. IO_4 input bit Switch1; IO_1 output bit relay1; IO_6 output bit io_nw1_cs = CS_OFF; IO_7 output bit io_nw2_cs = CS_OFF; IO_8 neurowire master select(IO_0) kbaud(20) io_nw1; IO_8 neurowire master select(IO_7) kbaud(20) io_nw2;
I / O O B J E C T S
Direct I/O Objects (logic at pins) Timer / Counter I/O Objects
Serial I/O Objects (I or O) Serial I/O Objects Parallel I/O Objects
Neuron Chip I/O Objects
Δυνατότητα ανά I/O
E V E N T S “WHEN”
Προκαθορισμένα (Predefined) Events Events Συστήματος / Scheduler Πχ. when (timer_expires(timer1) ) { ………… } Events από Ι/Ο Πχ. when (io_changes(Switch2) ) { ………… }
Προκαθορισμένα (Predefined) Events Events από NV Πχ. when (nv_update_occurs(nvi_relay_state) ) { io_out(relay1, nvi_relay_state); } Events από Messages Πχ. when (msg_arrives(10) ) { ………… }
Όλα τα Προκαθορισμένα (Predefined) Events γίνονται αντιληπτά με την Δήλωση «When» (when clause or statement)
User - Defined Events Κάθε Neuron C έκφραση η οποία έχει Boolean αποτέλεσμα Δηλαδή 1 ή 0 (True or False) Πχ. when ((timer_expires(timer1) ) && (flag == TRUE)) // Task to execute { ………… }
NETWORK VARIABLES (NV’s) nvo (output NV) nvi (input NV)
Η Φιλοσοφία της Σύνδεσης Εισόδων με Εξόδους μέσω των Μεταβλητών Δικτύου • Νοητό Καλώδιο • Δημιουργείται και μορφοποιείται από ένα Network Tool • Αλλάζει χωρίς επαναπρογραμματισμό της συσκευής • Είναι ευκολόχρηστο
Node1 Node2 nvo… nvi3…. Node1 Node2 Node3 nvo… nvi1…. nvi2…
NV Declaration Modifier (sync, polled …) Class (const, eeprom …) Conn (ackd, unackd …) Type (SNVT…) Παραδείγματα Απλή δήλωση Με Priority Χωρίς ACK
NV Events (When) Παραδείγματα
CONFIGURATION PARAMETER TYPES (SCPT’s)