ΠΑΡΑΔΟΣΕΙΣ ΜΑΘΗΜΑΤΟΣ «ΔΙΚΤΥΑ ΕΛΕΓΧΟΥ»
-
Upload
elaine-blair -
Category
Documents
-
view
33 -
download
0
description
Transcript of ΠΑΡΑΔΟΣΕΙΣ ΜΑΘΗΜΑΤΟΣ «ΔΙΚΤΥΑ ΕΛΕΓΧΟΥ»
ΠΑΡΑΔΟΣΕΙΣ ΠΑΡΑΔΟΣΕΙΣ ΜΑΘΗΜΑΤΟΣΜΑΘΗΜΑΤΟΣ
«ΔΙΚΤΥΑ ΕΛΕΓΧΟΥ»«ΔΙΚΤΥΑ ΕΛΕΓΧΟΥ»
ΟΚΤΩΒΡΙΟΣ 2004ΟΚΤΩΒΡΙΟΣ 2004
10o 10o ΜΕΡΟΣ ΜΕΡΟΣ
ΤΟ ΕΠΙΠΕΔΟ ΕΦΑΡΜΟΓΗΣ (7ο επίπεδο)ΤΟ ΕΠΙΠΕΔΟ ΕΦΑΡΜΟΓΗΣ (7ο επίπεδο)
& &
ΤΟ ΕΠΙΠΕΔΟ ΧΡΗΣΤΗ (8ο επίπεδο)ΤΟ ΕΠΙΠΕΔΟ ΧΡΗΣΤΗ (8ο επίπεδο)
ΣΤΟ ΣΤΟ
ΔΙΚΤΥΟ ΠΕΔΙΟΥ ΔΙΚΤΥΟ ΠΕΔΙΟΥ LONWORKSLONWORKS
Δια
χείρ
ιση
Δικ
τύο
υ
Φυσικό
Χρήστη
Εφαρμογής
Σύνδεσης Δεδ.
ΤΕΛΙΚΟΣΧΡΗΣΤΗΣ
Σύνδεσης Δεδ.
ΤΕΛΙΚΟΣΧΡΗΣΤΗΣ
Φυσικό
Χρήστη
Εφαρμογής
Επικοινωνιακό Κανάλι
Βιομηχανικές ΕπικοινωνιακέςΕφαρμογές
επικοινωνίαμεταξύ
ομότιμωνεπιπέδων
2
3
4
5
6
1
8
7
Δια
χείρ
ιση
Δικ
τύο
υ
ΤΟ ‘ΠΕΡΙΟΡΙΣΜΕΝΟ’ OSI MONTΕΛΟ ΑΝΑΦΟΡΑΣΤΟ ‘ΠΕΡΙΟΡΙΣΜΕΝΟ’ OSI MONTΕΛΟ ΑΝΑΦΟΡΑΣ
7654321
Το Το 7o 7o Επίπεδο Εφαρμογής (Επίπεδο Εφαρμογής (ApplicationApplication) στο ) στο LonworksLonworks
Γενικά Χαρακτηριστικά της γλώσσας Γενικά Χαρακτηριστικά της γλώσσας Neuron C Neuron C
Προγραμματιστική γλώσσα βασισμένη στην Προγραμματιστική γλώσσα βασισμένη στην ANSI CANSI C
Σχεδιάστηκε ειδικά για το Σχεδιάστηκε ειδικά για το Neuron ChipNeuron Chip
Εμπεριέχει επεκτάσεις (Εμπεριέχει επεκτάσεις (extensions)extensions)
- - Network Communication Model (Network Communication Model (FB’s & NV’sFB’s & NV’s) ) για την απλοποιημένη για την απλοποιημένη επικοινωνία απομακρυσμένων συσκευώνεπικοινωνία απομακρυσμένων συσκευών
- - Network Configuration Model (Network Configuration Model (FB’s & Conf. PropertiesFB’s & Conf. Properties) ) για την για την εύκολη μορφοποίηση του δικτύουεύκολη μορφοποίηση του δικτύου
- - Type Model (Type Model (standard & user resource filesstandard & user resource files) ) για την για την ολοκλήρωση καιολοκλήρωση και διαλειτουργικότητα ετερογενών συσκευώνδιαλειτουργικότητα ετερογενών συσκευών
- - Ένα σύνολο από Ένα σύνολο από I/OI/O ObjectsObjects για το Ι/Ο του για το Ι/Ο του Neuron ChipNeuron Chip
- - Διαχείριση των Διαχείριση των Events Events ((Timer – I/O – Network Event HandlingTimer – I/O – Network Event Handling) με την ) με την
δήλωση δήλωση whenwhen
Data - Driven Data - Driven Φιλοσοφία Φιλοσοφία vs. Command - Driven vs. Command - Driven
Event - Driven Event - Driven Φιλοσοφία Φιλοσοφία vs. Polled - Scheduling vs. Polled - Scheduling
Network VariablesNetwork Variables ( (Δήλωση στη Δήλωση στη Neuron C Neuron C και και Firmware) Firmware) Δημιουργεί το ένα Δημιουργεί το ένα μέρος του μέρος του Lonworks Device Interface. Lonworks Device Interface. Standard Network Variable Types = SNVT’sStandard Network Variable Types = SNVT’s
Πχ. Πχ. network output SNVT_lev_disc nvo_switch;network output SNVT_lev_disc nvo_switch;
Configuration PropertiesConfiguration Properties (Device Behavior Customization) (Device Behavior Customization) Δημιουργεί το άλλο Δημιουργεί το άλλο μέρος του μέρος του Lonworks Device Interface. Lonworks Device Interface. Standard Configuration Property Types = Standard Configuration Property Types = SCPT’sSCPT’s
Μορφοποιούνται από κάποιο Μορφοποιούνται από κάποιο Network Tool (Network Tool (πχ. πχ. LonMaker)LonMaker)
Functional BlocksFunctional Blocks ((Network Variables + Configuration Properties) defined by Network Variables + Configuration Properties) defined by Functional ProfilesFunctional Profiles
Event driven scheduling systemEvent driven scheduling system
Πχ. Πχ. // Event driven Task// Event driven Task
when (io_changes(Switch2) ) { nvo_switch_state = input_value; }when (io_changes(Switch2) ) { nvo_switch_state = input_value; }
Lower level messaging serviceLower level messaging service
Πχ. Πχ. // Message Task// Message Task
when (msg_arrives(10) ) { ………… }when (msg_arrives(10) ) { ………… }
Neuron C (NV, CP, FB, Events, Msgs)Neuron C (NV, CP, FB, Events, Msgs)
Neuron C (Timer, I/O Object)Neuron C (Timer, I/O Object)
Timer Timer ( (Δηλώνονται στη Δηλώνονται στη Neuron C Neuron C σαν μεταβλητές και ελέγχονται από το σαν μεταβλητές και ελέγχονται από το Firmware) Firmware)
Πχ.Πχ. stimer timer1 = 5 stimer timer1 = 5; // start timer1 with value 5 seconds; // start timer1 with value 5 seconds
when (timer_expires(timer1) ) { ………… }when (timer_expires(timer1) ) { ………… }
I/O ObjectsI/O Objects ( (Δήλωση στη Δήλωση στη Neuron C Neuron C και και Firmware) Firmware) Είναι Είναι standardized I/O Device standardized I/O Device Drivers Drivers για το για το Neuron chip.Neuron chip.
Πχ. Πχ. IO_4 input bit Switch1;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;
I / OI / O
O B J E C T SO B J E C T S
Direct I/O ObjectsDirect I/O Objects
(logic at pins)(logic at pins)
Timer / CounterTimer / Counter
I/O ObjectsI/O Objects
Serial I/O Serial I/O ObjectsObjects
(I or O)(I or O)
Serial I/O ObjectsSerial I/O Objects
Parallel I/O ObjectsParallel I/O Objects
Neuron ChipNeuron Chip
I/O ObjectsI/O Objects
Δυνατότητα Δυνατότητα
ανά ανά I/OI/O
E V E N T SE V E N T S
““WHEN”WHEN”
Events Events Συστήματος / Συστήματος / SchedulerScheduler
Πχ. Πχ. when (timer_expires(timer1) ) when (timer_expires(timer1) )
{ {
………… …………
}}
Events Events από Ι/Οαπό Ι/Ο
Πχ. Πχ. when (io_changes(Switch2) ) when (io_changes(Switch2) ) {{……………………}}
Προκαθορισμένα (Προκαθορισμένα (Predefined) EventsPredefined) Events
Events Events από από NVNV
Πχ. Πχ. when when (nv_update_occurs(nvi_relay_state) )(nv_update_occurs(nvi_relay_state) )
{{
io_out(relay1, nvi_relay_state);io_out(relay1, nvi_relay_state);
}}
Events Events από από MessagesMessages
Πχ. Πχ. when (msg_arrives(10) ) when (msg_arrives(10) )
{ {
………… …………
}}
Προκαθορισμένα (Προκαθορισμένα (Predefined) EventsPredefined) Events
Όλα τα Όλα τα Προκαθορισμένα Προκαθορισμένα ((Predefined) Predefined) EventsEvents
γίνονται γίνονται αντιληπτά με την αντιληπτά με την Δήλωση «Δήλωση «WhenWhen»»
((when clause or when clause or statement)statement)
User - Defined EventsUser - Defined Events
Κάθε Κάθε Neuron C Neuron C έκφραση η οποία έχει έκφραση η οποία έχει BooleanBoolean αποτέλεσμα αποτέλεσμα
Δηλαδή Δηλαδή 1 ή 01 ή 0 (True or False) (True or False)
Πχ. Πχ. when ((timer_expires(timer1) ) when ((timer_expires(timer1) ) && (&& (flag == flag == TRUE))TRUE))
// Task to execute// Task to execute
{ {
………… …………
}}
NETWORKNETWORK
VARIABLES VARIABLES
(NV’s)(NV’s)
nvo (output NV)nvo (output NV)
nvi (input NV)nvi (input NV)
Η Φιλοσοφία της Σύνδεσης Εισόδων με Εξόδους Η Φιλοσοφία της Σύνδεσης Εισόδων με Εξόδους
μέσω των Μεταβλητών Δικτύουμέσω των Μεταβλητών Δικτύου
Νοητό ΚαλώδιοΝοητό Καλώδιο
Δημιουργείται και Δημιουργείται και μορφοποιείται από ένα μορφοποιείται από ένα Network ToolNetwork Tool
Αλλάζει χωρίς Αλλάζει χωρίς επαναπρογραμματισμό της επαναπρογραμματισμό της συσκευήςσυσκευής
Είναι ευκολόχρηστοΕίναι ευκολόχρηστο
Node1 Node1 Node2 Node2
nvo… nvo… nvi3…. nvi3….
Node1 Node1 Node2 Node2
Node3Node3
nvo… nvo… nvi1…. nvi1….
nvi2…nvi2…
nvo_switch_state nvi_lamp_state
nvo_switch_state
nvi_lamp_state
nvi_lamp_state
NV DeclarationNV DeclarationModifier (sync, polled …)Modifier (sync, polled …)
Class (const, eeprom …)Class (const, eeprom …)
Conn (ackd, unackd …)Conn (ackd, unackd …)
Type (SNVT…)Type (SNVT…)
ΠαραδείγματαΠαραδείγματα
Απλή δήλωσηΑπλή δήλωση
Με Με PriorityPriority
Χωρίς Χωρίς ACKACK
NV EventsNV Events
(When)(When)
ΠαραδείγματαΠαραδείγματα
Γενικός Κατάλογος (Γενικός Κατάλογος (Master List) SNVTMaster List) SNVT
Δομές - Δομές - SNVT SNVT StructuresStructures
Enumeration ListsEnumeration Lists
CONFIGURATIONCONFIGURATION
PARAMETERPARAMETER
TYPES TYPES
(SCPT’s)(SCPT’s)
FUNCTIONALFUNCTIONAL
BLOCKSBLOCKS
Παράδειγμα Παράδειγμα Functional Blocks Functional Blocks
σε ένα Σύστημα σε ένα Σύστημα
Έξυπνου ΦωτισμούΈξυπνου Φωτισμού
ΣΥΝΑΡΤΗΣΕΙΣ ΤΗΣ ΣΥΝΑΡΤΗΣΕΙΣ ΤΗΣ NEURON C NEURON C (Functions)(Functions)
Execution ControlExecution Control
Network ConfigurationNetwork Configuration
Integer MathematicsInteger Mathematics
Κλπ Κλπ ………………..………………..
Floating point MathematicsFloating point Mathematics
Κλπ Κλπ ………………..………………..
StringsStrings
UtilitiesUtilities
I / OI / O
PreprocessorPreprocessor / / CompilerCompiler
Directives Directives
Directives (Preprocessor, Compiler)Directives (Preprocessor, Compiler)
Πχ.Πχ. #ifndef smart_io #ifndef smart_io
##……………………………………
##………………..………………..
#endif#endif
Πχ.Πχ. # #pragma enable_io_pullupspragma enable_io_pullups(Επιτρέπει στον (Επιτρέπει στον CompilerCompiler να να ενεργοποιεί εσωτερικές ενεργοποιεί εσωτερικές pull-up pull-up αντιστάσεις κάτι το οποίο δεν αντιστάσεις κάτι το οποίο δεν μπορεί να γίνει με την γλώσσα μπορεί να γίνει με την γλώσσα προγραμματισμού και δεν προγραμματισμού και δεν χρειάζεται να γίνει εξωτερικά με χρειάζεται να γίνει εξωτερικά με H/WH/W))