עהאָוסע 1 – היים אַוטאָמאַטיאָן – קאָנטראָללער שטאַטן אין ביינערי פאָרעם

עהאָוסע היים אַוטאָמאַטיאָן , בנין פאַרוואַלטונג ווערסיע 1 – ראַם פון סיסטעם קאָנטראָללער סטאַטוס היים אַוטאָמאַטיאָן .
צו שאַפֿן אַ גאָר פאַנגקשאַנאַל , עפעקטיוו אייגן ווייכווארג פֿאַר קאָנטראָל פּאַנאַלז וואָס דאַרפן וויזשוואַלאַזיישאַן דאַרפֿן צו מאַכשער דירעקט דיקאָודינג עהאָוסע 1 שאָפער סטאַטוס אין ביינערי פאָרעם . דיפּענדינג אויף די ברירה פון דער נאָרמאַל אַפּערייטינג מאָדע אָדער עקסטענדעד אַדרעס (עקסטענדעד_אַדדרעסס) , ראַם צו שיקן די סטאַטוס פון דעם שאָפער איז ווי גייט (אין בראַקאַץ אנגעצייכנט חילוק אין עקסטענדעד מאָדע אַדרעס) .
דעם מאָדע איז פארלאנגט צו אַרבעט אונטער די השגחה פון קאָמממאַנאַגער שאָפער און סענדז דער אָנזאָג דעסטיניישאַן אַדרעס אַרויס געשעענישן , אייגן אַדרעס צו די דעסטיניישאַן מיטל קענען דערציילן די סענדער צו באַקומען געשעענישן (האַנט – טרייסלען) .
אויב די צובינד רס – 485 באשטימט נישט רעקאָמענדירן דירעקט פרווון צו פאַרבינדן צו די שאָפער , ווי שיקן עטלעכע קאַמאַנדז קען פאַרשאַפן אַזאַ רייניקונג פּראָגראַם זכּרון (פירמוואַרע) קאַנטראָולערז וואָס קען סוף זייער לעבן .
אנדערע קאַמאַנדז אָדער טראַפ סיגנאַלז אין רס – 485 מייַ אַנדערמיין די פעסטקייַט פון די סיסטעם אָדער באשטימט פּאַמעלעך אַראָפּ זיינע ווערק .
געבוירן עהאָוסע אַוטאָמאַטיאָן קאָנטראָללערס זאָל אַרבעט אונטער די השגחה פון פּראָדוצירער אַפּלאַקיישאַן ” עהאָוסע . עקסע ” .
פֿאַר זיכערהייַט , איר קענען לייענען די סטאַטוס פון דריווערס אָן קאַנעקטינג צו זיי דורך די אַפּלאַקיישאַן עהאָוסע . עקסע (ודפּ פּראָטאָקאָל און לאַן) .
דאס איז ניט – ינווייסיוו לייענען , ניט לאָודינג ניט ווייכווארג אדער קאַנטראָולערז , און וואָס איז מער , ניט ינטרוסיוו אין קיין וועג אַריבערפירן פּראָטאָקאָל דורך רס – 485 .
די סיטואַציע איז אַנדערש ווען עהאָוסע_1 קאַנטראָולערז אַרבעט אונטער די השגחה פון קאָמממאַנאַגער .
קאָמממאַנאַגער קאָנטראָללער קענען שיקן סטאַטוס (עהאָוסע 1 און קאָמממאַנאַגער אין אַ ינאַגרייטיד פּעקל) , די ודפּ לאַן און צוטריט צו דעם דאַטן איז קאָננעקטיאָנלעסס און ניט – ינווייסיוו ווי געזונט ווי גלייַך פון קאָמממאַנאַגער אָדער אנדערע עטהערנעט עהאָוסע קאַנטראָולערז .
באקומען דאַטן איבער ודפּ סטאַטוס מיר קענען ניט שאַטן דריווערס , און אַ מאַקסימום פון ינקאַמינג דאַטן מיסינטערפּראַט .
עהאָוסע סיסטעם ניט צו שיקן עפּעס צו די ודפּ שאָפער זיכערקייַט , אַ שאָפער טוט נישט ענין צי דער קליענט נעמט די דאַטן געשיקט איבער ודפּ אָדער נישט , אָדער צי די ציילן פון קאַסטאַמערז איז 0 אָדער 250 .
באקומען דאַטן פון עהאָוסע היים אָטאַמיישאַן סיסטעם , די ודפּ איז זיכער און טוט נישט מאַסע אין קיין וועג קאַנטראָולערז אָדער עהאָוסע ווייכווארג , שיקט בראָדקאַסץ (ודפּ_בראָאַדקאַסט) צו דעם לאַן .
סטאַטוס קעסטל האט די פאלגענדע פֿאָרמאַט:
< ; ; דאַטאַ_סיזע> ; ; (< ; ; טהע_דעסטינאַטיאָנ_אַדדרעסס_ה> ; ; < ; ; טהע_דעסטינאַטיאָנ_אַדדרעסס_ל> ; ; ) < ; ; לאָקאַל_אַדדרעס_ה> ; ; < ; ; לאָקאַל_אַדדרעסס_ל> ; ; < ; ; באַפֿעל> ; ; < ; ; דאַטאַ_1> ; ; . . . . . < ; ; דאַטאַ> ; ; < ; ; דאַטאַ_ן> ; ; < ; ; דאַטאַ_סיזע> ; ; (< ; ; טהע_דעסטינאַטיאָנ_אַדדרעסס_ה> ; ; < ; ; טהע_דעסטינאַטיאָנ_אַדדרעסס_ל> ; ; ) < ; ; לאָקאַל_אַדדרעסס_ה> ; ; < ; ; לאָקאַל_אַדדרעסס_ל> ; ; < ; ; באַפֿעל> ; ; < ; ; דאַטאַ_1> ; ; . . . . . < ; ; דאַטאַ> ; ; < ; ; דאַטאַ_ן> ; ; < ; ; 0> ; ;
נאָרמאַל מאָדע / ווס . (עקסטענדעד אַדרעס)
1 . גרייס פון די דאַטן (גרייס פון די דאַטן)
2 . אַדדרעסס_ה_טאַרגעט (אַדדרעסס_ה_טאַרגעט)
3 . אַדדרעסס_ל_טאַרגעט (אַדדרעסס_ל_טאַרגעט)
4 . קאָנטראָל_קאָממאַנד (אַדדרעסס_ה_אָפ_לאָקאַל_קאָנטראָללער_רעטורנ_פּאַטה)
5 . דאַטאַ_1_ביטע (אַדדרעסס_ל_אָפ_לאָקאַל_קאָנטראָללער_רעטורנ_פּאַטה)
6 . דאַטאַ_2_ביטע (קאָנטראָל_קאָממאַנד)
7 דאַטאַ_3_ביטע (דאַטאַ_1_ביטע)
8 . . די מנוחה פון די דאַטן פֿאַר אַ געגעבן באַפֿעלן .
אויב איר שיקן די סטאַטוס פון דעם שאָפער ' ; ס קאָנטראָל באַפֿעל ‘ s ‘ .
פאָרזעצן צו נאָכפאָלגן די דאַטן אין ביינערי פאָרעם צו מינאַמייז די אַריבערפירן פון אינפֿאָרמאַציע דורך אַ סיריאַל רס – 485 .
פֿאַר זיכערקייַט , צו די דאַטן איז אַטאַטשט טשעק – סאַכאַקל צו עלימינירן פאַלש בראָדקאַסץ דורכפירן .
שיקן באַפֿעל סטאַטוס איז ‘ s ‘ ,
ראַם סטאַטוס פון דריווערס היים אַוטאָמאַטיאָן עהאָוסע 1 און אַ באַשרייַבונג פון דער ביטע נומער (אינדעקס יבעררוק דיפּענדינג אויף די אַפּערייטינג מאָדע (נאָרמאַל אָדער עקסטענדעד_אַדדרעסס) .
דאס קעסיידערדיק שיפטינג געהייסן ווייטער טקפּ_ינדעקס_ינק . דיפּענדינג אויף די מאָדע , עס קען אַדאַפּט אַ ווערט פון 3 פֿאַר דער עקסטענדעד אַדרעס אָדער 0 פֿאַר נאָרמאַל טראַנסמיסיע . ווען שרייבן ווייכווארג , איר זאל באַטראַכטן דעם פּאַראַמעטער ווי אַ בייַטעוודיק , ווייַל עס אַלאַוז אונדז צו לייכט מאַניפּולירן די דאַטן אין שפּעטער ווערסיעס אויב די ראַם איז שיפטיד אין איין וועג אָדער אנדערן .
ינדעקסיז יעדער ביטע ראַם סטאַטוס פון די דריווערס עהאָוסע 1 (דער אָנהייב פון ראַם):
סטאַטוס_אַדק = 1 2 + טקפּ_ינדעקס_ינק ; / / די ווערט פון אַ/ד_קאָנווערטערס_2_ביטעס_1ב = מסב , 2 ב = לסב!! .
סטאַטוס_אָוט = 17 2 + טקפּ_ינדעקס_ינק ; / / דיגיטאַל רעזולטאַט שטאַטן ערשטער אינדעקס

/ / יעדער רעזולטאַט 1 ביסל לסב קלענסטער נומער , מסב גרעסטער
סטאַטוס_ין = 20 2 + טקפּ_ינדעקס_ינק ; / / דיגיטאַל אַרייַנשרייַב שטאַטן לסב קלענסטער נומער , מסב גרעסטער
סטאַטוס_ינט = 21 2 + טקפּ_ינדעקס_ינק ; / / שטאַטן פון דיגיטאַל ינפּוץ (יבעררייַסן) לסב קלענסטער נומער , מסב גרעסטער
סטאַטוס_אָוט25 = 22 2 + טקפּ_ינדעקס_ינק ; / / אָוטפּוץ שטאַטן פון 25 . . 32 די זעלבע וועג ווי די רעזולטאַט
סטאַטוס_ליגהט = 23 2 + טקפּ_ינדעקס_ינק ; / / סטאַטוס פון איין דיממער דיממער 1ב
סטאַטוס_זאָנע_פּגם = 26 2 + טקפּ_ינדעקס_ינק ; / / ניין קראַנט זאָנע פֿאַר עם
סטאַטוס_פּראָגראַם = 27 2 + טקפּ_ינדעקס_ינק ; / / ניין קראַנט פּראָגראַם
סטאַטוס_ינפּוטעקסט_אַ_אַקטיווע = 28 2 + טקפּ_ינדעקס_ינק ; / / ינפּוט ינפּוטעקסטענדער א אין די אַקטיוו שטאַט
סטאַטוס_ינפּוטעקסט_ב_אַקטיווע = 32 2 + טקפּ_ינדעקס_ינק ; / / ינפּוט ינפּוטעקסטענדער בייטן אין דער אַקטיוו שטאַט
סטאַטוס_ינפּוטעקסט_ק_אַקטיווע = 36 2 + טקפּ_ינדעקס_ינק ; / / ינפּוט ינפּוטעקסטענדער C אין די אַקטיוו שטאַט
סטאַטוס_ינפּוטעקסט_אַ = 40 2 + טקפּ_ינדעקס_ינק ; / / ינפּוט ינפּוטעקסטענדער א אַלאַרמס און ווארענונג
סטאַטוס_ינפּוטעקסט_ב = 50 2 + טקפּ_ינדעקס_ינק ; / / ינפּוט ינפּוטעקסטענדער ב אַלאַרמס און ווארענונג
סטאַטוס_ינפּוטעקסט_ק = 60 2 + טקפּ_ינדעקס_ינק ; / / ינפּוט ינפּוטעקסטענדער C אַלאַרמס און ווארענונג
/ / סטאַטוס העאַטמאַנאַגער
סטאַטוס_אַדק_העאַרט = 1 2 + טקפּ_ינדעקס_ינק ; / / טעמפּעראַטורע מעזשערמאַנץ פון 16 סענסאָרס די זעלבע וועג ווי פֿאַר די רם
סטאַטוס_אָוט_העאַרט = 33 2 + טקפּ_ינדעקס_ינק ; / / דיגיטאַל רעזולטאַט שטאַטן סימילאַרלי צו רם
ווענט_מאָדע = 51 + טקפּ_ינדעקס_ינק ;
רעקו_מאָדע: = 50 + טקפּ_ינדעקס_ינק ;
קוררענט_פּגם: = 38 + טקפּ_ינדעקס_ינק ;
/ / סטאַטוס קאָמממאַנאַגער – ינאַגרייטיד מיט די סטאַטוס פון דריווערס עהאָוסע 1 (היבריד סיסטעם) עהאָוסע 1 אונטער די השגחה פון קאָמממאַנאַגער
סטאַטוס_עהאָוסע1_דעווס = 0 ; / / אָרט דעם סטאַטוס פון דעוויסעס פארבונדן צו די רס485 (עהאָוסע_1) אויבן 71 ביטעס
סטאַטוס_אַדק_עטה = 72 ; / / אַדק_מעאַסורעמענצ_16_ינפּוץ * 2 ב א / ד_נאָטאַטיאָנ_אַס_פאָר_רמ_ווקק = 3וו3
סטאַטוס_אַדק_עטה_ענד = סטאַטוס_אַדק_עטה 32 ; / / סוף פון די א / די מעאַסורעמענט
סטאַטוס_אָוט_י2ק = סטאַטוס_אַדק_עטה_ענד ; / / 2 מאל י2ק 10 * 8 / / מאַקס = 160 מאָדולע אַוטפּוץ אויף געשפּרייט מאָדולע
סטאַטוס_ינפּוצ_י2ק = סטאַטוס_אָוט_י2ק 20 ; / / 2 מאל י2ק 6 * 8 / / מאַקס 96 ינפּוץ אויף געשפּרייט מאָדולע
סטאַטוס_אַלאַרמ_י2ק = סטאַטוס_ינפּוצ_י2ק 12 ; / / ינפּוט_ין דער שרעק שטאַט (מיט רעספּעקט צו די מאַסקע פֿאַר די קראַנט זיכערהייַט זאָנע)
סטאַטוס_וואַרנינג_י2ק = סטאַטוס_אַלאַרמ_י2ק 12 ; / / ינפּוט_וואַרנינג שטאַט (מיט רעספּעקט צו די מאַסקע פֿאַר די קראַנט זיכערהייַט זאָנע)
סטאַטוס_מאָניטאָרינג_י2ק = סטאַטוס_וואַרנינג_י2ק 12 ; / / ינפּוט_קאָנדיטיאָן מאָניטאָרינג (מיט רעספּעקט צו די מאַסקע פֿאַר די קראַנט זיכערהייַט זאָנע)
סטאַטוס_פּראָגראַמ_נר = סטאַטוס_מאָניטאָרינג_י2ק 12 ; / / פּראָגראַמ_נומבער_קאָמממאַנאַגער
סטאַטוס_זאָנע_נר = סטאַטוס_פּראָגראַמ_נר +1 ; / / נומבער_קאָמממאַנאַגער_זאָנע
סטאַטוס_אַדק_פּראָגראַם = סטאַטוס_זאָנע_נר +1 ; / / אַדק_פּראָגראַמ_נומבער
סטאַטוס_אַדק_פּראָגראַם סטאַטוס_ליגהט_לעוועל = 2 ; / / סטאַטוס 3 דימערז / / דיממער 3 * 2 ב
בייַשפּיל כעזשבן פון די טעמפּעראַטור אויף די סטאַטוס פון הם
איך = אינדעקס אַנאַלאָג אַרייַנשרייַב 0 . . 15 פֿאַר הם געטטעמפּלם פונקציאָנירן (מסב , לסב) ;
טעמפם [איך]: = געטטעמפּלם (Str [סטאַטוס_אַדק_העאַרט + איך * 2 + טקפּ_ינדעקס_ינק] , Str [סטאַטוס_אַדק_העאַרט + איך * 2 1 + טקפּ_ינדעקס_ינק]) עהאָוסע_האָמע_אַוטאָמאַטיאָנ_אָפּענסאָורסע_דעלפי