Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεAlexandras Polites Τροποποιήθηκε πριν 9 χρόνια
1
ΠΑΡΑΔΟΣΕΙΣ ΜΑΘΗΜΑΤΟΣ «ΔΙΚΤΥΑ ΕΛΕΓΧΟΥ» ΟΚΤΩΒΡΙΟΣ 2004
2
10o ΜΕΡΟΣ ΤΟ ΕΠΙΠΕΔΟ ΕΦΑΡΜΟΓΗΣ (7ο επίπεδο) & ΤΟ ΕΠΙΠΕΔΟ ΧΡΗΣΤΗ (8ο επίπεδο) ΣΤΟ ΔΙΚΤΥΟ ΠΕΔΙΟΥ LONWORKS
3
ΤΟ ‘ΠΕΡΙΟΡΙΣΜΕΝΟ’ OSI MONTΕΛΟ ΑΝΑΦΟΡΑΣ
4
Το 7o Επίπεδο Εφαρμογής (Application) στο Lonworks
5
Γενικά Χαρακτηριστικά της γλώσσας 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/O Objects για το Ι/Ο του Neuron Chip - Διαχείριση των Events (Timer – I/O – Network Event Handling) με την δήλωση when
6
Data - Driven Φιλοσοφία vs. Command - Driven
7
Event - Driven Φιλοσοφία vs. Polled - Scheduling
8
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 (NV, CP, FB, Events, Msgs)
9
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_1 output bit relay1; IO_6 output bit io_nw1_cs = CS_OFF; IO_6 output bit io_nw1_cs = CS_OFF; IO_7 output bit io_nw2_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_0) kbaud(20) io_nw1; IO_8 neurowire master select(IO_7) kbaud(20) io_nw2; IO_8 neurowire master select(IO_7) kbaud(20) io_nw2;
10
I / O O B J E C T S
12
Direct I/O Objects (logic at pins) Timer / Counter I/O Objects I/O Objects
13
Serial I/O Objects (I or O) Serial I/O Objects Parallel I/O Objects
14
Neuron Chip I/O Objects
15
Δυνατότητα ανά I/O
16
E V E N T S “WHEN”
17
Events Συστήματος / Scheduler Πχ. when (timer_expires(timer1) ) {…………} Events από Ι/Ο Πχ. when (io_changes(Switch2) ) {…………} Προκαθορισμένα (Predefined) Events
18
Events από NV Πχ. when (nv_update_occurs(nvi_relay_state) ) { io_out(relay1, nvi_relay_state); io_out(relay1, nvi_relay_state);} Events από Messages Πχ. when (msg_arrives(10) ) {…………} Προκαθορισμένα (Predefined) Events
19
Όλα τα Προκαθορισμένα (Predefined) Events γίνονται αντιληπτά με την Δήλωση «When» (when clause or statement)
20
User - Defined Events Κάθε Neuron C έκφραση η οποία έχει Boolean αποτέλεσμα Δηλαδή 1 ή 0 (True or False) Πχ. when ((timer_expires(timer1) ) && (flag == TRUE)) // Task to execute {…………}
21
NETWORKVARIABLES(NV’s) nvo (output NV) nvi (input NV)
22
Η Φιλοσοφία της Σύνδεσης Εισόδων με Εξόδους μέσω των Μεταβλητών Δικτύου Νοητό Καλώδιο Δημιουργείται και μορφοποιείται από ένα Network Tool Αλλάζει χωρίς επαναπρογραμματισμό της συσκευής Είναι ευκολόχρηστο
23
Node1 Node2 nvo… nvi3…. Node1 Node2 Node3 Node3 nvo… nvi1…. nvi2… nvi2…
24
NV Declaration Modifier (sync, polled …) Class (const, eeprom …) Conn (ackd, unackd …) Type (SNVT…) Παραδείγματα Απλή δήλωση Με Priority Χωρίς ACK
25
NV Events (When) Παραδείγματα
27
Γενικός Κατάλογος (Master List) SNVT
33
Δομές - SNVT Structures
40
Enumeration Lists
43
CONFIGURATIONPARAMETER TYPES TYPES(SCPT’s)
54
FUNCTIONAL BLOCKS
57
Παράδειγμα Functional Blocks σε ένα Σύστημα Έξυπνου Φωτισμού
63
ΣΥΝΑΡΤΗΣΕΙΣ ΤΗΣ NEURON C (Functions)
64
Execution Control
65
Network Configuration
66
Integer Mathematics Κλπ ………………..
67
Floating point Mathematics Κλπ ………………..
68
Strings
69
Utilities
70
I / O
71
Preprocessor / Compiler Directives
72
Directives (Preprocessor, Compiler) Πχ. #ifndef smart_io #………………… #………………… #……………….. #……………….. #endif #endif Πχ. #pragma enable_io_pullups (Επιτρέπει στον Compiler να ενεργοποιεί εσωτερικές pull-up αντιστάσεις κάτι το οποίο δεν μπορεί να γίνει με την γλώσσα προγραμματισμού και δεν χρειάζεται να γίνει εξωτερικά με H/W)
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.