ΠΑΡΑΔΟΣΕΙΣ ΜΑΘΗΜΑΤΟΣ «ΔΙΚΤΥΑ ΕΛΕΓΧΟΥ»

Preview:

DESCRIPTION

ΠΑΡΑΔΟΣΕΙΣ ΜΑΘΗΜΑΤΟΣ «ΔΙΚΤΥΑ ΕΛΕΓΧΟΥ». ΟΚΤΩΒΡΙΟΣ 2004. ΤΟ ΕΠΙΠΕΔΟ ΕΦΑΡΜΟΓΗΣ (7ο επίπεδο) & ΤΟ ΕΠΙΠΕΔΟ ΧΡΗΣΤΗ (8ο επίπεδο) ΣΤΟ ΔΙΚΤΥΟ ΠΕΔΙΟΥ LONWORKS. 10o ΜΕΡΟΣ. ΤΟ ‘ΠΕΡΙΟΡΙΣΜΕΝΟ’ OSI MONTΕΛΟ ΑΝΑΦΟΡΑΣ. Το 7o Επίπεδο Εφαρμογής ( Application ) στο Lonworks. - PowerPoint PPT Presentation

Citation preview

ΠΑΡΑΔΟΣΕΙΣ ΠΑΡΑΔΟΣΕΙΣ ΜΑΘΗΜΑΤΟΣΜΑΘΗΜΑΤΟΣ

«ΔΙΚΤΥΑ ΕΛΕΓΧΟΥ»«ΔΙΚΤΥΑ ΕΛΕΓΧΟΥ»

ΟΚΤΩΒΡΙΟΣ 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))

Recommended