JAVAD GREIS GNSS მიმღების გარე ინტერფეისი

სპეციფიკაციები

  • პროდუქტი: GREIS GNSS მიმღები
  • Firmware ვერსია: 4.5.00
  • ბოლო შესწორება: 14 წლის 2024 ოქტომბერი

პროდუქტის ინფორმაცია

GREIS GNSS მიმღები არის JAVAD GNSS-ის მიერ შექმნილი მაღალი სიზუსტის გარე ინტერფეისის მოწყობილობა, რომელიც გთავაზობთ ზუსტი პოზიციონირების ინფორმაციას.

შესავალი

GREIS არის მრავალმხრივი მოწყობილობა, რომელიც გამოიყენება სხვადასხვა აპლიკაციებისთვის. აქ არის რამდენიმე ძირითადი პუნქტი:

  • რა არის GREIS: ეს არის გარე ინტერფეისის მოწყობილობა GNSS მიმღებებისთვის.
  • როგორ გამოიყენება GREIS: იგი გამოიყენება GNSS სისტემების ფუნქციონირებისა და სიზუსტის გასაუმჯობესებლად.
  • სიები: იხილეთ სახელმძღვანელო მხარდაჭერილი ფუნქციებისა და ფუნქციების დეტალური სიებისთვის.
  • ობიექტები: გამოიკვლიეთ სხვადასხვა ობიექტები, რომელთა გამოყენება შესაძლებელია GREIS-ით კონკრეტული ამოცანებისთვის.

მიმღების შეყვანის ენა

მიმღების შეყვანის ენა მომხმარებლებს საშუალებას აძლევს დაუკავშირდნენ მოწყობილობას კონკრეტული ბრძანებების და სინტაქსის გამოყენებით. აი მოკლედview:

  • ენა მაგamples: ისწავლეთ მოწოდებული ყოფილიampიმის გაგება, თუ როგორ უნდა დაუკავშირდეს მოწყობილობას.
  • ენის სინტაქსი: გაეცანით მიმღებზე ბრძანებების გაგზავნის სინტაქსის წესებს.
  • ბრძანებები: გამოიყენეთ სხვადასხვა ბრძანებები თქვენი მოთხოვნების მიხედვით მოწყობილობის გასაკონტროლებლად და კონფიგურაციისთვის.

მიმღების შეტყობინებები

მიმღების შეტყობინებების გაგება გადამწყვეტია მონაცემებისა და სტატუსის ინფორმაციის ინტერპრეტაციისთვის. აი, რა უნდა იცოდეთ:

  • კონვენციები: დაიცავით კონკრეტული ფორმატები და მნიშვნელობები შეტყობინებების ზუსტი ინტერპრეტაციისთვის.
  • შეტყობინების სტანდარტული ნაკადი: შეისწავლეთ სტანდარტული შეტყობინების ფორმატი მონაცემთა თანმიმდევრული გადაცემისთვის.

ხშირად დასმული კითხვები

კითხვა: შემიძლია შევცვალო GREIS GNSS მიმღების პროგრამული უზრუნველყოფა?
პასუხი: არა, პროგრამული უზრუნველყოფის შეცვლა დაუშვებელია JAVAD GNSS-ის საავტორო უფლებების წესების შესაბამისად.

კითხვა: როგორ შემიძლია წვდომა GREIS GNSS მიმღებთან დაკავშირებული ტექნიკური საკითხების მხარდაჭერაზე?
პასუხი: ტექნიკური მხარდაჭერისთვის, გთხოვთ, დაუკავშირდეთ JAVAD GNSS პირდაპირ დახმარებას.

გმადლობთ თქვენი JAVAD GNSS მიმღების შეძენისთვის. ამ საცნობარო სახელმძღვანელოში არსებული მასალები („სახელმძღვანელო“) მომზადებულია JAVAD GNSS, Inc.-ის მიერ JAVAD GNSS პროდუქტების მფლობელებისთვის. ის შექმნილია იმისთვის, რომ დაეხმაროს მფლობელებს მიმღების გამოყენებაში და მისი გამოყენება ექვემდებარება წინამდებარე პირობებს („წესები და პირობები“).

წესები და პირობები
პროფესიონალური გამოყენება JAVAD GNSS მიმღებები შექმნილია პროფესიონალის მიერ გამოსაყენებლად. მოსალოდნელია, რომ მომხმარებელს აქვს მომხმარებლის და უსაფრთხოების ინსტრუქციების კარგი ცოდნა და გაგება ექსპლუატაციის, ინსპექტირების ან რეგულირების წინ. რესივერის მუშაობისას ყოველთვის ატარეთ საჭირო დამცავი საშუალებები (დამცავი ფეხსაცმელი, ჩაფხუტი და ა.შ.).

გარანტიაზე უარის თქმა, გარდა ამ სახელმძღვანელოში არსებული ნებისმიერი გარანტიისა ან საგარანტიო ბარათზე, რომელიც თან ახლავს პროდუქტს, ეს სახელმძღვანელო და მიმღები მოწოდებულია „როგორც არის“. არ არსებობს სხვა გარანტიები. JAVAD GNSS უარს იტყვის რაიმე ნაგულისხმევი გარანტია ვაჭრობის ან ვარგისიანობის შესახებ ნებისმიერი კონკრეტული გამოყენების ან მიზნისთვის. JAVAD GNSS და მისი დისტრიბუტორები არ არიან პასუხისმგებელი ტექნიკური ან სარედაქციო შეცდომებზე ან გამოტოვებებზე, რომლებიც შეიცავს აქ; არც ამ მასალის ან მიმღების ავეჯის, შესრულების ან გამოყენების შედეგად გამოწვეული შემთხვევითი ან თანმიმდევრული ზიანისთვის. ასეთი უარყოფილი ზიანი მოიცავს, მაგრამ არ შემოიფარგლება დროის დაკარგვით, მონაცემების დაკარგვით ან განადგურებით, მოგების დაკარგვით, დანაზოგით ან შემოსავლით, ან პროდუქტის გამოყენების დაკარგვით. გარდა ამისა, JAVAD GNSS არ არის პასუხისმგებელი ან პასუხისმგებელი ზარალზე ან ხარჯებზე, რომლებიც წარმოქმნილია შემცვლელი პროდუქტების ან პროგრამული უზრუნველყოფის მიღებასთან დაკავშირებით, სხვათა პრეტენზიებზე, სხვა უხერხულობაზე, ნებისმიერ შემთხვევაში, JAVAD GNSS არ აგებს პასუხისმგებლობას თქვენთვის ან სხვა პირის ან სუბიექტის მიმართ მიმღების შესყიდვის ფასზე გადაჭარბებული ზიანის ან სხვაგვარად.
სალიცენზიო ხელშეკრულება JAVAD GNSS-ის მიერ მოწოდებული ნებისმიერი კომპიუტერული პროგრამის ან პროგრამული უზრუნველყოფის გამოყენება ან JAVAD GNSS-დან გადმოწერილი webსაიტი („პროგრამული უზრუნველყოფა“) მიმღებთან დაკავშირებით წარმოადგენს წინამდებარე სახელმძღვანელოში მოცემული წესებისა და პირობების მიღებას და შეთანხმებას ამ წესებისა და პირობების დაცვაზე. მომხმარებელს ენიჭება პერსონალური, არაექსკლუზიური, არატრანსფერული ლიცენზია ასეთი პროგრამული უზრუნველყოფის გამოყენების პირობებით

წინასიტყვაობა წესები და პირობები
მითითებულია აქ და ნებისმიერ შემთხვევაში მხოლოდ ერთი მიმღებით ან ერთი კომპიუტერით. თქვენ არ შეგიძლიათ პროგრამული უზრუნველყოფის ან ამ ლიცენზიის მინიჭება ან გადაცემა JAVAD GNSS-ის წერილობითი თანხმობის გარეშე. ეს ლიცენზია ძალაშია შეწყვეტამდე. თქვენ შეგიძლიათ ნებისმიერ დროს შეწყვიტოთ ლიცენზია პროგრამული უზრუნველყოფისა და სახელმძღვანელოს განადგურებით. JAVAD GNSS-მა შეიძლება შეწყვიტოს ლიცენზია, თუ თქვენ ვერ შეასრულებთ რომელიმე წესს ან პირობებს. თქვენ თანახმა ხართ გაანადგუროთ პროგრამული უზრუნველყოფა და გზამკვლევი მიმღების გამოყენების შეწყვეტის შემდეგ. ყველა საკუთრება, საავტორო და სხვა ინტელექტუალური საკუთრების უფლება პროგრამულ უზრუნველყოფაზე და მის მიმართ ეკუთვნის JAVAD GNSS-ს. თუ ეს ლიცენზიის პირობები მიუღებელია, დააბრუნეთ ნებისმიერი გამოუყენებელი პროგრამა და სახელმძღვანელო.

კონფიდენციალურობა ეს სახელმძღვანელო, მისი შინაარსი და პროგრამული უზრუნველყოფა (ერთობლივად, „კონფიდენციალური ინფორმაცია“) არის JAVAD GNSS-ის კონფიდენციალური და საკუთრების ინფორმაცია. თქვენ ეთანხმებით JAVAD GNSS-ის კონფიდენციალურ ინფორმაციას ისეთი სიფრთხილით მოეპყროთ, რაც არანაკლებ მკაცრია, ვიდრე თქვენი ყველაზე ღირებული სავაჭრო საიდუმლოების დასაცავად. ამ პარაგრაფში არაფერი შეგიზღუდავთ თქვენი თანამშრომლებისთვის კონფიდენციალური ინფორმაციის გამჟღავნებაში, რაც შეიძლება იყოს საჭირო ან მიზანშეწონილი მიმღების მუშაობის ან მოვლისთვის. ასეთმა თანამშრომლებმა ასევე უნდა შეინახონ კონფიდენციალურობის ინფორმაცია კონფიდენციალურად. იმ შემთხვევაში, თუ თქვენ იურიდიულად იძულებული გახდებით რომელიმე კონფიდენციალური ინფორმაციის გამჟღავნებას, დაუყოვნებლივ უნდა აცნობოთ JAVAD GNSS-ს, რათა მან მოიძიოს დამცავი ორდერი ან სხვა შესაბამისი საშუალება.
WEBSITE; სხვა განცხადებები JAVAD GNSS-ში არ არის განცხადება webსაიტი (ან სხვა webსაიტი) ან ნებისმიერ სხვა რეკლამაში ან JAVAD GNSS ლიტერატურაში ან JAVAD GNSS-ის თანამშრომლის ან დამოუკიდებელი კონტრაქტორის მიერ ცვლის წინამდებარე წესებსა და პირობებს (პროგრამული უზრუნველყოფის ლიცენზიის, გარანტიისა და პასუხისმგებლობის შეზღუდვის ჩათვლით).
უსაფრთხოება მიმღების არასწორმა გამოყენებამ შეიძლება გამოიწვიოს ადამიანების ან ქონების დაზიანება და/ან პროდუქტის გაუმართაობა. რესივერი უნდა შეკეთდეს მხოლოდ უფლებამოსილი JAVAD GNSS საგარანტიო სერვის ცენტრების მიერ.
სხვადასხვა ზემოაღნიშნული წესები და პირობები შეიძლება ნებისმიერ დროს შეიცვალოს, შეიცვალოს, შეიცვალოს ან გაუქმდეს JAVAD GNSS-ის მიერ. ზემოაღნიშნული წესები და პირობები რეგულირდება და განიმარტება კალიფორნიის შტატის კანონების შესაბამისად, კანონების კონფლიქტის მითითების გარეშე.

რა არის GREIS
GREIS არის ინტერფეისის ენა, რომელიც მომხმარებელს საშუალებას აძლევს ეფექტურად დაუკავშირდეს GNSS მიმღებებს მათ ყველა შესაძლებლობებსა და ფუნქციებზე წვდომით.
GREIS წარმოადგენს ზოგადი მიმღების ენის სტრუქტურას JAVAD GNSS აპარატურის მთელი დიაპაზონისთვის. ეს ენობრივი სტრუქტურა დამოუკიდებელია მიმღებისაგან და ღიაა მომავალი მოდიფიკაციისა თუ გაფართოებისთვის. GREIS ეფუძნება ერთიან მიდგომას, რომელიც მომხმარებელს საშუალებას აძლევს გააკონტროლოს JAVAD GNSS მიმღები დასახელებული ობიექტების შესაბამისი ნაკრების გამოყენებით. ამ ობიექტებთან კომუნიკაცია მიიღწევა წინასწარ განსაზღვრული ბრძანებებისა და შეტყობინებების მეშვეობით. არ არსებობს კონკრეტული შეზღუდვები გამოყენებული მიმღების ობიექტების რაოდენობაზე ან ტიპზე.

როგორ გამოიყენება GREIS
ნებისმიერი სისტემა, რომელიც დაუკავშირდება JAVAD GNSS მიმღებს მისი ერთ-ერთი პორტით (სერიული, პარალელური, USB, Ethernet და ა.შ.) გამოიყენებს GREIS ბრძანებებს და შეტყობინებებს საჭირო ამოცანის შესასრულებლად. ტიპიური აპლიკაციების წყვილი, სადაც GREIS თამაშობს ძალიან მნიშვნელოვან როლს, არის, პირველ რიგში, იყენებს ხელის კონტროლერებს მიმღებებთან კომუნიკაციისთვის საველე ოპერაციების დროს კვლევისა და RTK პროექტებში, ან, მეორეც, მიმღებებიდან მონაცემების დესკტოპის სისტემებში შემდგომი პოსტისთვის ჩამოტვირთვისას. დამუშავება. თავად პოსტ დამუშავების აპლიკაცია არ იყენებს GREIS ბრძანებებს, მაგრამ უნდა იცოდეს GREIS შეტყობინებების შესახებ მონაცემების ამოსაღებად. files.


GREIS-ის ერთ-ერთი მნიშვნელოვანი მახასიათებელია ის, რომ მისი ეფექტურად გამოყენება შესაძლებელია JAVAD GNSS მიმღებების ავტომატური და ხელით კონტროლისთვის. მექანიკური კონტროლისთვის, მომხმარებელი ტერმინალის საშუალებით შეიყვანს მიმღებში აუცილებელ GREIS ბრძანებებს. ეს ადვილად მიღწევადია, რადგან GREIS შექმნილია ადამიანის წაკითხვადი ტექსტური ინტერფეისისთვის. მეორეს მხრივ, GREIS ემორჩილება საკმაოდ მკაცრ წესებს, რაც აადვილებს აპლიკაციების გამოყენებას.

სიები
GREIS ინტენსიურად იყენებს სიების კონცეფციას. სიები გამოიყენება როგორც მიმღების შეყვანის ენაში, ასევე სტანდარტულ ტექსტურ შეტყობინებებში.

შესავალი ობიექტები
სიები GREIS-ში წარმოდგენილია ელემენტების თანმიმდევრობით, რომლებიც შემოიფარგლება მძიმით (,, ASCII კოდი 44) და ჩასმული ფრჩხილებში ({}, ASCII კოდები 123 და 125):
{ელემენტი1, ელემენტი2, ელემენტი3}
თავის მხრივ, სიის ელემენტები შეიძლება იყოს სიები:
{e1,{ee21,ee22},e3}
ამრიგად, ზემოაღნიშნული განმარტება არის რეკურსიული, ასე რომ დაშვებულია თვითნებური ბუდეების სიღრმის სია. ელემენტებს, რომლებიც არ არის სიები, ეწოდება ფოთლის ელემენტებს, ან უბრალოდ ფოთლებს. სიების ელემენტები შეიძლება იყოს ცარიელი, ამ შემთხვევაში ჩვენ ვამბობთ, რომ ელემენტი გამოტოვებულია. მაგample, ქვემოთ მოცემულ სიაში მეორე ელემენტი გამოტოვებულია:
{e1,,e3}
დაშვებული და იგნორირებულია ადგილების გამყოფების წინ და შემდეგ. თუ სიის ყველა ელემენტს აქვს ერთი და იგივე ქვესტრიქონი (პრეფიქსი) დასაწყისში, ეს ქვესტრიქონი შეიძლება გადავიდეს სიის გარშემო არსებული ფრჩხილებიდან, მაგ.
ელემენტი{1,2,3}
არის უფრო მოკლე ფორმა
{elem1,elem2,elem3}

ელემენტები შეიძლება ჩაირთოს ორმაგ ბრჭყალებში (“, ASCII კოდი 34), რომლებიც ამოღებულია ანალიზის დროს. ციტირებული ელემენტის შიგნით სპეციალური სიმბოლოები (ბრტყელები, მძიმეები და ა.შ.) კარგავენ როლს და განიხილება ჩვეულებრივ სიმბოლოებად. ციტატების კიდევ ერთი გამოყენება არის "ელემენტი არ არის მითითებული" და "ცარიელი ელემენტი მითითებული" პირობების განსხვავება. პირველი აღინიშნება სიიდან ელემენტის უბრალოდ გამოტოვებით, ხოლო მეორე აღინიშნება მძიმებს შორის ორმაგი ბრჭყალების წყვილის დაყენებით. ციტირება ასევე სასარგებლოა, როდესაც საჭიროა სტრიქონში წამყვანი ან უკანა სივრცეები. ორმაგი ციტატის ელემენტში ჩასართავად, ციტირება მოახდინე ამ ელემენტის ციტირებაზე და გაურბოდი ორმაგ ციტატას შიგნით, უკანა ხაზის სიმბოლოთი (, ASCII კოდი 92). იმისათვის, რომ დააყენოთ უკანა ხაზი ციტირებულ სტრიქონში, გაექცეთ მას სხვა უკანა ხაზით, მაგampლე:
Example: "სტრიქონი "ბრჭყალებით", უკანა ხაზით \ და სპეციალური სიმბოლოებით, {}"
1.4 ობიექტი
მოდელის კონტექსტში, რომელსაც დაფუძნებულია GREIS, JAVAD GNSS მიმღები იდენტიფიცირებულია დასახელებული ობიექტების სიმრავლით.

GREIS

www.javad.com

20

შესავალი ობიექტები
ობიექტის იდენტიფიკატორები
ობიექტი განისაზღვრება, როგორც მიმღების ტექნიკის ან პროგრამული უზრუნველყოფის ერთეული, რომლის მიმართვა, დაყენება ან მოთხოვნაა შესაძლებელი. აპარატურულ ერთეულებს ჩვეულებრივ უწოდებენ მოწყობილობებს, ხოლო firmware ობიექტები ჩვეულებრივ files და პარამეტრები. მიმღების პორტები და მეხსიერების მოდულები კარგია მაგampმოწყობილობების რაოდენობა. ყველა მოწყობილობა, files და პარამეტრები განიხილება ერთგვაროვნად GREIS-ის მიერ. ყველა ობიექტს აქვს ატრიბუტების ასოცირებული ნაკრები, რომელთა წვდომა, განსაზღვრა და/ან შეცვლა შესაძლებელია GREIS-ის საშუალებით.


1.4.1 ობიექტის იდენტიფიკატორები
უკვე აღინიშნა, რომ მიმღები განიხილება როგორც ობიექტების ერთობლიობა (მოწყობილობები, files, შეტყობინებები, პარამეტრები და ა.შ.) GREIS მოდელის კონტექსტში. მიმღების ბრძანებებში ობიექტების მიმართვის მიზნით, თითოეულ ობიექტს უნდა მიენიჭოს უნიკალური იდენტიფიკატორი.


მიმღებში ობიექტები ლოგიკურად იყოფა ჯგუფებად. თავად ჯგუფი ასევე არის ობიექტი და ეკუთვნის სხვა ჯგუფს, თუ ის არ არის ძირეული ჯგუფი. ამრიგად, მიმღებში ყველა ობიექტი ორგანიზებულია ხის მსგავს იერარქიაში, რომელიც იწყება ერთი ფესვის ჯგუფიდან. ეს წარმომადგენლობა წააგავს ორგანიზაციას files შევიდა დირექტორიაში (საქაღალდეებში), რომლებსაც კომპიუტერის მომხმარებლების უმეტესობა იცნობს.
GREIS-ში ობიექტების ჯგუფები წარმოდგენილია ობიექტების შესაბამისი სახელების სიების სახით. ობიექტის სახელი უნიკალურია იმ სიაში, რომელსაც ობიექტი ეკუთვნის. გლობალურად უნიკალური ობიექტის იდენტიფიკატორი განისაზღვრება, როგორც ყველა ობიექტის სახელები ობიექტის ხის გავლით ბილიკზე ძირეული სიიდან ობიექტამდე, შემოიფარგლება წინა ზოლით (/). თავად ძირეული სია იდენტიფიცირებულია ერთი წინსვლის ხაზით.
Exampობიექტების იდენტიფიკატორები არის:
Example: ძირეული ჯგუფი:
/
Example: მიმღების ელექტრონული ID:
/par/rcv/id
Example: სერიული პორტი A ბაუდის სიხშირე:
/par/dev/ser/a/rate
Example: ატრიბუტები (ზომა და ბოლო მოდიფიკაციის დრო). file NAME (file ატრიბუტები განსხვავდება ქვემოთ განხილული ობიექტის ატრიბუტებისაგან):
/log/NAME
Example: NMEA GGA წინადადება:

GREIS

www.javad.com

21

შესავალი პერიოდული გამომავალი
ობიექტების ტიპები
/msg/nmea/GGA
ყველა ობიექტს აქვს მათთან დაკავშირებული ერთი ან მეტი ატრიბუტი. ობიექტის ატრიბუტების იდენტიფიცირება ხდება & სიმბოლოს და ატრიბუტის სახელის მიმატებით ობიექტის იდენტიფიკატორზე. თითოეული ობიექტის ძირითადი ატრიბუტი არის მნიშვნელობა. ეს ატრიბუტი ყოველთვის მიღწეულია GREIS ბრძანებებით. ზოგიერთ ობიექტს შეიძლება ჰქონდეს დამატებითი ატრიბუტები, მაგample: მაგample: სერიული პორტი ნაგულისხმევი ბაუდის სიხშირე:
/par/dev/ser/a/rate&def
Example: შინაარსი file NAME:
/log/NAME&კონტენტი
1.4.2 ობიექტების ტიპები
მიმღებში ყველა ობიექტს აქვს მასთან დაკავშირებული GREIS ტიპი. ობიექტის ტიპი განსაზღვრავს მის ქცევას GREIS ბრძანებებთან მიმართებაში. კონკრეტულად, ტიპი განსაზღვრავს, თუ რომელი მნიშვნელობების მიღება შეუძლია ობიექტს და რომელი კონკრეტული ბრძანებები გამოიყენება ობიექტზე.
იხილეთ „პირველადი ობიექტების ტიპები“ 184 გვერდზე, ამჟამად მხარდაჭერილი ობიექტების ტიპების დეტალური აღწერისთვის.

GREIS

1.5 პერიოდული გამომავალი

მიმღების მუშაობაში მნიშვნელოვან როლს თამაშობს მისი უნარი პერიოდულად გამოიტანოს გარკვეული ინფორმაცია, როგორიცაა სხვადასხვა სახის გაზომვები, გამოთვლილი მნიშვნელობები და ა.შ. განსაზღვრული გრაფიკის მიხედვით. GREIS განსაზღვრავს შეტყობინებების მდიდარ კომპლექტს, რომელიც შეიცავს სხვადასხვა ტიპის ინფორმაციას სხვადასხვა ფორმატში, რომლებიც წარმოადგენენ გამომავალი მინიმალურ ერთეულებს, და უზრუნველყოფს მეთოდებს, რათა მოითხოვოთ შეტყობინებების ნებისმიერი კომბინაციის პერიოდული გამომავალი ნებისმიერი თანმიმდევრობით ნებისმიერი მხარდაჭერილი მედიისთვის, რომელიც შესაფერისია მონაცემთა გამოსატანად. ნებისმიერ მხარდაჭერილ საშუალებას, რომელიც შესაფერისია მონაცემთა გამოსატანად, GREIS-ში გამომავალი ნაკადი ეწოდება.
ყველა გამომავალი ნაკადისთვის, მიმღები ინახავს შეტყობინებების სიას, რომლებიც ამჟამად ჩართულია ნაკადში გამოსატანად, რომელსაც ეწოდება გამომავალი სია. შეტყობინებების გამოტანის თანმიმდევრობა ემთხვევა გამომავალი სიაში შეტყობინებების თანმიმდევრობას. გარდა ამისა, ყველა შეტყობინებას, რომელიც იმყოფება გამომავალ სიაში, აქვს მასთან დაკავშირებული დაგეგმვის პარამეტრების საკუთარი ნაკრები. გამომავალი სიაში გზავნილზე მიმაგრებული დაგეგმვის პარამეტრები განსაზღვრავს ამ კონკრეტული შეტყობინების გამოტანის გრაფიკს ამ კონკრეტულ გამომავალ ნაკადში. GREIS გთავაზობთ სამ კომ-

www.javad.com

22

შესავალი პერიოდული გამომავალი გამომავალი პერიოდი და ფაზა
mands, em, out და dm, რათა მოხდეს გამომავალი სიების და დაგეგმვის პარამეტრების ეფექტური მანიპულირება.
შეტყობინებების დაგეგმვის პარამეტრები მოიცავს ოთხ ველს: პერიოდი, ფაზა, რაოდენობა და დროშები, რომელთაგან თითოეული სხვადასხვა როლს ასრულებს გამომავალი გრაფიკის განსაზღვრაში. ქვემოთ ჩვენ აღვწერთ, თუ როგორ მოქმედებს მათი მნიშვნელობები გამომავალზე, მაგრამ ძირითადად, პერიოდი განსაზღვრავს ინტერვალს შეტყობინების გამოსავალს შორის; ფაზა განსაზღვრავს გამომავალი მომენტების დროის ცვლას დროის მომენტებთან მიმართებაში, როდესაც მიმდინარე დრო პერიოდის მრავლობითია; რიცხვი, როდესაც ნულზე მეტია, ზღუდავს გაგზავნის გამოტანის რაოდენობას; ხოლო დროშები filed იძლევა გამომავალი პროცესის გარკვეულწილად დახვეწის საშუალებას.

1.5.1 გამომავალი პერიოდი და ფაზა

შენიშვნა:

შეტყობინების დაგეგმვის პარამეტრების პერიოდისა და ფაზის ველები არის მცურავი წერტილის მნიშვნელობები [0…86400) წამში. მათი ზუსტი მნიშვნელობა აღწერილია ქვემოთ.
როდესაც F_CHANGE ბიტი დაყენებულია დროშების ველში დაგეგმვის პარამეტრების, ფაზის ველი კარგავს თავის ჩვეულ როლს და სანაცვლოდ ხდება „იძულებითი გამომავალი პერიოდი“. დეტალებისთვის იხილეთ F_CHANGE დროშის აღწერა ქვემოთ.
მიმღებს აქვს თავისი შიდა დროის ბადე, რომელიც განისაზღვრება მიმღების საათით და /par/raw/curmsint პარამეტრის მნიშვნელობა, რომელიც განსაზღვრავს მიმღების შიდა ეპოქების საფეხურს. მიმღების შიდა ეპოქები წარმოიქმნება მაშინ, როდესაც მიმღების დრო არის საფეხურის მრავალჯერადი. თავის მხრივ, მიმღების დრო განისაზღვრება, როგორც მიმღების საათის მოდულის მნიშვნელობა ერთი დღის განმავლობაში (86400 წამი). მიმღები ასკანირებს გამომავალი სიებს მხოლოდ შიდა მიმღების ეპოქებში, ისე რომ არ მოხდეს გამომავალი უფრო ხშირად.
შიდა დროის ბადის გათვალისწინებით, პერიოდისა და ფაზის ცვლადები განსაზღვრავენ შეტყობინების გამოსვლის დროის მომენტებს შემდეგნაირად: მიმღები გამოსცემს შეტყობინებას მხოლოდ მიმღების დროით Tout, რომელიც ერთდროულად აკმაყოფილებს შემდეგ ორ განტოლებას:

Toutmod პერიოდი = ფაზა

(1)

Tout = N ნაბიჯი (2)

GREIS

სადაც N არის მთელი რიცხვი, რომელიც იღებს მნიშვნელობებს [0,1,2,…,(86400/ნაბიჯი)-1].
პირველი განტოლება განსაზღვრავს შეტყობინებების გამოტანის ძირითად წესს, ხოლო მეორე აწესებს დამატებით შეზღუდვებს შიდა მიმღების ეპოქებთან დაკავშირებით. გაითვალისწინეთ, რომ ყველაზე ჩვეულებრივ შემთხვევაში, როდესაც პერიოდი და ფაზა არის საფეხურის ჯერადი, მეორე განტოლება სრულდება ავტომატურად, როდესაც პირველი განტოლება დაკმაყოფილებულია. ასევე გაითვალისწინეთ, რომ თუ
86400 (მოდიფიკაციის პერიოდი) 0,

www.javad.com

23

შესავალი პერიოდული გამომავალი
გამომავალი რაოდენობა

Exampლე:
Example: მაგampლე:

ფაქტობრივი ინტერვალი დღის გადაბრუნებამდე გაგზავნილ ბოლო შეტყობინებასა და დღის გადაბრუნების შემდეგ პირველ შეტყობინებას შორის იქნება განსხვავებული პერიოდის მნიშვნელობიდან.
განვიხილოთ რამდენიმე ყოფილიampასახავს ამ მექანიზმს:
დავუშვათ, პერიოდი არის 10 წამი, ფაზა არის 2.2 წამი და ნაბიჯი არის 0.2 წამი. ვინაიდან Tout-ს, მეორე განტოლების მიხედვით, შეუძლია მიიღოს მხოლოდ საფეხურის მრავალჯერადი მნიშვნელობები, პირველი განტოლების მარცხენა ნაწილი მიიღებს შემდეგ მნიშვნელობებს: 0, 0.2, 0.4, …, 9.8, 0, ..., საიდანაც მხოლოდ მნიშვნელობა. 2.2 მატჩის ფაზა. ეს დამთხვევები მოხდება და შეტყობინება გამოვა, ყოველ ჯერზე, როცა Tout მიიღებს ერთ-ერთ შემდეგ მნიშვნელობას: 2.2s, 12.2s, 22.2s და ა.შ.
დავუშვათ, პერიოდი არის 10 წამი, ფაზა არის 2.2 წამი და ნაბიჯი არის 0.5 წამი. მიმღები არ გამოსცემს შეტყობინებას, რადგან ზემოთ მოყვანილი წყვილი ერთდროული განტოლებები არასოდეს დაკმაყოფილდება.
დავუშვათ ფაზა > პერიოდი. მიმღები საერთოდ არ გამოსცემს შეტყობინებას, რადგან პირველი განტოლება არასოდეს დაკმაყოფილდება.

1.5.2 გამომავალი რაოდენობა

შენიშვნა:

შეტყობინების დაგეგმვის პარამეტრების დათვლის ველი არის მთელი რიცხვი დიაპაზონში [-256…32767) და ემსახურება ორ განსხვავებულ მიზანს:
1. როდესაც რაოდენობა არის 0, გამოვა შეუზღუდავი რაოდენობის შეტყობინებები. როდესაც რაოდენობა 0-ზე მეტია, ის განსაზღვრავს რამდენჯერ გამოვა შეტყობინება. ამ შემთხვევაში მრიცხველი მცირდება 1-ით ყოველ ჯერზე შეტყობინების გამოტანისას და როდესაც ის გახდება 0, F_DISABLED ბიტი დაყენებულია flags ველში. შეტყობინებების დამგეგმავი არ გამოსცემს შეტყობინებებს F_DISABLED ბიტის დაყენებით.
2. როდესაც რაოდენობა დაყენებულია მნიშვნელობაზე [-256…-1] დიაპაზონში, შეტყობინების გამომავალი არ ითრგუნება და დათვლის ველი ემსახურება სრულიად განსხვავებულ მიზანს. ის იძლევა შეტყობინების შეფუთვას სპეციალურ [>>] შეტყობინებაში გამოტანამდე (იხილეთ „[>>] Wrapper“ გვერდზე 132). count-ის მნიშვნელობა შემდეგ გამოიყენება id ველის დასაყენებლად გენერირებულ [>>] შეტყობინებაში ისე, რომ id იყოს რიცხობრივად (-1 – count).
შეფუთვის ფუნქცია სასარგებლოა, მაგample, სერვერის აპლიკაციისთვის, რომელიც იღებს შეტყობინებებს მიმღებისაგან და აგზავნის მათ მრავალ კლიენტზე. მას შეუძლია მოითხოვოს თვითნებური შეტყობინებების შეფუთვა [>>] შეტყობინებებში სხვადასხვა იდენტიფიკატორებით, გადაშალოს მიღებული შეტყობინებები და მიაწოდოს მონაცემები კონკრეტულ კლიენტ(ებ)ზე მიღებული id-ის საფუძველზე. ამ ფუნქციის გამოყენებით, ასეთ აპლიკაციას არ სჭირდება მონაცემთა სხვა ფორმატების ცოდნა, გარდა [>>] შეტყობინების ფორმატისა და შეუძლია გამოიყენოს მიმღებთან კომუნიკაციის ერთი არხი სხვადასხვა ფორმატში შეტყობინებების მისაღებად და გასაგზავნად.

GREIS

www.javad.com

24

1.5.3 გამომავალი დროშები

შესავალი პერიოდული გამომავალი
გამომავალი დროშები

შეტყობინების დაგეგმვის პარამეტრების დროშების ველი არის 16-ბიტიანი ფართო ბიტის ველი. ამ ბიტის ველის თითოეული ბიტი არის ცალკე დროშა და ემსახურება სხვადასხვა მიზანს. ქვემოთ მოცემულია შეტყობინებების დაგეგმვის დროშების სია.
ცხრილი 1-1. შეტყობინებების დაგეგმვის დროშები

ბიტი #
0 1 2 3 4 5 6 7 8 9 10 11 12

HEX
0x0001 0x0002 0x0004 0x0008 0x0010 0x0020 0x0040 0x0080 0x0100 0x0200 0x0400 0x0800 0xF000

სახელი
F_OUT F_CHANGE F_OUT_ON_ADD F_NOTENA F_FIX_PERIOD F_FIX_PHASE F_FIX_COUNT F_FIX_FLAGS დაცულია დაცულია დაცულია F_DISABLED დაცულია

შენიშვნა: ველების სახელები აქ მოცემულია მხოლოდ ამ სახელმძღვანელოში მათზე მითითების მიზნით. არ არსებობს მათი გამოყენება GREIS ბრძანებებში.

F_OUT თუ ეს დროშა დაყენებულია, შესაბამისი ბრძანების გამოძახების შემდეგ პირველი შეტყობინებები გამოვა შიდა მიმღების ეპოქაში, რომელიც ყველაზე ახლოსაა ბრძანების შესრულების დროს, მიუხედავად იმისა, თუ რა არის მითითებული პერიოდის დაგეგმვის პარამეტრით.
F_CHANGE თუ ეს დროშა დაყენებულია, შესაბამისი შეტყობინება გამოვა მხოლოდ იმ შემთხვევაში, თუ შეტყობინების მონაცემები შეიცვალა შეტყობინების ბოლო გამოსვლიდან მოცემულ გამომავალ ნაკადზე. მიმღები ამოწმებს, შეიცვალა თუ არა შეტყობინების მონაცემები მხოლოდ იმ მომენტებში, რომლებიც განსაზღვრულია განტოლებებით (1), (2), სადაც ფაზის ცვლადი დაყენებულია ნულზე, ხოლო პერიოდის ცვლადი დაყენებულია პერიოდის ველის მნიშვნელობაზე. შეტყობინების დაგეგმვის პარამეტრის ფაზა, რომელიც ამ შემთხვევაში კარგავს თავდაპირველ ფუნქციას, ახლა იძულებითი გამომავალი პერიოდის როლს ასრულებს. „იძულებითი გამომავალი“ ნიშნავს, რომ შესაბამისი შეტყობინება გამოვა, შეიცვლება თუ არა მისი შინაარსი იმ დროის მომენტებში, რომლებიც განსაზღვრულია განტოლებებით (1), (2), სადაც პერიოდის ცვლადი დაყენებულია ფაზის ველისა და ფაზის მნიშვნელობაზე. ცვლადი დაყენებულია ნულზე. თუ ველის ფაზა ნულის ტოლია, მაშინ მიმღები არ ახორციელებს იძულებით გამომავალს ისე, რომ შესაბამისი შეტყობინება გამოვა მხოლოდ იმ პირობით, რომ მისი მონაცემები შეიცვლება.

GREIS

www.javad.com

25

შესავალი პერიოდული გამომავალი
გამომავალი დროშები
F_OUT_ON_ADD თუ ეს დროშა დაყენებულია, მაშინ პირველი შეტყობინება გამოვა შესაბამისი em ან out ბრძანების შესრულებისთანავე. ეს დროშა იგნორირებულია შეტყობინებების უმეტესობისთვის1.
F_NOTENA თუ ეს დროშა დაყენებულია შეტყობინებებისთვის გამომავალ სიაში, ამ შეტყობინების F_DISABLED დროშა არ წაიშლება, როდესაც შეტყობინება ჩართულია და, შესაბამისად, მისი გამომავალი დარჩება შეჩერებული. მაგampსხვათა შორის, ეს დროშა გამოიყენება იმისთვის, რომ არ გამოვიდეს შეტყობინებების ნაგულისხმევი ნაკრებიდან ზოგიერთი შეტყობინებები, როდესაც მომხმარებელი ცვლის გამომავალ პერიოდს ფრენის დროს, გამომავალი გამორთვის გარეშე.
F_FIX_PERIOD, F_FIX_PHASE, F_FIX_COUNT, F_FIX_PERIOD დაგეგმვის პარამეტრებში დაყენებულია 1-ზე, თავიდან აიცილეთ ცვლილებები ამ დაგეგმვის პარამეტრების შესაბამის ველ(ებ)ში em და out ბრძანებების მეშვეობით.
F_DISABLED არ არის აშკარად პროგრამირებადი მომხმარებლის მიერ. როდესაც ჩართავთ შეტყობინებას დადებითი დათვლით, მაშინ, მას შემდეგ, რაც ეს შეტყობინება გამოტანილი იქნება დათვლილი ჯერ, შეტყობინებების განრიგი ამ დროშას აყენებს 1-ზე. ეს დროშა წაიშლება 0-ზე, როდესაც შეტყობინება ხელახლა ჩართულია, თუ F_NOTENA დროშა არ არის დაყენებული ეს შეტყობინება.

1. ამჟამად მხოლოდ ორი GREIS შეტყობინება, [JP] და [MF] პატივს სცემს ამ დროშას.

GREIS

www.javad.com

26

თავი 2
მიმღების შეყვანის ენა

ეს თავი აღწერს მიმღების შეყვანის ენის სინტაქსსა და სემანტიკას. ჩვენ ვიწყებთ ზოგიერთი ყოფილიampრათა მკითხველს მიეცეს ენის შეგრძნება, შემდეგ მივმართოთ დეტალურ სინტაქსის განმარტებას და შემდეგ აღვწეროთ ყველა განსაზღვრული ბრძანება მათ სემანტიკასთან ერთად.

2.1 ენა მაგamples

აქ არის რამდენიმე ყოფილიampრეალური განცხადებების les მიმღებს ესმის მიმღების პასუხებთან ერთად. უფრო მეტს იპოვით ყოფილიampკონკრეტული ბრძანებების გამოყენებისას შესაბამის ქვეგანყოფილებებში. მიმღებში შეყვანა აღინიშნება სიმბოლოთი, ხოლო მიმღების გამომავალი სიმბოლოთი:

Example: სთხოვეთ მიმღებს დაბეჭდოს მისი ელექტრონული ID. მიმღები წარმოქმნის საპასუხო შეტყობინებას:

Exampლე:

ბეჭდვა,/par/rcv/id RE00C QP01234TR45
სთხოვეთ მიმღებს დააყენოს თავისი სერიული პორტის A ბაუდის სიხშირე 9600-ზე. მიმღები წარმატებით ასრულებს ბრძანებას და არ წარმოქმნის პასუხს.

ნაკრები,/par/dev/ser/a/rate,9600
Example: გამოიყენეთ იგივე ბრძანება, როგორც წინა მაგალითშიample, მაგრამ აიძულეთ მიმღები პასუხის გენერირებას განცხადების იდენტიფიკატორის გამოყენებით.

Exampლე:

%set_rate%set,/par/dev/ser/a/rate,9600 RE00A%set_rate%
შეეცადეთ დააყენოთ ძალიან მაღალი ბაუდის სიხშირე. მიმღები პასუხობს შეცდომის შეტყობინებით, მიუხედავად იმისა, რომ ჩვენ არ გამოვიყენეთ განცხადების იდენტიფიკატორი.

ნაკრები,/par/dev/ser/a/rate,1000000 ER016{4, მნიშვნელობა დიაპაზონს გარეთ}

შენიშვნა:

მიმღები ყოველთვის დებს თავის ნორმალურ და შეცდომის პასუხებს ორ სტანდარტულ შეტყობინებაში, შესაბამისად, [RE] და [ER]. GREIS შეტყობინებების ფორმატის შესახებ დამატებითი ინფორმაციისთვის იხილეთ „შეტყობინებების ზოგადი ფორმატი“ გვერდზე 64. [RE] და [ER] შეტყობინებები აღწერილია „ინტერაქტიული შეტყობინებები“ გვერდზე 129.

GREIS

www.javad.com

27

მიმღების შეყვანის ენა ენის სინტაქსი
2.2 ენის სინტაქსი
GREIS განსაზღვრავს ASCII სიმბოლოების ხაზებს თვითნებური სიგრძით1, შემოიფარგლება ტარებით-დაბრუნებით ( , ASCII ათობითი კოდი 13), ან ხაზის არხი ( , ASCII ათობითი კოდი 10) სიმბოლოები, იყოს ენის ზედა დონის სინტაქსის ელემენტები. ცარიელი ხაზები დაშვებულია და იგნორირებულია GREIS-ში. შედეგად, ხაზი შეიძლება შემოიფარგლოს ნებისმიერი კომბინაციით და/ან პერსონაჟები. ის საშუალებას აძლევს GREIS-ს შეუფერხებლად დაუჭიროს მხარი WindowsTM, MacTM და UNIXTM ხაზის დასრულებას.
მიმღების შეყვანის ენა არის რეგისტრის სენსიტიური. ეს ნიშნავს, რომ მაგample, სტრიქონები GREIS, greis და gReIs, როგორც სხვადასხვა სტრიქონები, ნამდვილად განიხილება როგორც ასეთი მიმღები.
რიცხვითი ნიშანი (#, ASCII კოდი 35) არის კომენტარის შესავალი სიმბოლო. მიმღები უგულებელყოფს ყველაფერს, დაწყებული ამ სიმბოლოდან სტრიქონის ბოლომდე.
მას შემდეგ, რაც კომენტარი (ასეთის არსებობის შემთხვევაში) ჩამოიშლება ხაზიდან, მიმღები აშორებს წინა და უკანა სივრცეებს ​​და შემდეგ არღვევს ხაზს განცხადებებად. განცხადებები შემოიფარგლება მძიმით (;, ASCII კოდი 59) ან ორით ampersands (&&, ASCII კოდები 38), ან ორი ვერტიკალური ზოლით (||, ASCII კოდები 124). განცხადებები ხაზში შესრულებულია თანმიმდევრობით, მარცხნიდან მარჯვნივ. თუ განცხადება, რომელიც მთავრდება && დელიმიტერით, წარმოშობს შეცდომას, სტრიქონში დარჩენილი განცხადებები არ სრულდება. თუ განცხადება, რომელიც მთავრდება ||-ით დელიმიტერი წარმატებით სრულდება, ხაზის დანარჩენი განცხადებები არ არის შესრულებული. წინადადება, რომელიც მთავრდება მძიმით, არასოდეს წყვეტს განცხადებების თანმიმდევრობის შესრულებას. გაითვალისწინეთ, რომ სტრიქონის ბოლო თავისთავად არის განცხადების ტერმინატორი, ასე რომ თქვენ არ გჭირდებათ სტრიქონის ბოლოს განლაგების ერთ-ერთი გამოკვეთილი განმსაზღვრელი.
განცხადების ფორმატი ასეთია:
[%ID%][COMMAND][@CS] სადაც კვადრატული ფრჩხილები აღნიშნავს არასავალდებულო ველებს და ნებისმიერი რაოდენობის უფსკრული დაშვებულია ყოველი ველის წინ და შემდეგ. ასეთი სივრცეები იგნორირებულია, გარდა საკონტროლო ჯამის გამოთვლის მიზნისა, იხილეთ ქვემოთ. ველები არის:
%ID% განცხადების იდენტიფიკატორი, სადაც ID აღნიშნავს თვითნებურ სტრიქონს, შესაძლოა ცარიელი. იდენტიფიკატორი, თუ ეს არის, მიმღების მიერ უცვლელად კოპირდება განცხადების საპასუხო შეტყობინებაში. ნებისმიერი განცხადება იდენტიფიკატორით ყოველთვის გამოიმუშავებს პასუხს მიმღებისგან. ასევე დასაშვებია განცხადება, რომელიც შეიცავს მხოლოდ იდენტიფიკატორს; ასეთ შემთხვევაში, მიმღები უბრალოდ გამოიმუშავებს საპასუხო შეტყობინებას.
COMMAND (შესაძლოა ცარიელი) სია, სადაც პირველ ელემენტს ეწოდება ბრძანების სახელი. იგი აღნიშნავს განსახორციელებელ მოქმედებას. დანარჩენი ელემენტები (ასეთის არსებობის შემთხვევაში) არის ბრძანება

GREIS

1. ამჟამინდელი GREIS დანერგვა მიმღებებში მხარს უჭერს 256 სიმბოლომდე სიგრძის ხაზებს.

www.javad.com

28

მიმღების შეყვანის ენა ენის სინტაქსი
არგუმენტები. ბრეკეტები, რომლებიც გარშემორტყმულია ბრძანებების სიაში, შეიძლება გამოტოვდეს. სიების სინტაქსისთვის იხილეთ „სიები“ მე-19 გვერდზე. @CS გამშვები ჯამი, სადაც CS არის 8-ბიტიანი საკონტროლო ჯამი, ფორმატირებული, როგორც 2-ბაიტი თექვსმეტობითი რიცხვი. განცხადების შესრულებამდე გამშვები ჯამით, მიმღები შეადარებს შეყვანის საკონტროლო ჯამს, რომელიც გამოთვლილია firmware-ის მიერ და უარს იტყვის განცხადების შესრულებაზე, თუ ეს შემოწმების ჯამები არ ემთხვევა. საკონტროლო ჯამი გამოითვლება განცხადების პირველი არა ცარიელი სიმბოლოდან @ სიმბოლოს ჩათვლით. დეტალებისთვის იხილეთ „საკონტროლო ჯამების გამოთვლა“ გვერდზე 579.
განცხადების იდენტიფიკატორი, %ID%, ემსახურება შემდეგ მიზნებს:
1. აიძულებს მიმღების პასუხს ბრძანებაზე. 2. საშუალებას აძლევს მიმღებს გაუგზავნოს მრავალი ბრძანება სხვადასხვა იდენტიფიკატორით
ყველა ბრძანებაზე პასუხის მოლოდინის გარეშე, მიიღე პასუხები და უთხარი რომელი პასუხი რომელ ბრძანებას შეესაბამება. 3. ეხმარება მიმღებთან სინქრონიზაციის დამყარებას, რაც საშუალებას აძლევს შეამოწმოს, რომ კონკრეტული მიმღების პასუხი შეესაბამება კონკრეტულ ბრძანებას და არა სხვა ბრძანებას, რომელიც გაცემულია მანამდე ან მის შემდეგ.
სია, სახელწოდებით ოფციები, შეიძლება დაემატოს COMMAND-ის ნებისმიერ ელემენტს ორწერტილის შემდეგ (:, ASCII კოდი 58). თუ ვარიანტების სია შეიცავს ერთ ელემენტს, შეიძლება გამოტოვოთ მიმდებარე ბრეკეტები. სიას დართული ოფციონების სია ვრცელდება სიის ყველა ელემენტზე, თუმცა სიის ელემენტს ცალსახად დამატებული ვარიანტები უპირატესობას ანიჭებს გავრცელებულ ვარიანტებს. მაგampლე,
{e1,{e2:{o1,,o3},e3}}:{o4,o5}
უდრის:
{e1:{o4,o5},{e2:{o1,o5,o3},e3:{o4,o5}}}
ასევე გაითვალისწინეთ, როგორ აძლევს გამოტოვებულ o2 ოფციას o5 ვარიანტის გავრცელების შესაძლებლობა e2 ელემენტის ვარიანტების სიაში.
ბრძანებაში არგუმენტებისა და ვარიანტების რაოდენობა და მნიშვნელობა დამოკიდებულია კონკრეტულ ბრძანების მოქმედებაზე და განისაზღვრება თითოეული მიმღების ბრძანების აღწერაში. გარდა ამისა, თუ ბრძანების აღწერა განსაზღვრავს ზოგიერთ ვარიანტს, მაგრამ ზოგიერთი ან ყველა მათგანი გამოტოვებულია განცხადებაში, გამოტოვებული ვარიანტების ნაგულისხმევი მნიშვნელობები შეიცვლება. პარამეტრების ნაგულისხმევი მნიშვნელობები ასევე განისაზღვრება მიმღების ყველა ბრძანების აღწერაში.

GREIS

www.javad.com

29

მიმღების შეყვანის ენა ენის სინტაქსი

ცნობისთვის, ქვემოთ მოცემულია ცხრილი, რომელიც შეიცავს ყველა სიმბოლოების თანმიმდევრობას, რომლებსაც განსაკუთრებული მნიშვნელობა აქვთ მიმღების შეყვანის ენაში:

ცხრილი 2-1. ენის შეყვანის სპეციალური სიმბოლოები

სიმბოლოების ათწილადი ASCII კოდი

მნიშვნელობა

10

ხაზის გამყოფი

13

ხაზის გამყოფი

#

35

;

59

კომენტარის ნიშნის დასაწყისი განცხადებების გამყოფი

&&

38

||

124

%

37

განცხადებები და გამყოფი განცხადებები ან გამყოფი განცხადების საიდენტიფიკაციო ნიშანი

@

64

{

123

}

125

,

44

:

58

საკონტროლო ნიშნის დასაწყისი სიის ნიშნის დასასრული სიის ნიშნის სიის ელემენტების გამყოფი პარამეტრების აღნიშვნა

34

ციტატა

92

გაქცევა

GREIS

www.javad.com

30

RECEIVER INPUT LANGUAGE ბრძანებები
2.3 ბრძანებები
ამ განყოფილებაში ჩვენ აღვწერთ GREIS-ში განსაზღვრულ ყველა ბრძანებას. ყველა ბრძანების სინტაქსისა და სემანტიკის სპეციფიკაციებს ახლავს განმარტებითი მაგamples. არგუმენტებად გამოყენებული ობიექტების დეტალური აღწერისთვის მაგamples, გთხოვთ, იხილეთ თავი 4 გვერდი 181.

GREIS

www.javad.com

31

2.3.1 კომპლექტი

RECEIVER INPUT LANGUAGE ბრძანებების ნაკრები

სახელი
დააყენეთ ობიექტის კომპლექტი მნიშვნელობა.
სინოფსისი
ფორმატი: კომპლექტი, ობიექტი, მნიშვნელობა პარამეტრები: არცერთი
არგუმენტები
ობიექტი სამიზნე ობიექტის იდენტიფიკატორი. თუ ობიექტი არ იწყება "/-ით", მაშინ "/par/" პრეფიქსი ავტომატურად ჩასმულია ობიექტის წინ ბრძანების შესრულებამდე.
დააფასეთ მნიშვნელობა, რომელიც უნდა მიენიჭოს სამიზნე ობიექტს. დაშვებული მნიშვნელობების დიაპაზონი, ისევე როგორც დავალების სემანტიკა, დამოკიდებულია ობიექტის ტიპზე და მითითებულია ამ სახელმძღვანელოში შემდგომში ყველა მხარდაჭერილი ობიექტისთვის.
ოფციები
არცერთი.
აღწერა
ეს ბრძანება ანიჭებს მნიშვნელობას ობიექტს. არანაირი პასუხი არ არის გენერირებული, თუ არ არის შეცდომა ან პასუხი არ არის იძულებითი განცხადების იდენტიფიკატორის მიერ.
Examples
Example: დააყენეთ სერიული პორტის C ბაუდის სიხშირე 115200-ზე. რომელიმე:
ნაკრები,/par/dev/ser/c/rate,115200 კომპლექტი,dev/ser/c/rate,115200
Example: დააყენეთ A სერიული პორტის ბაუდის სიხშირე 9600-ზე და აიძულეთ პასუხი:
%%set,dev/ser/a/rate,9600 RE002%%

GREIS

www.javad.com

32

2.3.2 ბეჭდვა

RECEIVER INPUT LANGUAGE ბრძანებები ბეჭდვა

სახელი
ობიექტის ბეჭდვის მნიშვნელობის დაბეჭდვა.

სინოფსისი
ფორმატი: ბეჭდვა, ობიექტი პარამეტრები: {names}

არგუმენტები
ობიექტი გამოსატანი ობიექტის ობიექტის იდენტიფიკატორი. თუ ობიექტი არ იწყება "/-ით", მაშინ "/par/" პრეფიქსი ავტომატურად ჩასმულია ობიექტის წინ ბრძანების შესრულებამდე.

ოფციები

ცხრილი 2-2. ბეჭდვის პარამეტრების შეჯამება

სახელის ტიპი

ღირებულებები

ასახელებს ლოგიკურ ჩართულს, გამორთვას

ნაგულისხმევი
გამორთულია

ასახელებს თუ გამორთულია, გამოაქვს მხოლოდ ობიექტის მნიშვნელობები. როდესაც ჩართულია, გამოიტანეთ ობიექტების სახელები ობიექტების მნიშვნელობების გარდა ფორმატში NAME=VALUE.
აღწერა
ეს ბრძანება ბეჭდავს ობიექტის მნიშვნელობას, სურვილისამებრ მნიშვნელობის პრეფიქსით შესაბამისი ობიექტის სახელით. პასუხი ყოველთვის გენერირებულია და ერთზე მეტი [RE] შეტყობინება შეიძლება გენერირებული იყოს ერთი ბეჭდვის ბრძანების საპასუხოდ.
სიის ტიპის ობიექტის მნიშვნელობა იბეჭდება, როგორც მნიშვნელობების სია სიის ყველა ობიექტისთვის. ეს გამოიყენება რეკურსიულად მანამ, სანამ ფოთლოვანი ობიექტები არ მიიღწევა, ასე რომ, უფოთლო ტიპის ობიექტის ბეჭდვა ეფექტურად გამოაქვს მთელი ქვეხე, მითითებული ობიექტიდან დაწყებული. სიების დაბეჭდვის შემთხვევაში შეიძლება შეიქმნას მრავალი [RE] შეტყობინება. თუმცა, გამომავალი გაყოფა შეიძლება მოხდეს მხოლოდ სიის გამყოფი სიმბოლოების შემდეგ.

GREIS

www.javad.com

33

RECEIVER INPUT LANGUAGE ბრძანებები ბეჭდვა
Examples
Example: შიდა მიმღების დროის ბადის მიმდინარე პერიოდის ამობეჭდვა. რომელიმე:
ბეჭდვა,/პარ/ნედლი/curmsint RE004 100 ბეჭდვა,ნედლი/curmsint RE004 100
Example: ამობეჭდეთ შიდა მიმღების დროის ბადის მიმდინარე პერიოდი ობიექტის სახელთან ერთად. რომელიმე:
print,/par/raw/curmsint:on RE015/par/raw/curmsint=100 print,raw/curmsint:on RE015/par/raw/curmsint=100
Example: ბეჭდვის მიმღების ვერსიის ინფორმაცია:
print,rcv/ver RE028{“2.5 Sep,13,2006 p2″,0,71,MGGDT_5,none, RE00D {none,none}}
Example: ამობეჭდეთ მიმღების ვერსიის ინფორმაცია შესაბამის სახელებთან ერთად:
print,rcv/ver:on RE043/par/rcv/ver={main=”2.5 Sep,13,2006 p2”,boot=0,hw=71,board=MGGDT_5, RE00C მოდემი=არცერთი, RE017 pow={fw=none,hw=none}}
Example: დაბეჭდეთ ყველა შეტყობინება, რომელიც ჩართულია გამოსასვლელად B სერიულ პორტში მათი დაგეგმვის პარამეტრებთან ერთად:
print,out/dev/ser/b:on RE02D/par/out/dev/ser/b={jps/RT={1.00,0.00,0,0×0}, RE01A jps/SI={1.00,0.00,0,0×0}, RE01A jps/rc={1.00,0.00,0,0 jps/ET={0×01}, RE1.00,0.00,0,0D nmea/GGA={0×01}}

GREIS

www.javad.com

34

2.3.3 სია

RECEIVER INPUT LANGUAGE ბრძანებების სია

სახელი
ჩამოთვალეთ ობიექტის შინაარსი.
სინოფსისი
ფორმატი: სია[,ობიექტი] ოფციები: არცერთი
არგუმენტები
ობიექტი გამოსატანი ობიექტის ობიექტის იდენტიფიკატორი. თუ ობიექტი გამოტოვებულია, ვარაუდობენ /log. თუ ობიექტი არ იწყება "/-ით", მაშინ "/log/" პრეფიქსი ავტომატურად ჩასმულია ობიექტის წინ ბრძანების შესრულებამდე.
ოფციები
არცერთი.
აღწერა
ეს ბრძანება გამოსცემს ობიექტის ყველა წევრის სახელს. პასუხი ყოველთვის გენერირებულია და ერთზე მეტი [RE] შეტყობინება შეიძლება გენერირებული იყოს ერთი სიის ბრძანების საპასუხოდ. თუ მითითებული ობიექტი არ არის ტიპის სიის, ცარიელი [RE] შეტყობინება გენერირებულია. თუ მითითებული ობიექტი არის სია, იბეჭდება სიაში ყველა ობიექტის სახელების სია. ეს გამოიყენება რეკურსიულად, სანამ არ მიიღწევა ფოთლოვანი ობიექტები, ასე რომ, უფოთლო ტიპის ობიექტის ჩამოთვლა ეფექტურად გამოაქვს მთელი ქვეხე, მითითებული ობიექტიდან დაწყებული. სიების დაბეჭდვის შემთხვევაში შეიძლება შეიქმნას მრავალი [RE] შეტყობინება. თუმცა, გამომავალი გაყოფა შეიძლება მოხდეს მხოლოდ სიის გამყოფი სიმბოლოების შემდეგ.
Examples
Example: ცარიელი პასუხი არასიტის ობიექტის ჩამონათვალზე:
სია,/par/rcv/ver/main RE000
Example: შეცდომის პასუხი არარსებული ობიექტის ჩამონათვალზე:
სია,/does_not_exist ER018{2,, არასწორი 1 პარამეტრი}

GREIS

www.javad.com

35

RECEIVER INPUT LANGUAGE ბრძანებების სია
Example: მიიღეთ არსებული ჟურნალის სიაfileს. რომელიმეს
სია,/ლოგის სია
გამოიმუშავებს იგივე გამომავალს, მაგ.:
RE013{log1127a,log1127b}
Example: ჩამოთვალეთ მიმღების მიერ მხარდაჭერილი ყველა სტანდარტული GREIS შეტყობინება:
list,/msg/jps RE03D{JP,MF,PM,EV,XA,XB,ZA,ZB,YA,YB,RT,RD,ST,LT,BP,TO,DO,OO,UO,GT, RE040 NT,GO,NO,TT,PT,SI,NN,EL,AZ,SS,FC,RC,rc,PC,pc,CP,cp,DC,CC,cc,EC, RE040 CE,TC,R1,P1,1R,1P,r1,p1,1r,1p,D1,C1,c1,E1,1E,F1,R2,P2,2R,2P,r2, RE040 p2,2r,2p,D2,C2,c2,E2,2E,F2,ID,PV,PO,PG,VE,VG,DP,SG,BI,SE,SM,PS, RE040 GE,NE,GA,NA,WE,WA,WO,GS,NS,rE,rM,rV,rT,TM,MP,TR,MS,DL,TX,SP,SV, RE031 RP,RK,BL,AP,AB,re,ha,GD,LD,RM,RS,IO,NP,LH,EE,ET}
Example: ჩამოთვალეთ ყველა შეტყობინება ნაგულისხმევი შეტყობინებების ნაკრებიდან:
სია,/msg/def RE040{jps/JP,jps/MF,jps/PM,jps/EV,jps/XA,jps/XB,jps/RT,jps/RD,jps/SI, RE040 jps/NN,jps/EL,jps/FC,jps/RC,jps/ECjps/CP,JPS/DCjps/ RE1 jps/040P,jps/1R,jps/2P,jps/E2,jps/D1,jps/E2,jps/SS,jps/SE,jps/PV, RE2 jps/ST,jps/DP,jps/TO,jps/DO,jps/UO,jps/IO,jps/PV jps/NA,jps/WE,jps/WA,jps/WO}

GREIS

www.javad.com

36

GREIS

2.3.4 em & out

RECEIVER INPUT LANGUAGE ბრძანებებს em & out

სახელი
em, out ჩართეთ შეტყობინებების პერიოდული გამომავალი.

სინოფსისი
ფორმატი: ფორმატი: პარამეტრები:

em,[target],messages out,[target],messages {პერიოდი, ფაზა, რაოდენობა, დროშები}

არგუმენტები
სამიზნე ნებისმიერი გამომავალი ნაკადი ან შეტყობინებების ნაკრები. თუ არ არის მითითებული სამიზნე, ჩაითვლება მიმდინარე ტერმინალი, /cur/term.
აგზავნის შეტყობინებების სიას (ან მიმდებარე ბრეკეტებით ან მის გარეშე) შეტყობინებების სახელებისა და/ან შეტყობინებების ნაკრების სახელების ჩართვისთვის. თუ მითითებული სახელებიდან ზოგიერთი არ იწყება "/-ით", მაშინ "/msg/" პრეფიქსი ავტომატურად ჩასმულია ამ სახელების წინ ბრძანების შესრულებამდე.

ოფციები

ცხრილი 2-3. em და out პარამეტრების შეჯამება

სახელის ტიპი

ღირებულებები

ნაგულისხმევი

პერიოდის მცურავი [0…86400)

ფაზის ათწილადი [0…86400)

დათვალეთ მთელი რიცხვი [-256…32767] 0 em 1 out-ისთვის

დროშები მთელი რიცხვი [0…0xFFFF] –

პერიოდი, ფაზა, რაოდენობა, დროშების მონიშვნა შეტყობინების დაგეგმვის პარამეტრები.
აღწერა
ეს ბრძანებები იძლევა განსაზღვრული შეტყობინებების პერიოდულ გამოტანას სამიზნეში, რაც აიძულებს შეტყობინებების დაგეგმვის პარამეტრებს იყოს პარამეტრებით განსაზღვრული. არანაირი პასუხი არ არის გენერირებული, თუ არ არის შეცდომა, ან პასუხი არ არის იძულებითი განცხადების იდენტიფიკატორის მიერ.
em და out ბრძანებები იგივეა, გარდა იმისა, რომ count პარამეტრის ნაგულისხმევი მნიშვნელობა დაყენებულია 0-ზე em-ისთვის და 1 out-ისთვის. out ბრძანება არის მოთხოვნის უფრო მოსახერხებელი გზა

www.javad.com

37

RECEIVER INPUT LANGUAGE ბრძანებებს em & out

შენიშვნა:

შეტყობინება(ებ)ის ერთჯერადი გამომავალი. ამ აღწერაში მხოლოდ მათზე ვისაუბრებთ, თუმცა ყველაფერი გარედანაც ვრცელდება.
ქვემოთ მოცემული აღწერა მოელის, რომ მკითხველი იცნობს მასალას სექციაში „პერიოდული შედეგი“ 22 გვერდზე.
ყველა გამომავალი ნაკადისთვის არის შეტყობინებების1,2 შესაბამისი გამომავალი სია, რომლებიც ამჟამად ჩართულია მოცემულ ნაკადში გამოსატანად. როდესაც em ბრძანებისთვის არგუმენტად გადაცემული შეტყობინება ამჟამად არ არის გამომავალ სიაში, em ბრძანება ამატებს მითითებულ შეტყობინებას სიის ბოლოს. როდესაც em ბრძანებაზე გადაცემული შეტყობინება უკვე გამომავალი სიაშია, em ბრძანება უბრალოდ ცვლის ამ შეტყობინების დაგეგმვის პარამეტრებს და არ ცვლის შეტყობინების პოზიციას სიაში.
ვინაიდან em ბრძანება აერთიანებს მითითებულ შეტყობინებებს გამომავალ სიაში, ხშირად კარგი იდეაა გამოიყენოთ dm ბრძანება მოცემული ნაკადის გამომავალი სიის გასასუფთავებლად em ბრძანებების გაცემამდე.
em ბრძანება ამუშავებს შეტყობინებების ჩამონათვალს თითო შეტყობინებას, მარცხნიდან მარჯვნივ და შეტყობინებების დაყენების პირველი გზავნილიდან შეტყობინებების ნაკრების ბოლო შეტყობინებამდე. თუ ის შეხვდება სახელს, რომელიც არ შეესაბამება რომელიმე მხარდაჭერილი მიმღების შეტყობინებას ან შეტყობინებების კომპლექტს, ახსოვს, რომ იყო შეცდომა შესრულების დროს, მაგრამ არ წყვეტს შეტყობინებების სიის დამუშავებას. ამ გზით შეტყობინებების სიიდან ყველა შეტყობინება, რომელიც შეიძლება ჩართული იყოს, ჩართული იქნება და მხოლოდ ერთი შეცდომის შესახებ იქნება მოხსენებული, როდესაც ერთი ან მეტი მითითებული შეტყობინება ვერ იქნება ჩართული.
როდესაც em ბრძანება ამუშავებს ხელთ არსებულ შეტყობინებას, ოპერაციული შეტყობინების დაგეგმვის საბოლოო პარამეტრები შეტყობინებების შესაბამის გამომავალ სიაში გამოითვლება დაგეგმვის პარამეტრების შესახებ ინფორმაციის მრავალი წყაროს გათვალისწინებით, კერძოდ:
1. em ბრძანების ოფციებში ცალსახად მითითებული მნიშვნელობები.
2. em ბრძანების პარამეტრების ნაგულისხმევი მნიშვნელობები.
3. მოცემული შეტყობინებისთვის მითითებული პარამეტრების დაგეგმვა, როგორც შესაბამისი შეტყობინებების ნაკრების ნაწილი. ეს მხედველობაში მიიღება მხოლოდ შეტყობინების ჩართვისას შეტყობინებების ნაკრების მითითებით და არა ინდივიდუალური შეტყობინების.
4. შეტყობინების მიმდინარე დაგეგმვის პარამეტრები შესაბამის გამომავალ სიაში (ასეთის არსებობის შემთხვევაში).
5. ნაგულისხმევი დაგეგმვის პარამეტრები მითითებულია მოცემული შეტყობინებისთვის, როგორც შესაბამისი შეტყობინების ჯგუფის ნაწილი.
პარამეტრების ზემოაღნიშნული წყაროები ჩამოთვლილია მათი პრიორიტეტის თანმიმდევრობით, პირველს აქვს უმაღლესი პრიორიტეტი და გამოიყენება ინდივიდუალურად ოთხივე განრიგის პარამეტრზე. ამიტომ, მნიშვნელობები (1)-დან აჭარბებს მნიშვნელობებს (2), შედეგად მიღებული მნიშვნელობა

GREIS

1. NAME ნაკადისთვის შესაბამის გამომავალ სიას ეწოდება /par/out/NAME 2. მიმდინარე firmware-ს აქვს თვითნებური ლიმიტი შეტყობინებების მაქსიმალური რაოდენობის გამომავალ სიაში დაყენებული 49-ზე.

www.javad.com

38

RECEIVER INPUT LANGUAGE ბრძანებებს em & out

ცვლის მნიშვნელობას (3) და ა.შ. თუმცა, თუ ზოგიერთი F_FIX_PERIOD, F_FIX_PHASE, F_FIX_COUNT, ან F_FIX_FLAGS ბიტი დაყენებულია შემდეგი წყაროს დროშების ველში, ამ შემდეგი წყაროს შესაბამისი ველები არ იქნება გადაფარული.

Examples

Example: ჩართეთ NMEA GGA შეტყობინების ერთჯერადი გამომავალი მიმდინარე ტერმინალზე:

em,,nmea/GGA:{,,1}

იგივე, რაც ზემოთ, მაგრამ მათი ნაცვლად გამოიყენება:

out,,nmea/GGA
Example: ჩართეთ შეტყობინებების ნაგულისხმევი ნაკრების გამომავალი მიმდინარე ჟურნალშიfile A ნაგულისხმევი გამომავალი პარამეტრების გამოყენებით. რომელიმე:

Exampლე:

em,/cur/file/a,/msg/def em,/cur/file/ა, დეფ
ჩართეთ შეტყობინებების ნაგულისხმევი ნაკრების გამომავალი მიმდინარე ჟურნალშიfile A ყოველ 10 წამში სხვა გამომავალი პარამეტრებისთვის გამოყენებული იქნება მათი ნაგულისხმევი მნიშვნელობები:

em,/cur/file/a, Def:10
Example: ჩართეთ შეტყობინებების ნაგულისხმევი ნაკრების გამომავალი მიმდინარე ტერმინალში ნაგულისხმევი გამომავალი პარამეტრების გამოყენებით. რომელიმე:

Exampლე:

em,/cur/term,/msg/def em,,/msg/def em,,def
ჩართეთ GREIS შეტყობინებების [~~](RT) და [RD] გამომავალი მიმდინარე ტერმინალზე. რომელიმე:

Exampლე:

em,,/msg/jps/RT,/msg/jps/RD em,,jps/{RT,RD}
ჩართეთ NMEA შეტყობინებების GGA და ZDA გამომავალი მიმდინარე ტერმინალზე ყოველ 20 წამში:

Exampლე:

em,,nmea/{GGA,ZDA}:20
ჩართეთ შეტყობინებების [SI], [EL] და [AZ] გამომავალი A სერიულ პორტში. დააყენეთ დაგეგმვის პარამეტრები [SI]-სთვის ისე, რომ ინტერვალი ნებისმიერ ორ მომდევნო [SI] შეტყობინებას შორის იყოს 10 წამის ტოლი, თუ ისინი ემთხვევა, და 1 წამი სხვა შემთხვევაში; გამოიტანეთ მხოლოდ პირველი ორმოცდაათი [SI] შეტყობინება. გარდა ამისა, მიმღებმა დააყენა გამომავალი ინტერვალი 2 წამზე [EL] და [AZ] შეტყობინებებისთვის:

em,/dev/ser/a,jps/{SI:{1,10,50,0×2},EL,AZ}:2

GREIS

www.javad.com

39

RECEIVER INPUT LANGUAGE ბრძანებებს em & out
Example: ჩართეთ RTCM 2.x შეტყობინებების ტიპები 1 და 31 სერიულ პორტში B გამომავალი ინტერვალით 3 წამი, და RTCM 2.x შეტყობინებების ტიპები 18, 19, 3, 22 C პორტში გამომავალი ინტერვალით 1 წამი 18 და ტიპებისთვის. 19; და 10 წამი 3 და 22 ტიპისთვის:
em,/dev/ser/b,rtcm/{1,31}:3; em,/dev/ser/c,rtcm/{18:1,19:1,22,3}:10
Example: შეცვალეთ შეტყობინებების ნაგულისხმევი ნაკრები, რომ შეიცავდეს მხოლოდ NMEA ZDA და GGA:
dm,/msg/def em,/msg/def,/msg/nmea/{ZDA,GGA}

GREIS

www.javad.com

40

2.3.5 დმ

RECEIVER INPUT LANGUAGE ბრძანებები dm

სახელი
dm გამორთეთ შეტყობინებების პერიოდული გამომავალი.
სინოფსისი
ფორმატი: dm[,[სამიზნე][, შეტყობინებები]] პარამეტრები: არცერთი
არგუმენტები
სამიზნე ნებისმიერი გამომავალი ნაკადი ან შეტყობინებების ნაკრები. თუ არ არის მითითებული სამიზნე, ჩაითვლება მიმდინარე ტერმინალი, /cur/term. თუ მითითებული სახელებიდან ზოგიერთი არ იწყება "/-ით", მაშინ "/msg/" პრეფიქსი ავტომატურად ჩასმულია ამ სახელების წინ ბრძანების შესრულებამდე.
აგზავნის შეტყობინებების სიას, რომლებიც უნდა გამორთოთ, ან მის გარეშე, ან მის გარეშე, ან ნებისმიერი შეტყობინებების ჯგუფის ან შეტყობინებების ნაკრები. თუ შეტყობინებები არ არის მითითებული, ყველა პერიოდული გამომავალი სამიზნე გამორთულია.
ოფციები
არცერთი.
აღწერა
ეს ბრძანება გამორთავს მითითებული შეტყობინებების პერიოდულ გამოტანას ობიექტის სამიზნეში. არანაირი პასუხი არ არის გენერირებული, თუ არ არის შეცდომა, ან პასუხი არ არის იძულებითი განცხადების იდენტიფიკატორის მიერ.
თუ შეტყობინებები არ არის მითითებული, ყველა პერიოდული გამომავალი სამიზნე გამორთულია. თუ სამიზნე არის მიმდინარე ჟურნალი-file და შეტყობინებები არ არის მითითებული, ყველა გამომავალი არის file ინვალიდია, file დახურულია და შესაბამისი მიმდინარე ჟურნალი-file დაყენებულია არცერთზე.
თუ შეტყობინებების სიაში მითითებულია შეტყობინება, რომელიც ამჟამად არ არის ჩართული მოცემულ სამიზნეზე გამოსატანად, dm ბრძანებით არ წარმოიქმნება შესაბამისი შეცდომა. თუმცა ეს მდგომარეობა არ გამორთავს სხვა შესაძლო შეცდომების შესახებ შეტყობინებას.
Examples
Example: გამორთეთ ყველა შეტყობინება, რომელიც გამოდის მიმდინარე ჟურნალშიfile A და დახურეთ file:
dm,/cur/file/a

GREIS

www.javad.com

41

RECEIVER INPUT LANGUAGE ბრძანებები dm
Example: გამორთეთ ყველა პერიოდული გამომავალი მიმდინარე ტერმინალში. რომელიმე:
dm,/cur/term dm
Example: გამორთეთ GREIS შეტყობინების [~~](RT) გამომავალი B სერიულ პორტში:
dm,/dev/ser/b,/msg/jps/RT
Example: გამორთეთ GREIS შეტყობინების [DO] გამომავალი მიმდინარე ჟურნალშიfile B:
dm,/cur/file/b,/msg/jps/DO
Example: წაშალეთ GREIS შეტყობინება [PM] შეტყობინებების ნაგულისხმევი ნაკრებიდან:
dm,/msg/def,/msg/jps/PM
Example: გამორთეთ ყველა NMEA შეტყობინების გამომავალი მიმდინარე ტერმინალში:
dm,/cur/term,/msg/nmea
Example: გამორთეთ NMEA შეტყობინებების GGA და ZDA გამომავალი მიმდინარე ტერმინალში. რომელიმე:
dm,/cur/term,/msg/nmea/GGA,/msg/nmea/ZDA dm,,/msg/nmea/GGA,/msg/nmea/ZDA dm,,nmea/GGA,nmea/ZDA dm,,nmea/{GGA,ZDA}

GREIS

www.javad.com

42

2.3.6 ინტი

RECEIVER INPUT LANGUAGE ბრძანებები init

სახელი
ობიექტების ინიციალიზაციის დაწყება.

სინოფსისი
ფორმატი: init,object[/] პარამეტრები: არცერთი

არგუმენტები
ინიციალიზაციის ობიექტის ობიექტი. / თუ არსებობს და ობიექტი არის სიის ტიპის, სანაცვლოდ მოაწყეთ ყველა შემავალი ობიექტი
თავად ობიექტის.

ოფციები
არცერთი.

შენიშვნა: შენიშვნა:

აღწერა
ეს ბრძანება ახდენს მითითებულ ობიექტებს ინიციალიზაციას. არანაირი პასუხი არ არის გენერირებული, თუ არ არის შეცდომა, ან პასუხი არ არის იძულებითი განცხადების იდენტიფიკატორის მიერ.
ინიციალიზაციის ზუსტი სემანტიკა დამოკიდებულია ინიციალიზებულ ობიექტზე, მაგრამ ზოგადად შეიძლება ჩაითვალოს ობიექტის "ნაგულისხმევ" ან "სუფთა" მდგომარეობაში გადაქცევად. მაგample, პარამეტრებისთვის ეს ნიშნავს მათი მნიშვნელობების შესაბამის ნაგულისხმევად დაყენებას fileშესანახი მოწყობილობა ეს ნიშნავს ძირეული საშუალების ხელახლა ფორმატირებას და ა.შ.
ზოგიერთი ობიექტის ინიციალიზაცია გამოიწვევს მიმღების გადატვირთვას. ეს ამჟამად ეხება მიმღების არასტაბილური მეხსიერების ინიციალიზაციას (/dev/nvm/a).
მიუხედავად იმისა, რომ ეს შეიძლება შეიცვალოს მომავალში, ამ ზოგადი ბრძანების ამჟამინდელი განხორციელება მიმღებებში საკმაოდ შეზღუდულია. ფაქტობრივად, მხოლოდ ობიექტების ინიციალიზაცია, რომლებიც გვხვდება ყოფილიamples ქვემოთ ამჟამად არის მხარდაჭერილი.

Examples
Example: გაასუფთავეთ NVRAM და გადატვირთეთ მიმღები. NVRAM-ში შენახული ყველა მონაცემი (ალმანახები, ეფემერები და ა.შ.) დაიკარგება, გადატვირთვის შემდეგ ყველა პარამეტრი დაყენდება ნაგულისხმევ მნიშვნელობებზე:
init,/dev/nvm/a
Example: წმინდა ეფემერები:
init,/eph/

GREIS

www.javad.com

43

RECEIVER INPUT LANGUAGE ბრძანებები init
Example: დააყენეთ ყველა მიმღების პარამეტრი ნაგულისხმევ მნიშვნელობებზე:
საწყისი,/პარ/
Example: დააყენეთ ყველა WLAN პარამეტრი ნაგულისხმევ მნიშვნელობებზე. ცვლილებების ძალაში შესვლისთვის საჭიროა განყოფილების გადატვირთვა:
init,/par/net/wlan/
Example: ინიციალიზაცია file სისტემა (ანუ, ფუძემდებლური საშუალების რეფორმირება). ყველა fileმიმღებში შენახული s დაიკარგება:
init,/dev/blk/a
Example: შეტყობინებების ყველა ნაკრების ინიციალიზაცია ნაგულისხმევ მნიშვნელობებზე:
init,/msg/

GREIS

www.javad.com

44

2.3.7 შექმნა

RECEIVER INPUT LANGUAGE ბრძანებების შექმნა

სახელი
შექმნა ახალი ობიექტის შექმნა.

სინოფსისი
ფორმატი: შექმნა[,ობიექტი] პარამეტრები: {log}

არგუმენტები
ობიექტის ობიექტის იდენტიფიკატორი ობიექტის შესაქმნელად. თუ ობიექტი არ იწყება "/-ით", მაშინ "/log/" პრეფიქსი ავტომატურად ჩასმულია ობიექტის წინ ბრძანების შესრულებამდე. თუ გამოტოვებულია, მაშინ შექმნა ა file არის ვარაუდი და უნიკალური file სახელი ავტომატურად გენერირებულია.

ოფციები

ცხრილი 2-4. პარამეტრების შეჯამების შექმნა

სახელის ტიპის მნიშვნელობები
ჟურნალის სტრიქონი a,b,…

ნაგულისხმევი
a

ჩაწერეთ ჟურნალი -file შექმნილი file არის დანიშნული. ჟურნალი -file არჩეულია /cur/log/X, სადაც X არის პარამეტრი1-ის მნიშვნელობა.
აღწერა
ეს ბრძანება ქმნის ახალ ობიექტს. არანაირი პასუხი არ არის გენერირებული, თუ არ არის შეცდომა, ან პასუხი არ არის იძულებითი განცხადების იდენტიფიკატორის მიერ.
ხეში მდებარეობაც და შექმნილი ობიექტის ტიპიც განისაზღვრება ობიექტის არგუმენტით.
ორი სახის ობიექტი შეიძლება შეიქმნას:
1. Fileს. ახალი file იქმნება ყოველთვის, როდესაც ობიექტის იდენტიფიკატორი განსაზღვრავს ობიექტს /log ქვეხეში, ან როდესაც ობიექტის არგუმენტი გამოტოვებულია.
2. შეტყობინების სპეციფიკაციები. ახალი შეტყობინების სპეციფიკატორი იქმნება, როდესაც ობიექტის იდენტიფიკატორი განსაზღვრავს ობიექტს შეტყობინებების კომპლექტში (მაგ., /msg/def).

GREIS

1. მიმდინარე firmware მხარს უჭერს ერთ ან ორ ერთდროულ ჟურნალსfileეს დამოკიდებულია კონკრეტულ მიმღებზე.

www.javad.com

45

RECEIVER INPUT LANGUAGE ბრძანებების შექმნა
შექმნა Files
შექმნისას files, ობიექტის არგუმენტი ან გამოტოვებულია ან აქვს ფორმატი /log/NAME, სადაც NAME არის სახელი file უნდა შეიქმნას და /log/ არჩევითია. პირველ შემთხვევაში მიმღები ავტომატურად შეარჩევს უნიკალურ სახელს file. ამ უკანასკნელ შემთხვევაში მითითებული NAME უნდა იყოს 31 სიმბოლომდე სტრიქონი და არ უნდა შეიცავდეს არც ინტერვალებს და არც შემდეგ სიმბოლოებს: “,{}()@&”/”.
თუ file /log/NAME უკვე არსებობს, შექმნის ბრძანება ვერ იქნება და წარმოქმნის შეცდომის შეტყობინებას. შედეგად, არ არსებობს გზა ზოგიერთი არსებულის დაბლოკვის მიზნით files შექმნის ბრძანებით.
ახლის შემდეგ file წარმატებით შეიქმნა, იგი მინიჭებულია ერთ-ერთ მიმდინარე ჟურნალში-files დამოკიდებულია log_-ის მნიშვნელობაზეfile ვარიანტი. თუ შესაბამისი ჟურნალი-file უკვე სხვაზე მიუთითებს file როდესაც შექმნა შესრულებულია, ძველი ჟურნალიfile დაიხურება და გამომავალი გაგრძელდება ახალში file ყოველგვარი შეფერხების გარეშე.
შეტყობინებების სპეციფიკატორების შექმნა
შეტყობინებების ნაკრებში შეტყობინებების დამატებისას, ობიექტის არგუმენტს აქვს ფორმატი /msg/SET/GROUP/MSG, სადაც SET არის შეტყობინებების ნაკრების სახელი, სადაც უნდა შეიქმნას ახალი შეტყობინება, GROUP არის ჯგუფის სახელი, რომელსაც ეკუთვნის შეტყობინება. , და MSG არის თავად შეტყობინების სახელი (მაგ., /msg/def/nmea/GGA, ან /msg/jps/rtk/min/jps/ET).
შეტყობინების დაგეგმვის პარამეტრები კოპირდება შეტყობინებების ჯგუფში მოცემული შეტყობინებისთვის განსაზღვრულიდან. საჭიროების შემთხვევაში, გამოიყენეთ set ბრძანება დაგეგმვის პარამეტრების მოსარგებად.
Examples
შექმნა Files
Example: შექმენით ახალი file ავტომატურად გენერირებული სახელით და მივანიჭოთ იგი მიმდინარე ჟურნალსfile A (/cur/file/ა). რომელიმე:
შექმნა შექმნა,:ა
Example: შექმენით ახალი ჟურნალი-file სახელით "my_file“. რომელიმე:
შექმნა,/log/my_file:ა შექმნა, ჩემი_file
Example: შექმნა fileს "file1" და "file2”, და მიამაგრეთ ისინი /cur/file/a და /cur/file/ბ:
შექმნა,file1:ა; შექმნა,file2:ბ

GREIS

www.javad.com

46

RECEIVER INPUT LANGUAGE ბრძანებების შექმნა
შეტყობინებების სპეციფიკატორების შექმნა
Example: დაამატეთ /msg/jps/ET შეტყობინებები შეტყობინებების ნაგულისხმევ კომპლექტს:
შექმნა,/msg/def/jps/ET
Example: დაამატეთ NMEA GGA შეტყობინება შეტყობინებების ნაგულისხმევ კომპლექტს და აიძულეთ მისი პერიოდი და ფაზა იყოს ყოველთვის 10 და 5, შესაბამისად, არ აქვს მნიშვნელობა რა მნიშვნელობები იქნება მითითებული em ან out ბრძანებაში:
შექმნა,/msg/def/nmea/GGA ნაკრები,/msg/def/nmea/GGA,{10,5,,0×30}

GREIS

www.javad.com

47

2.3.8 ამოღება

RECEIVER INPUT LANGUAGE ბრძანებები წაშლილია

სახელი
ამოიღეთ ობიექტის ამოღება.
სინოფსისი
ფორმატი: remove,object[/] პარამეტრები: არცერთი
არგუმენტები
ამოსაღები ობიექტის ობიექტის ობიექტის იდენტიფიკატორი. თუ ობიექტი არ იწყება "/-ით", მაშინ "/log/" პრეფიქსი ავტომატურად ჩასმულია ობიექტის წინ ბრძანების შესრულებამდე.
/ თუ არსებობს და ობიექტი არის სიის ტიპის, წაშალეთ ყველა ობიექტის შიგთავსი თავად ობიექტის ნაცვლად.
ოფციები
არცერთი.
აღწერა
ეს ბრძანება შლის (შლის) არსებულ ობიექტს. არანაირი პასუხი არ არის გენერირებული, თუ არ არის შეცდომა, ან პასუხი არ არის იძულებითი განცხადების იდენტიფიკატორის მიერ. თუ ობიექტის მიერ მითითებული ობიექტი არ არის, ან თუ ობიექტის ამოღება შეუძლებელია, წარმოიქმნება შეცდომა. ორი სახის ობიექტი შეიძლება მოიხსნას:
1. Fileს. თუ file არის ერთ-ერთი მიმდინარე ჟურნალი-files, ბრძანება ვერ იქნება და შეცდომის შეტყობინება გენერირებული იქნება.
2. შეტყობინებების სპეციფიკატორები შეტყობინებების ნაკრებიდან.
Examples
Example: წაშალე ჟურნალი-file სახელწოდებით "NAME". რომელიმე:
წაშლა,/log/NAME წაშლა,NAME
Example: წაშალე ყველა ჟურნალი-files:
ამოღება,/log/

GREIS

www.javad.com

48

RECEIVER INPUT LANGUAGE ბრძანებები წაშლილია
Example: წაშალეთ GREIS სტანდარტული [GA] შეტყობინება შეტყობინებების ნაგულისხმევი ნაკრებიდან:
წაშლა,/msg/def/jps/GA
Example: წაშალეთ ყველა შეტყობინება შეტყობინებების ნაგულისხმევი ნაკრებიდან:
წაშლა,/msg/def/
Example: წაშალეთ ყველა შეტყობინება სტანდარტული GREIS შეტყობინებების მინიმალური ნაკრებიდან, რომელიც შესაფერისია RTK-სთვის:
წაშლა,/msg/rtk/jps/წთ/

GREIS

www.javad.com

49

2.3.9 ღონისძიება

RECEIVER INPUT LANGUAGE ბრძანებების ღონისძიება

სახელი
ღონისძიება ქმნის თავისუფალი ფორმის მოვლენას.

სინოფსისი
ფორმატი: მოვლენა, სტრიქონი პარამეტრები: არცერთი

არგუმენტები
სტრიქონი თვითნებური1 სტრიქონის, რომელიც მოიცავს 63 სიმბოლოს.

ოფციები
არცერთი.

შენიშვნა: მაგampლე:

აღწერა
ეს ბრძანება ქმნის თავისუფალი ფორმის მოვლენას. არანაირი პასუხი არ არის გენერირებული, თუ არ არის შეცდომა, ან პასუხი არ არის იძულებითი განცხადების იდენტიფიკატორის მიერ.
მოცემული სტრიქონი მოვლენის ბრძანების მიღების დროსთან ერთად ინახება მიმღებში სპეციალურ მოვლენის ბუფერში2. ამ ბუფერის შიგთავსი გამოდის ყველა გამომავალ ნაკადში, სადაც ჩართულია სტანდარტული GREIS შეტყობინება [==](EV) (აღწერილია 131 გვერდზე).
თავისუფალი ფორმის ღონისძიების მექანიზმი განკუთვნილია საკონტროლო პროგრამებისთვის, რათა გადააგზავნონ თვითნებური ტექსტური ინფორმაცია დამუშავების შემდგომ აპლიკაციებში ამ ინფორმაციის ინტერპრეტაციის გარეშე მიმღებში. მიმღების პროგრამული უზრუნველყოფის ბირთვი არასოდეს წარმოქმნის თავისუფალ მოვლენებს თავისთავად და არც რაიმე სახის ინტერპრეტაციას ახდენს მოვლენის ბრძანებების მეშვეობით გაგზავნილ ინფორმაციას.
ყველა სტრიქონი, რომელიც იწყება ხაზგასმული სიმბოლოთი (ASCII 0x5F) დაცულია JAVAD GNSS აპლიკაციებისთვის. ფრთხილად უნდა იყოთ, რომ ასეთი სტრიქონები არ გამოიყენებოდეს მოვლენის ბრძანებებთან, თუ თქვენ ვერ შეძლებთ თქვენი დავალების სხვაგვარად შესრულებას ან არ აპირებთ თანამშრომლობას ზოგიერთ JAVAD GNSS პროგრამულ უზრუნველყოფასთან. ამ უკანასკნელ შემთხვევაში, გთხოვთ, იხილოთ JAVAD GNSS აპლიკაციებისთვის დაცული თავისუფალი ფორმის მოვლენების დეტალური აღწერა სახელმძღვანელოში „Frame Format for Free-Form Events“, ხელმისაწვდომი http://www.javad.com-დან.
შექმენით თავისუფალი ფორმის მოვლენა, რომელიც შეიცავს სტრიქონს „Info1“:
ღონისძიება, ინფო1

GREIS

1. შეგახსენებთ, რომ თუ სტრიქონი შეიცავს რომელიმე სიმბოლოს, რომელიც რეზერვირებულია მიმღების შეყვანის ენისთვის, თქვენ უნდა ჩართოთ ეს სტრიქონი ორმაგ ბრჭყალებში.
2. მიმდინარე firmware უზრუნველყოფს საკმარისად დიდ ბუფერს თექვსმეტი 64 ბაიტიანი თავისუფალი ფორმის მოვლენის შესანახად.

www.javad.com

50

RECEIVER INPUT LANGUAGE ბრძანებების ღონისძიება
Example: შექმენით თავისუფალი ფორმის ღონისძიება, რომელიც შეიცავს დაჯავშნილ სიმბოლოებს:
ღონისძიება,”EVENT{DATA,SENT}”
Example: შექმენით უფასო ფორმა ღონისძიება, რომელიც დაცულია JAVAD GNSS აპლიკაციის პროგრამული უზრუნველყოფისთვის (ეს მოვლენა აცნობებს შემდგომ დამუშავების აპლიკაციას დინამიკის ცვლილების შესახებ):
ღონისძიება,”_DYN=STATIC”
Example: შექმენით თავისუფალი ფორმა ცარიელი სტრიქონით:
ღონისძიება,”
Example: შექმენით რამდენიმე თავისუფალი ფორმის მოვლენა და დაიბრუნეთ [==](EV) შეტყობინებები ([==] შეტყობინებების შიგთავსში, დაუბეჭდავი ბაიტები ჩანაცვლებულია წერტილებით ყოფილიampლე):
em,,jps/EV %accepted% event,”some string” RE00A%accepted% ==011…..some_string. %1% მოვლენა,1; %2% მოვლენა,2 RE003%1% RE003%2% ==007…..1. ==007…..2. dm,,jps/EV

GREIS

www.javad.com

51

2.3.10 მიიღეთ

RECEIVER INPUT LANGUAGE ბრძანებები მიიღება

სახელი
დაიწყეთ მოპოვება file შინაარსი DTP1-ის გამოყენებით.

სინოფსისი
ფორმატი: get,object[,offset] პარამეტრები: {timeout,block_size,period,phase,ttemts}

არგუმენტები
ობიექტის ობიექტის იდენტიფიკატორი file მოსაბრუნებელი. თუ ობიექტი არ იწყება "/-ით", მაშინ "/log/" პრეფიქსი ავტომატურად ჩასმულია ობიექტის წინ ბრძანების შესრულებამდე. თუ ობიექტი არ არსებობს ან მისი ამოღება შეუძლებელია, შეცდომის შეტყობინება გენერირებულია.
ოფსეტური ოფსეტური ბაიტებში დასაწყისიდან file რომელზედაც უნდა დაიწყოს მოძიება. თუ გამოტოვებულია, 0 ითვლება.

ოფციები

ცხრილი 2-5. მიიღეთ პარამეტრების შეჯამება

სახელი

ტიპი

ღირებულებები

ტაიმაუტი

მთელი რიცხვი [0…86400], წამი

block_size მთელი რიცხვი [1…163841]

პერიოდი

ათწილადი [0…86400), წამი

ფაზა

ათწილადი [0…86400), წამი

მთელი რიცხვის მცდელობები [-257…100] 1. 2048 მიმღებებისთვის, რომლებსაც არ აქვთ TCP ან USB მხარდაჭერა.

ნაგულისხმევი
10 512 0 0 10

დროის ამოწურვა DTP-ისთვის. block_size DTP მონაცემთა ბლოკის ზომა. ფილტრაციის გამომავალი პერიოდის პერიოდი (იხ. ქვემოთ). გამომავალი ფაზის ფაზა ფილტრაციისთვის (იხ. ქვემოთ). ცდილობს განსხვავებულ მნიშვნელობას დიაპაზონის მიხედვით, შემდეგნაირად:

1. იხილეთ „მონაცემთა გადაცემის პროტოკოლი“ 580 გვერდზე.

GREIS

www.javad.com

52

RECEIVER INPUT LANGUAGE ბრძანებები მიიღება
[1…100] მცდელობების მაქსიმალური რაოდენობა DTP გადამცემს დასჭირდება ერთი ბლოკის გასაგზავნად. 1-ზე დაყენებისას, სპეციალური ნაკადის რეჟიმი გააქტიურებულია (იხ. ქვემოთ).
0-ის ნაცვლად DTP-ის დაწყების ნაცვლად, გამოიტანეთ ობიექტის ნედლეული შინაარსი. [-256…-1] DTP-ის გაშვების ნაცვლად, გამოიტანეთ შეფუთული ობიექტის შინაარსი
[>>] შეტყობინებები.
-257 DTP-ის დაწყების ნაცვლად, გამოიტანეთ [RE] შეტყობინებებში გახვეული ობიექტის შინაარსი.
აღწერა
ეს ბრძანება იწყებს a-ს მოძიებას file მასპინძელ კომპიუტერში მონაცემთა გადაცემის პროტოკოლის (DTP) ან ნედლი გამომავალი ფორმატის გამოყენებით. არანაირი პასუხი არ არის გენერირებული, თუ არ არის შეცდომა, ან პასუხი არ არის იძულებითი განცხადების იდენტიფიკატორის მიერ.
როდესაც DTP რეჟიმშია, მიღების ბრძანების შესრულების შემდეგ, DTP გადამცემი ჩართულია მიმღებზე და ელოდება DTP მიმღების გაშვებას ჰოსტზე. ამიტომ, ნებისმიერი მონაცემების რეალურად მოსაპოვებლად, საჭიროა DTP მიმღების დანერგვა ჰოსტზე.
არჩევითი ოფსეტური არგუმენტი საშუალებას აძლევს მასპინძელს განახორციელოს მხარდაჭერა შეწყვეტილი მონაცემთა გადაცემის განახლებისთვის. გაითვალისწინეთ, რომ დიდი ოფსეტის ძიებას შესაძლოა საკმაოდ დიდი დრო დასჭირდეს მიმღებში შესასრულებლად. ჰოსტის პროგრამულ უზრუნველყოფაში განახლების სწორად განსახორციელებლად, აიძულეთ მიმღების პასუხის მიღება ბრძანებაზე განაცხადის იდენტიფიკატორის გამოყენებით და დაელოდეთ მიმღების პასუხს, სანამ DTP-ს გაუშვით ჰოსტზე. ეს მეთოდი უპირატესობას ანიჭებსtagის ფაქტი, რომ მიმღები პასუხობს get ბრძანებას ძიების შესრულების შემდეგ.
როდესაც მცდელობის ოფცია დაყენებულია 1-ზე, DTP გადამცემი გადადის ე.წ. ნაკადის რეჟიმში. ამ რეჟიმში, DTP მიმღებისგან პირველი NACK-ის მიღების შემდეგ, DTP გადამცემი გადასცემს მონაცემთა ბლოკებს DTP მიმღებიდან ACK-ების მოლოდინის გარეშე და გადამცემი დაუყოვნებლივ შეწყვეტს მონაცემთა გადაცემას NACK-ის მიღების შემთხვევაში. ეს მიდგომა საშუალებას იძლევა მნიშვნელოვნად უფრო სწრაფად გადაიტანოს მონაცემები საიმედო კავშირებით, რომლებსაც აქვთ მაღალი შეყოვნება (როგორიცაა TCP) ან შედარებით მაღალი მიმართულების გადამრთველი (როგორიცაა USB). პროტოკოლის მიმღების ნაწილის სწორად დანერგვა არ საჭიროებს რაიმე განსაკუთრებულ ზრუნვას ამ მეთოდის მხარდასაჭერად.
როდესაც პერიოდის პარამეტრი არის არანულოვანი, გააქტიურებულია სპეციალური ფილტრაციის რეჟიმი. მაგample, ის საშუალებას გაძლევთ ჩამოტვირთოთ 1Hz მონაცემები ა file რომელიც დაიწერა 10Hz განახლების სიჩქარის გამოყენებით. კონკრეტულად, მიმღები მონაცემებს გაგზავნის მხოლოდ იმ ეპოქებისთვის, სადაც მიმღების დროის მოდული ერთი დღე (Tr) აკმაყოფილებს შემდეგ განტოლებას:
Tr {mod period} = ფაზა
ამის მისაღწევად, მიმღები აანალიზებს შიგთავსს file და ფილტრავს ზოგიერთ შეტყობინებას. გაითვალისწინეთ, რომ შეწყვეტილი ჩამოტვირთვის განახლების განხორციელება ძალიან რთულია, თუ

GREIS

www.javad.com

53

RECEIVER INPUT LANGUAGE ბრძანებები მიიღება

ამ შემთხვევაში შეუძლებელია იმის გამო, რომ მასპინძელს წარმოდგენა არ აქვს რა ოფსეტზეა მიმღები file ჩამოტვირთვა შეწყდა.
გადაცემის ნებისმიერი სახეობა შეიძლება შეწყდეს მონაცემთა მიმღების ბოლოს ნებისმიერი DTP შეცდომის სიმბოლოს გაგზავნით (მაგ. ASCII '#').
[RE] შეტყობინებებში მონაცემთა გადაცემისას, block_size-ის მნიშვნელობა განსაზღვრავს მონაცემთა დატვირთვის მაქსიმალურ ზომას ყოველი [RE] შეტყობინებისთვის (შეიზღუდება ასევე შიდა firmware ბუფერის ზომით). როგორც ყოველთვის, ყოველი [RE] შეტყობინება დაიწყება ბრძანების ID-ით (ასეთის არსებობის შემთხვევაში).
[>>] შეტყობინებებში მონაცემების გადაცემისას, მცდელობის პარამეტრის მნიშვნელობა განსაზღვრავს [>>] შეტყობინებების id ველს შემდეგნაირად:
id = -1 – მცდელობები
და "block_size" მნიშვნელობა განსაზღვრავს მონაცემთა დატვირთვის მაქსიმალურ ზომას ყოველი [>>] შეტყობინებისთვის (შეიზღუდება ასევე შიდა firmware ბუფერის ზომით).
შემდეგი ბაიტი id-ის შემდეგ (მონაცემთა ველის პირველი ბაიტი) [>>] შეტყობინებაში იქნება თანმიმდევრობის სიმბოლო, რომელიც იწყება ASCII სიმბოლო 0-ით და იზრდება მოდული 64 ყოველი გზავნილისთვის, რაც გამოიწვევს ASCII სიმბოლოების თანმიმდევრობას 0-დან o, მათ შორის:
seq = 0 loop { seq_char = '0' + (seq++ % 64) }
თანმიმდევრობის სიმბოლო საშუალებას აძლევს მიმღებ დასასრულს აღმოაჩინოს [>>] შეტყობინება(ებ)ის დაკარგვა მიმდევრობაში.
შემდეგ მოჰყვება ობიექტის მონაცემთა დატვირთვა ბლოკის ზომის ბაიტამდე და შემდეგ შემოწმების ჯამი, [>>] შეტყობინების ფორმატის მიხედვით.
შეფუთული რეჟიმში წარმატებული გამომავალი ყოველთვის დასრულდება [>>] შეტყობინებით მონაცემთა დატვირთვის გარეშე, რათა მიმღების დასასრულს საიმედოდ განსაზღვროს გადაცემის დასასრული.

Examples

Example: დაიწყეთ შიგთავსის მოძიება file NAME DTP-ის გამოყენებით. რომელიმე:

Exampლე:

get,/log/NAME მიიღეთ,NAME
დაიწყეთ შინაარსის მოძიება file NAME დაწყებული ბაიტის ნომრიდან 3870034 (ბაიტების დათვლა ნულიდან). ბრძანებასა და პასუხს შორის საკმაოდ დიდი დრო უნდა გაიაროს:

%%get,NAME,3870034 RE002%%

GREIS

www.javad.com

54

RECEIVER INPUT LANGUAGE ბრძანებები მიიღება
Example: დაიწყეთ შიგთავსის მოძიება file my_logfile დაწყებული 3000 ბაიტიდან 50 წამის დროის ამოწურვის გამოყენებით და ბლოკის ზომა 8192 ბაიტი:
მიიღეთ, my_logfile:{50,8192},3000
Example: დაიწყეთ შიგთავსის მოძიება file NAME ფილტრავს ეპოქებს ისე, რომ მიღებული იყოს მიღებული file იქნება 0.1Hz მონაცემები:
get,NAME:{,,10}
Example: დაიწყეთ შიგთავსის მოძიება file NAME სტრიმინგის რეჟიმის გამოყენებით (ცდის ოფცია დაყენებულია 1-ზე):
get,NAME:{,,,,1}
Example: გაგზავნეთ შიგთავსი file NAME შეფუთულია [>>] შეტყობინებებში ID 61-ით (არის ASCII სიმბოლო '='), იყენებს 128 ბაიტამდე მონაცემს თითო შეტყობინებაზე:
get,NAME:{,128,,,-62}
Example: გაგზავნეთ შიგთავსი file NAME შეფუთულია [RE] შეტყობინებებში 190 ბაიტი მონაცემების გამოყენებით თითო შეტყობინებაზე, წინასწარ დაყენებული %MY_ID%-ით:
%MY_ID%get,NAME:{,190,,,-257}

GREIS

www.javad.com

55

2.3.11 დააყენა

RECEIVER INPUT LANGUAGE ბრძანებები დააყენა

სახელი
დაწყება file ატვირთვა DTP1 გამოყენებით.

სინოფსისი
ფორმატი: put,object[,offset] პარამეტრები: {timeout, block_size}

არგუმენტები
ობიექტის ობიექტის იდენტიფიკატორი file მონაცემების ჩასაწერად. თუ ობიექტი არ იწყება "/-ით", მაშინ "/log/" პრეფიქსი ავტომატურად ჩასმულია ობიექტის წინ ბრძანების შესრულებამდე.
ოფსეტური ოფსეტური ბაიტებში დასაწყისიდან file რომელზედაც უნდა დაიწყოს წერა. თუ გამოტოვებულია, 0 ითვლება.

ოფციები

ცხრილი 2-6. განათავსეთ პარამეტრების შეჯამება

სახელი

ტიპი

ღირებულებები

ნაგულისხმევი

ტაიმაუტი

მთელი რიცხვი [0…86400], წამი 10

block_size მთელი რიცხვი [1…163841]

512

1. 2048 მიმღებებისთვის, რომლებსაც არ აქვთ TCP ან USB მხარდაჭერა.

დროის ამოწურვა DTP-ისთვის. block_size DTP მონაცემთა ბლოკის ზომა.

აღწერა
ეს ბრძანება იწყებს მონაცემთა ატვირთვას მასპინძელი კომპიუტერიდან a file მიმღებში მონაცემთა გადაცემის პროტოკოლის (DTP) გამოყენებით. არანაირი პასუხი არ არის გენერირებული, თუ არ არის შეცდომა, ან პასუხი არ არის იძულებითი განცხადების იდენტიფიკატორის მიერ.
მას შემდეგ, რაც put ბრძანება წარმატებული იქნება, DTP მიმღები ჩართულია მიმღებზე და ელოდება DTP გადამცემის გაშვებას ჰოსტზე. ამიტომ, ნებისმიერი მონაცემის რეალურად ატვირთვისთვის საჭიროა DTP გადამცემის დანერგვა ჰოსტზე.

1. იხილეთ „მონაცემთა გადაცემის პროტოკოლი“ 580 გვერდზე.

GREIS

www.javad.com

56

RECEIVER INPUT LANGUAGE ბრძანებები დააყენა

არჩევითი ოფსეტური არგუმენტი საშუალებას აძლევს მასპინძელს განახორციელოს მხარდაჭერა შეწყვეტილი მონაცემთა გადაცემის განახლებისთვის. ნულოვანი ოფსეტური მნიშვნელობა საშუალებას აძლევს მასპინძელს მოითხოვოს მონაცემების დამატება არსებულის ბოლოს file შესაბამისი ზომის.
თუ ოფსეტი არის 0 და file ობიექტი არ არსებობს, მიმღები შეეცდება შექმნას და გახსნას ახლის დასაწერად file ობიექტით განსაზღვრული სახელწოდებით. ამ შემთხვევაში ბრძანება ვერ იქნება, თუ უკვე არსებობს ა file დასახელებული სახელით.
თუ ოფსეტი 0-ზე მეტია და არსებობს a file ობიექტი და file ზომა უდრის offset მნიშვნელობას, შემდეგ ბრძანება put გაიხსნება file დასამატებელი ობიექტი. ამ შემთხვევაში ბრძანება ვერ იქნება, თუ არ არსებობს file სახელწოდებით ან თუ არსებულის ზომით file არ ემთხვევა ოფსეტურით მითითებულებს.

Examples

Example: დაიწყეთ მონაცემების ატვირთვა ახალში file „NAME“ DTP-ის გამოყენებით. რომელიმე:

Exampლე:

დააყენა,/log/NAME დააყენა,NAME
დაიწყეთ მონაცემების ატვირთვა და დაამატეთ ისინი არსებულს file "NAME". გამოიყენეთ ნაგულისხმევი DTP დროის ამოწურვა და DTP ბლოკის ზომა 4096 ბაიტი. მიიღეთ ზომა file ატვირთვის დაწყებამდე (გაითვალისწინეთ, რომ file ზომა მაინც საჭიროა ჰოსტზე, რათა მან შეძლოს ამ რაოდენობის ბაიტის გამოტოვება მისი წყაროს მონაცემებიდან file):

Exampლე:

ბეჭდვა,/log/NAME&ზომა RE008 3870034 დააყენა,/log/NAME:{,4096},3870034
დაიწყეთ მონაცემთა ატვირთვა ახალში file "my_logfile”გამოიყენება დროის ამოწურვა 50 წამი და ბლოკის ზომა 8192 ბაიტი:

დააყენე, ჩემი_ლოგიfile:{50,8192}

GREIS

www.javad.com

57

2.3.12 ფოლდ

RECEIVER INPUT LANGUAGE ბრძანებები fld

სახელი
fld firmware იტვირთება.

სინოფსისი
ფორმატი: fld,id,object პარამეტრები: {timeout, block_size}

არგუმენტები
id სტრიქონი, რომელიც შეიცავს მიმღების ელექტრონულ ID1-ს. თუ მითითებული ID არ შეესაბამება მიმღების რეალურ ელექტრონულ ID-ს, ბრძანება ვერ მოხერხდება და წარმოქმნის შეცდომის შეტყობინებას.
ჩატვირთული პროგრამული უზრუნველყოფის წყაროს ობიექტის ობიექტის იდენტიფიკატორი. ან მიმღების სახელი file, ან შეყვანის პორტის სახელი. როდესაც ეს არის შეყვანის პორტის სახელი, უნდა იყოს მითითებული /cur/term ან მიმდინარე პორტის რეალური სახელი, წინააღმდეგ შემთხვევაში შეცდომის შესახებ შეტყობინება იქნება.

ოფციები

ცხრილი 2-7. fld პარამეტრების შეჯამება

სახელი

ტიპი

ღირებულებები

ტაიმაუტი

მთელი რიცხვი [0…86400], წამი

block_size მთელი რიცხვი [1…163841] 1. 2048 მიმღებებისთვის, რომლებსაც არ აქვთ TCP ან USB მხარდაჭერა.

ნაგულისხმევი
10 512

დროის ამოწურვა DTP-ისთვის. block_size DTP მონაცემთა ბლოკის ზომა.

აღწერა
ეს ბრძანება იტვირთება firmware მითითებული ობიექტიდან მიმღებში და შემდეგ აღადგენს მიმღებს. არანაირი პასუხი არ არის გენერირებული, თუ არ არის შეცდომა, ან პასუხი არ არის იძულებითი განცხადების იდენტიფიკატორის მიერ.

1. ID შეიძლება მიიღოთ print,/par/rcv/id ბრძანების გამოყენებით.

GREIS

www.javad.com

58

RECEIVER INPUT LANGUAGE ბრძანებები fld

გაფრთხილება:

თუ ჩატვირთვის დროს მოხდება პროგრამული უზრუნველყოფის გადაცემის დენის უკმარისობა ან პორტში გადაცემის ფატალური შეწყვეტა, მიმღები შეიძლება გადავიდეს ნახევრად მუშა მდგომარეობაში, სადაც შესაძლებელია მხოლოდ რს-232 პორტების მეშვეობით პროგრამული უზრუნველყოფის ჩატვირთვა „ჩართვა ჩართვის“ მეთოდით.
თუ ობიექტი აღნიშნავს არსებულს file1, მიმღები ჯერ შეამოწმებს თუ არა file შეიცავს მიმღებისთვის მოქმედ firmware-ს (დასრულებას რამდენიმე წამი სჭირდება). თუ შემოწმება წარმატებით დასრულდა, მიმღები ჩატვირთავს firmware-ს და შემდეგ განახორციელებს თვითრესტავრაციას. გაითვალისწინეთ, რომ ბრძანებაზე პასუხი (ასეთის არსებობის შემთხვევაში) გაიგზავნება შემოწმების შემდეგ, მაგრამ სანამ დაიწყება პროგრამული უზრუნველყოფის ჩატვირთვა. დროის ამოწურვისა და block_size ვარიანტები ამ შემთხვევაში იგნორირებულია.
თუ ობიექტი განსაზღვრავს შეყვანის ნაკადს, ბრძანება გაგზავნის პასუხს (ასეთის არსებობის შემთხვევაში) და შემდეგ დაიწყებს DTP მიმღებს, რომელიც დაელოდება DTP გადამცემის გაშვებას ჰოსტზე. ამიტომ, რეალურად რომ ატვირთოთ firmware, საჭიროა DTP გადამცემის დანერგვა ჰოსტზე. თვითგადატვირთვა (გადატვირთვა) შესრულდება მიმღების მიერ ჩატვირთვის წარმატებით დასრულების ან შეწყვეტის შემდეგ.

Examples
Example: ჩატვირთეთ firmware საწყისი file "firmware.ldp" მიმღებში ელექტრონული ID 123456789AB. ბრძანების გაგზავნასა და პასუხის მიღებას შორის უნდა გაიაროს რამდენიმე წამი, ხოლო მიმღები ამოწმებს file firmware მოქმედებისთვის:
%%fld,123456789AB,/log/firmware.ldp RE002%%
Example: დაიწყეთ პროგრამული უზრუნველყოფის ატვირთვა USB პორტიდან ბლოკის ზომით 16384 ბაიტით და დროის ამოწურვა 20 წამით. მიიღეთ ელექტრონული პირადობის მოწმობა ბრძანების გაცემამდე:
print,rcv/id RE00C 8PZFM10IL8G fld,8PZFM10IL8G,/dev/usb/a:{20,16384}

GREIS

1. მოსალოდნელია, რომ file firmware-ის შემცველი წინასწარ აიტვირთება მიმღებში, მაგ., put ბრძანების გამოყენებით.

www.javad.com

59

RECEIVER INPUT LANGUAGE ბრძანებები fld

GREIS

www.javad.com

60

თავი 3
მიმღების შეტყობინებები

ეს თავი აღწერს GREIS სტანდარტული შეტყობინებების ზოგად ფორმატს და ყველა წინასწარ განსაზღვრული შეტყობინების კონკრეტულ ფორმატს. GREIS სტანდარტული შეტყობინებების გარდა, მიმღები მხარს უჭერს სხვადასხვა ფორმატის საკმაოდ ბევრ შეტყობინებას, როგორიცაა NMEA ან BINEX. ამ "უცხო" შეტყობინებების ფორმატები აღწერილია ამ თავის ბოლოს.
3.1 კონვენციები
3.1.1 ფორმატის სპეციფიკაციები
ზოგიერთი ფორმატის, როგორც ბაიტების1 თანმიმდევრობის კომპაქტურ ფორმაში აღსაწერად, ჩვენ განვსაზღვრავთ ფორმატებს რამდენიმე ძირითადი ველის ტიპისთვის და შემდეგ ვიყენებთ აღნიშვნებს, რომლებიც ახლოსაა C პროგრამირების ენაში გამოყენებული, უფრო რთული ფორმატების განმარტებების შესაქმნელად:
struct NAME {LENGTH} { TYPE FIELD[COUNT]; // DESCRIPTION … TYPE FIELD[COUNT]; // DESCRIPTION
};
სადაც:
NAME ამ ფორმატისთვის მინიჭებული სახელი. ის შეიძლება გამოყენებულ იქნას სხვა ფორმატის განმარტებებში, როგორც ველის ტიპი.
LENGTH სიგრძე მთელი თანმიმდევრობის ბაიტებში. ფიქსირებული სიგრძის ფორმატისთვის ეს არის რიცხვი, ცვლადი სიგრძის გზავნილისთვის ეს შეიძლება იყოს ან არითმეტიკული გამოხატულება, რომელიც დამოკიდებულია სხვა ცვლადის პარამეტრებზე, ან უბრალოდ სტრიქონი var.
TYPE FIELD[COUNT] ველის აღმწერი. იგი აღწერს იმავე TYPE-ის COUNT ელემენტის თანმიმდევრობას, რომელსაც ენიჭება სახელი FIELD. TYPE შეიძლება იყოს ქვემოთ აღწერილი ველის ერთ-ერთი ძირითადი ტიპი, ან სხვა ფორმატის NAME. როდესაც [COUNT] არ არის, ველი შედგება ზუსტად ერთი ელემენტისგან. როდესაც COUNT არ არის (ანუ არის მხოლოდ ცარიელი კვადრატული ფრჩხილები, []), ეს ნიშნავს, რომ ველი შედგება ელემენტების დაუზუსტებელი რაოდენობისგან.

GREIS

1. ამ თავის კონტექსტში „ბაიტი“ ნიშნავს 8-ბიტიან ერთეულს. ყველაზე ნაკლებად მნიშვნელოვანი ბაიტი აქვს ინდექსი ნული.

www.javad.com

61

RECEIVER MESSAGES კონვენციები
ფორმატის სპეციფიკაციები

DESCRIPTION ველის აღწერა მის საზომ ერთეულებთან და მნიშვნელობების დასაშვებ დიაპაზონთან ერთად, საჭიროების შემთხვევაში. საზომი ერთეულები გარშემორტყმულია კვადრატული ფრჩხილებით.
განსაზღვრულია შემდეგი ძირითადი ველების ტიპები:

ცხრილი 3-1. ველის ძირითადი ტიპები

აკრიფეთ სახელი

მნიშვნელობა

სიგრძე ბაიტებში

a1

ASCII პერსონაჟი

1

i1

ხელმოწერილი მთელი რიცხვი

1

i2

ხელმოწერილი მთელი რიცხვი

2

i4

ხელმოწერილი მთელი რიცხვი

4

u1

ხელმოუწერელი მთელი რიცხვი

1

u2

ხელმოუწერელი მთელი რიცხვი

2

u4

ხელმოუწერელი მთელი რიცხვი

4

f4

IEEE-754 ერთი ზუსტი მცურავი წერტილი

4

f8

IEEE-754 ორმაგი სიზუსტის მცურავი წერტილი

8

ASCII სიმბოლოების ცვლადის ნულოვანი მიმდევრობა

კონკრეტული ფორმატის სრულად განსასაზღვრად, ჩვენ ასევე უნდა მივუთითოთ ბაიტების თანმიმდევრობა პირველადი არააგრეგატული ველებში, რომლებიც მრავალ ბაიტიანია (i2, i4, u2, u4, f4, f8). GREIS შეტყობინებებისთვის ეს თანმიმდევრობა განისაზღვრება [MF] გზავნილით, დეტალებისთვის იხილეთ „[MF] შეტყობინებების ფორმატი“ გვერდზე 74.
ზემოაღნიშნული განმარტებების გამოყენებით შესაძლებელია (რეკურსიულად) ნებისმიერი ფორმატის სპეციფიკაციის გაფართოება ბაიტების შესაბამის თანმიმდევრობამდე. მაგampლე, ფორმატი
სტრუქტურა მაგample {9} { u1 n1; f4 n2; i2 n3[2];
};
ფართოვდება ბაიტების შემდეგი თანმიმდევრობით, ყველაზე ნაკლებად მნიშვნელოვანი ბაიტის პირველი (LSB) თანმიმდევრობით:
n1[0](0), n2[0](0),n2[0](1),n2[0](2),n2[0](3), n3[0](0),n3[0](1),n3[1](0),n3[1](1)

GREIS

www.javad.com

62

GREIS

მიმღების შეტყობინებები სტანდარტული შეტყობინებების ნაკადი
განსაკუთრებული ღირებულებები
და ბაიტების შემდეგი თანმიმდევრობის მიხედვით, ყველაზე მნიშვნელოვანი ბაიტის პირველი (MSB) რიგით:
n1[0](0), n2[0](3)n2[0](2)n2[0](1)n2[0](0) n3[0](1)n3[0](0)n3[1](1)n3[1](0)
სადაც x[i](j) აღნიშნავს x ველის i-ე ელემენტის j-ე ბაიტს (ბაიტი #0 არის ყველაზე ნაკლებად მნიშვნელოვანი).

3.1.2 სპეციალური ღირებულებები

ბინარული შეტყობინებებისთვის, მათი ზოგიერთი მთელი რიცხვი და მცურავი წერტილის ველი შეიძლება შეიცავდეს სპეციალურ მნიშვნელობებს, რომლებიც გამოიყენება ფაქტობრივი მონაცემების ნაცვლად, როდესაც ველის მონაცემები არ არის ხელმისაწვდომი. ორობითი ველები, რომლებისთვისაც საჭიროა სპეციალური მნიშვნელობების შემოწმება მონაცემთა ამოღების დროს, აღინიშნება ძახილის ნიშნით, „!“ ველის განმარტების პირველ სვეტში.
შემდეგი ცხრილი განსაზღვრავს სპეციალურ მნიშვნელობებს მონაცემთა ველების სხვადასხვა ტიპებისთვის:

ცხრილი 3-2. სპეციალური ღირებულებები სფეროებისთვის

ველის ტიპი
i1 u1 i2 u2 i4 u4 f4 f8

განსაკუთრებული ღირებულება
127 255 32767 65535 2147483647 4294967295 მშვიდი NaN მშვიდი NaN

HEX წარმომადგენლობა
7F FF 7FFF FFFF 7FFF_FFFF FFFF_FFFF 7FC0_0000 7FF8_0000_0000_0000

3.2 სტანდარტული შეტყობინებების ნაკადი

სტანდარტული GREIS შეტყობინების ნაკადი არის მაქსიმუმ ორი სახის შეტყობინებების თანმიმდევრობა, GREIS სტანდარტული შეტყობინებები და არასტანდარტული ტექსტური შეტყობინებები.
ყველაზე მნიშვნელოვანი და ფართოდ გამოყენებული ტიპის შეტყობინებები არის GREIS სტანდარტული შეტყობინებების მდიდარი ნაკრები. მათი ზოგადი ფორმატი საგულდაგულოდ არის შემუშავებული, რათა შესაძლებელი იყოს როგორც ორობითი, ასევე ტექსტური შეტყობინებები.

www.javad.com

63

მიმღების შეტყობინებები შეტყობინებების ზოგადი ფორმატი
სტანდარტული შეტყობინებები
ბრძენნი, და რათა აპლიკაციებმა შეძლონ ეფექტურად გამოტოვონ ის შეტყობინებები, რომლებზეც აპლიკაციამ არ იცის ან არ აინტერესებს.
არასტანდარტული ტექსტური შეტყობინებების მხარდაჭერა, რომელიც მაინც უნდა შეესაბამებოდეს ამ სახელმძღვანელოში მათთვის განსაზღვრულ ფორმატს, შესაძლებელს ხდის GREIS სტანდარტული შეტყობინებების შერევას სხვა ფორმატის შეტყობინებებთან სტანდარტული GREIS მონაცემთა ნაკადში. ყოფილმაampასეთი ფორმატის არის NMEA შეტყობინებები.
სპეციალური საქმის არასტანდარტული ტექსტური შეტყობინებები, შეტყობინებები, რომლებიც შეიცავს მხოლოდ ASCII-ს და/ან სიმბოლოები, ჩასმულია შეტყობინებების ფორმატირების ძრავის მიერ მიმღებში GREIS სტანდარტულ შეტყობინებებს შორის, რათა მიღებული შეტყობინების ნაკადი უფრო ადვილად იკითხებოდეს ადამიანისთვის, როდესაც ის იგზავნება ტერმინალში ან ზოგად ტექსტში. viewer ან რედაქტორის აპლიკაცია.
გარდა GREIS სტანდარტული შეტყობინებებისა და არასტანდარტული ტექსტური შეტყობინებებისა, JAVAD GNSS მიმღებები, როგორც წესი, მხარს უჭერენ უამრავ სხვა ფორმატს (მაგ., RTCM, BINEX, CMR). თუმცა, ეს ფორმატები შეუთავსებელია სტანდარტული GREIS შეტყობინებების ნაკადის ფორმატთან. თუ ნაკადი შეიცავდეს ამ ფორმატის შეტყობინებებს, მას აღარ შეიძლება ეწოდოს GREIS სტანდარტული შეტყობინებების ნაკადი და არ შეიძლება გაანალიზდეს იგივე წესებით, როგორც სტანდარტული ნაკადი.1.

3.3 შეტყობინებების ზოგადი ფორმატი

3.3.1 სტანდარტული შეტყობინებები

ყველა სტანდარტული შეტყობინების ფორმატი შემდეგია:

struct StdMessage {var} {

a1 id[2];

// იდენტიფიკატორი

a1 სიგრძე[3];

// თექვსმეტობითი სხეულის სიგრძე, [000…FFF]

u1 სხეული[სიგრძე]; // სხეული

};

თითოეული სტანდარტული შეტყობინება იწყება უნიკალური შეტყობინების იდენტიფიკატორით, რომელიც მოიცავს ორ ASCII სიმბოლოს. ნებისმიერი სიმბოლო ქვეჯგუფიდან „0“-დან „~“-მდე (ანუ ათობითი ASCII კოდები [48…126] დიაპაზონში) დაშვებულია იდენტიფიკატორში.

GREIS

1. სინამდვილეში, GREIS სტანდარტული შეტყობინებების ფორმატი იმდენად მოქნილია, რომ მას შეუძლია ნებისმიერი მონაცემთა ნაკადის ჩართვა სტანდარტულ GREIS მონაცემთა ნაკადში, მაგრამ შემდეგ ორიგინალური შეუთავსებელი ნაკადი უნდა შეიფუთოს სპეციალური GREIS შეტყობინებების თანმიმდევრობით. წინასწარ განსაზღვრული შეტყობინება იდენტიფიკატორით ">>" ემსახურება ამ მიზანს.

www.javad.com

64

მიმღების შეტყობინებები შეტყობინებების ზოგადი ფორმატი
არასტანდარტული ტექსტური შეტყობინებები
შეტყობინების იდენტიფიკატორს მოსდევს შეტყობინების ძირითადი ველის სიგრძე. ეს ველი, რომელიც მოიცავს სამ ზედა რეგისტრის თექვსმეტობით ციფრს, განსაზღვრავს შეტყობინების ტექსტის სიგრძეს ბაიტებში. ამრიგად, შეტყობინების მაქსიმალური სიგრძეა 4095 (0xFFF) ბაიტი.
შეტყობინების ტექსტი მოყვება სიგრძის ველს დაუყოვნებლივ და შეიცავს ზუსტად სიგრძის ველში მითითებულ ბაიტების რაოდენობას. არ არსებობს შეზღუდვები ზოგადი ფორმატით ნაგულისხმევი შეტყობინების ძირითადი შინაარსის შესახებ. შეტყობინების ტექსტის ფორმატი შეტყობინებაში ირიბად განისაზღვრება შეტყობინების იდენტიფიკატორით. ყველა წინასწარ განსაზღვრული შეტყობინების შეტყობინებების ფორმების ფორმატები

3.3.2 არასტანდარტული ტექსტური შეტყობინებები

არასტანდარტული ტექსტური შეტყობინებების ფორმატი შემდეგია:

struct NonStdTextMessage {var} {

a1 ID;

// იდენტიფიკატორი, [!…/]

a1 სხეული[];

// თვითნებური სიგრძის სხეული, [0…)

a1 eom;

// შეტყობინების დასასრული ( ან )

};

შეტყობინების იდენტიფიკატორი არის ნებისმიერი სიმბოლო დიაპაზონში [!… /] (ათწილადი ASCII კოდები დიაპაზონში [33…47]). შეტყობინების იდენტიფიკატორი არჩევითია. თუ არ არის, შეტყობინების ტექსტს უნდა ჰქონდეს სიგრძე ნული (ანუ არ უნდა იყოს ასევე).

შეტყობინების ტექსტი არის ASCII სიმბოლოების თანმიმდევრობა გარდა (ათწილადი კოდი 13) და (ათწილადი კოდი 10) სიმბოლო. ფორმატის მიხედვით სხეულის სიგრძეზე შეზღუდვა არ არის დაწესებული.

შეტყობინების მარკერის დასასრული არის ან ან პერსონაჟი.

გაითვალისწინეთ, რომ ფორმატი იძლევა არასტანდარტულ შეტყობინებებს, რომლებიც შეიცავს მხოლოდ CR ან LF სიმბოლოებს. ეს ფუნქცია საშუალებას გაძლევთ გახადოთ სტანდარტული GREIS შეტყობინებების ნაკადები უფრო ადვილად წასაკითხად გამოიყურებოდეს, როდესაც მონაცემები გადატანილია ზოგადი დანიშნულების ტერმინალში ან viewზოგადი ტექსტით viewან რედაქტორი.

ერთ-ერთი არასტანდარტული ტექსტური შეტყობინების იდენტიფიკატორი, სიმბოლო „$“, უკვე დაცულია, როგორც იდენტიფიკატორი სტანდარტული NMEA შეტყობინებებისთვის. არცერთ სხვა არასტანდარტულ ტექსტურ შეტყობინებაში არ უნდა გამოიყენოს „$“ იდენტიფიკატორად.

3.3.3 შეტყობინებების ნაკადის ანალიზი
ამ განყოფილებაში ნახავთ რამდენიმე მინიშნებას და რჩევებს, თუ როგორ უნდა დაწეროთ კოდი, რომელიც განკუთვნილია GREIS მიმღების შეტყობინებების ნაკადების გასაანალიზებლად. მიუხედავად იმისა, რომ ჩვენ არ ვაპირებთ ამ თემის დეტალურად განხილვას ამ სახელმძღვანელოში, ჩვენ გვინდა ხაზი გავუსვათ, რომ სტანდარტული შეტყობინება

GREIS

www.javad.com

65

მიმღების შეტყობინებები შეტყობინებების ზოგადი ფორმატი
შეტყობინების ნაკადის ანალიზი
ფორმატი საშუალებას მოგცემთ ეფექტურად დაამუშავოთ/გააანალიზოთ თითქმის ნებისმიერი GREIS შეტყობინებების ნაკადი, რომელიც შეიძლება პრაქტიკაში შეგხვდეთ.

შენიშვნა:

სინქრონიზაცია
შეტყობინებების ნაკადის გაანალიზებისას, ჯერ უნდა იპოვოთ შეტყობინების უახლოესი საზღვარი. ეს არის ის, რასაც ჩვეულებრივ უწოდებენ "სინქრონიზაციას". შეტყობინებების სინქრონიზაცია ხორციელდება ანალიზის დაწყებისას ან როდესაც სინქრონიზაცია იკარგება მონაცემთა ნაკადში შეცდომის გამო. სინამდვილეში, ალგორითმის გასამარტივებლად, შეიძლება ჩათვალოთ, რომ უკვე სინქრონიზებული ხართ, როდესაც დაიწყებთ მონაცემთა ნაკადის ანალიზს. თუ ეს მართლაც ასე არ არის, ანალიზების შეცდომა უნდა მოხდეს. შემდეგ თქვენ გამოტოვებთ ერთ სიმბოლოს შეყვანის ნაკადიდან და ვითომ ხელახლა სინქრონიზებული ხართ. ასეთი მიდგომა ეფექტურად გამორიცხავს სინქრონიზაციის ამოცანას, როგორც პარსინგის ალგორითმის ცალკეულ ნაწილს.
იმის გამო, რომ შეცდომების მაჩვენებელი გონივრულად სასარგებლო მონაცემთა ნაკადში უნდა იყოს საკმაოდ დაბალი, სინქრონიზაცია არ უნდა იყოს ხშირი ამოცანა. გარდა ამისა, GREIS მონაცემთა ნაკადი, როგორც წესი, შედგება საკმაოდ მოკლე შეტყობინებებისგან, ამიტომ მანძილი შეტყობინების უახლოეს საზღვრამდე, როგორც წესი, მცირეა. ამ მოსაზრებების გათვალისწინებით, არ არის მოთხოვნა, რომ სინქრონიზაციის ალგორითმი იყოს ძალიან სწრაფი.

შენიშვნა:

შემდეგ შეტყობინებაზე გადასვლა
სტანდარტული GREIS შეტყობინებების ზოგად ფორმატში სიგრძის არსებობა საშუალებას გაძლევთ მარტივად უგულებელყოთ შეტყობინებები მათი სხეულის ფორმატის ცოდნის გარეშე. ჩვენ ნამდვილად გირჩევთ დაწეროთ პარსერები, რათა მათ გამოტოვონ უცნობი შეტყობინებები.
მიმდინარე გზავნილიდან შემდეგზე გადასასვლელად, გადადგით შემდეგი ნაბიჯები:
1. დავუშვათ, რომ მიმდინარე შეტყობინება იწყება პოზიციიდან „N“. განსაზღვრეთ მიმდინარე შეტყობინების სიგრძე (გაშიფრეთ სიმბოლოები ## N+2, N+3, N+4). დავუშვათ, რომ შეტყობინების სიგრძე უდრის L-ს. გამოტოვეთ პირველი L+5 სიმბოლოები დაწყებული „N“-დან.
2. გამოტოვეთ ყველაფერი და სიმბოლოები (ასეთის არსებობის შემთხვევაში).
მკაცრად რომ ვთქვათ, ჩვენ არ გირჩევთ თქვენს პარსინგის კოდში გამოიყენოთ ნებისმიერი აპრიორი ინფორმაცია შეტყობინების ზომისა და შინაარსის შესახებ. თუ პატივს სცემთ ამ რეკომენდაციას, არ შეგექმნებათ პრობლემები პარსინგის პროგრამასთან დაკავშირებით, თუ ზოგიერთი შეტყობინება შეიცვლება.
სტანდარტული წინასწარ განსაზღვრული GREIS შეტყობინებების შეტყობინებების ორგანოების გაანალიზების წესები და მინიშნებები მოგვიანებით განიხილება „შეტყობინებების ორგანოების გაანალიზება“ გვერდზე 67.

GREIS

www.javad.com

66

GREIS

მიმღების შეტყობინებები სტანდარტული წინასწარ განსაზღვრული შეტყობინებები
შეტყობინების ორგანოების ანალიზი
3.4 სტანდარტული წინასწარ განსაზღვრული შეტყობინებები
ამ განყოფილებაში ჩვენ გავაცნობთ მკითხველს სტანდარტული GREIS შეტყობინებების წინასწარ განსაზღვრულ კომპლექტს. XX იდენტიფიკატორის მქონე შეტყობინებაზე მითითებისას ჩვენ ვიყენებთ აღნიშვნას [XX]. მიუხედავად იმისა, რომ შეტყობინებების უმეტესობას GREIS-ში მათი შეტყობინების იდენტიფიკატორი ეწოდება, ზოგიერთ მათგანს, კონკრეტულად მათ, რომლებსაც აქვთ არაალფაციფრული იდენტიფიკატორები, განსხვავებული სახელები აქვთ. ასეთი შეტყობინებებისთვის გამოიყენება აღნიშვნა [XX](NN), სადაც XX არის შეტყობინების იდენტიფიკატორი, ხოლო NN არის შეტყობინების სახელი, რომელიც გამოიყენება GREIS ბრძანებებში. მაგampწერილს [~~](RT) აქვს სათაური „~~“ და მას უწოდებენ /msg/jps/RT GREIS ბრძანებებში.
ეს განყოფილება განსაზღვრავს ორგანოების ფორმატებს ყველა სტანდარტული წინასწარ განსაზღვრული შეტყობინებისთვის. გაითვალისწინეთ, რომ მონაცემთა ნაკადში ყველა შეტყობინებას აქვს სტანდარტული სათაური, რომელიც ასევე განისაზღვრება ზოგადი ფორმატით.
3.4.1 შეტყობინების ორგანოების ანალიზი
დაშვებული ფორმატის გაფართოებები
ორობითი შეტყობინებების ფორმატები, რომლებსაც აქვთ შეტყობინების ფიქსირებული ზომა, საშუალებას გაძლევთ დაამატოთ მეტი მონაცემთა ველი მომავალში. ახალი ველების ჩასმა დასაშვებია მხოლოდ შეტყობინების ტექსტის ბოლოს, საკონტროლო ჯამის ველის წინ (ასეთის არსებობის შემთხვევაში). შეტყობინების ორგანოების ასეთი ცვლილებები განიხილება ფორმატის გაფართოებად და არა შეუთავსებელ ცვლილებებად.
მიუხედავად იმისა, რომ სტანდარტული GREIS ტექსტური შეტყობინებები არ არის შეტყობინებები ფიქსირებული ზომით, მომავალში ამ შეტყობინებებში ახალი ველები შეიძლება კვლავ გამოჩნდეს. ახალი ველების ჩასმა შესაძლებელია არსებული ტექსტური შეტყობინების ბოლოს მხოლოდ საკონტროლო ჯამის ველის წინ, ან უშუალოდ ნებისმიერი მარჯვენა ფრჩხილის წინ (}). მაგample, შეტყობინება, რომელიც ამჟამად იკითხება როგორც:
…1,{21,22},3,@CS
მოგვიანებით შეიძლება გაფართოვდეს
…1,{2.1,2.2,2.3},3,4,@CS
სადაც დამატებულია ორი დამატებითი ველი „2.3“ და „4“.
განახორციელეთ თქვენი ანალიზის ალგორითმები შემდეგი წესების გათვალისწინებით, რათა მათ იმუშაონ თუნდაც მომავალი ფორმატის გაფართოებებით:
1. არ იფიქროთ, რომ მიღებული შეტყობინების ტექსტის ზომა ზუსტად უნდა ემთხვეოდეს ამ დოკუმენტში განსაზღვრულ კონკრეტულ ზომას. მხოლოდ თუ შეტყობინება ძალიან მოკლეა, ეს ნიშნავს, რომ თქვენ არ შეგიძლიათ გამოიყენოთ მისი შინაარსი. თუ შეტყობინება მოსალოდნელზე გრძელია, უბრალოდ უგულებელყოთ ზედმეტი მონაცემები.
2. მიმართეთ საკონტროლო ჯამის ველს შეტყობინების ტექსტის ბოლოსთან შედარებით.

www.javad.com

67

მიმღების შეტყობინებები სტანდარტული წინასწარ განსაზღვრული შეტყობინებები
ზოგადი შენიშვნები
3. მიმართეთ სხვა მონაცემთა ველებს შეტყობინების საწყისთან მიმართებაში. 4. გაითვალისწინეთ ტექსტური შეტყობინებების გაფართოების ზემოაღნიშნული წესი, როდესაც
ტექსტური შეტყობინებებისთვის მონაცემთა ამომყვანების დაწერა.
საკონტროლო ჯამები
მას შემდეგ, რაც შეტყობინების ამოღება მოხდება მონაცემთა ნაკადიდან 65-ე გვერდზე „შეტყობინებების გაანალიზების ნაკადში“ აღწერილი ტექნიკის გამოყენებით და შეტყობინების იდენტიფიკატორი, როგორც ჩანს, არის ერთ-ერთი მათგანი, რითაც აინტერესებს, შეტყობინების ტექსტი უნდა გაანალიზდეს მონაცემების ამოსაღებად. . შიგთავსის ამოღებამდე, შეტყობინების საკონტროლო ჯამი უნდა გამოითვალოს და შევადაროთ შეტყობინებაში შემავალი საკონტროლო ჯამი.
წინასწარ განსაზღვრული შეტყობინებების უმეტესობა შეიცავს საკონტროლო თანხას. საკონტროლო ჯამი გამოითვლება როგორც შეტყობინების სათაურის (ანუ, „შეტყობინებების იდენტიფიკატორი“ პლუს „შეტყობინების ტექსტის სიგრძე“) და თავად სხეულის გამოყენებით. იხილეთ „საკონტროლო ჯამების გამოთვლა“ გვერდზე 579 დამატებითი ინფორმაციისთვის საკონტროლო ჯამის გამოთვლის შესახებ.
საკონტროლო ჯამი ყოველთვის იდება შეტყობინების სხეულის ბოლოში. თუ შეტყობინების სტრუქტურა შეიცვლება მონაცემთა ახალი ველ(ებ)ის დამატებით, მონაცემთა ახალი ველები დაემატება საკონტროლო ჯამის ველს. ეს განმარტავს, თუ რატომ არის რეკომენდირებული შემოწმების ველის მიმართვა შეტყობინების ტექსტის ბოლოსთან შედარებით.
3.4.2 ზოგადი შენიშვნები
დროის სასწორები
არსებობს ხუთი დროის მასშტაბი, რომელსაც შეუძლია გაუმკლავდეს თქვენს მიმღებს:
Tr მიმღების დრო Tg GPS სისტემის დრო Tu UTC(USNO). უნივერსალური კოორდინირებული დრო აშშ-ს საზღვაო დამკვირვებლის მხარდაჭერით
ვატორული. Tn GLONASS სისტემის დრო. ც UTC(SU). უნივერსალური კოორდინირებული დრო მხარდაჭერით სახელმწიფო დროით და ფრე-
quency სერვისი, რუსეთი.
„მიმღების დრო“ არის დროის ერთადერთი ბადე, რომელიც ყოველთვის ხელმისაწვდომია თქვენს მიმღებში (ანუ, ზემოაღნიშნული სიიდან სხვა დროის ბადეები შეიძლება იყოს ან არ იყოს ამჟამად ხელმისაწვდომი).
სინამდვილეში, JAVAD GNSS მიმღები ყოველთვის სინქრონიზებს მიმღების დროს ოთხი გლობალური დროის მასშტაბიდან ერთ-ერთთან: GPS დრო, UTC(USNO), GLONASS დრო ან UTC(SU). The

GREIS

www.javad.com

68

GREIS

მიმღების შეტყობინებები სტანდარტული წინასწარ განსაზღვრული შეტყობინებები
ზოგადი შენიშვნები
ამგვარად შერჩეული დროის ბადე მოიხსენიება როგორც „მიმღების საცნობარო დრო“ (Trr) შემდგომში ამ განყოფილებაში1.
დროის სხვადასხვა სისტემას შეიძლება ჰქონდეს სხვადასხვა დროის აღნიშვნები (ფორმატი) დაკავშირებული მათთან (მაგ., GPS დროისთვის, ჩვენ ვიყენებთ ისეთ ტერმინებს, როგორიცაა „კვირის ნომერი“, „კვირის დრო“ და ა.შ.). ამასთან, გაითვალისწინეთ, რომ „მიმღების დრო“ არ იქნება დამოკიდებული არჩეულ მიმღების მითითების დროზე და ყოველთვის წარმოდგენილია როგორც მიმღების თარიღი და დღის დრო.
წინასწარ განსაზღვრული შეტყობინებების უმეტესობა არ შეიცავს საცნობარო დროის ინფორმაციას შიგნით. ჩვენს view, გადაჭარბებული იქნება ერთი და იგივე დროის გამოყენება tag მიმღების მიერ მიმდინარე ეპოქაში წარმოქმნილი მრავალი მესიჯიდან. მიმდინარე ეპოქისთვის ხელმისაწვდომი მიმღების ინფორმაციის გამოტანისას, როგორც წესი, იღებთ სხვადასხვა შეტყობინებებს. იმის ნაცვლად, რომ თითოეულ მათგანს ინდივიდუალური დრო მიეწოდოს tag მონაცემთა ველში, ჩვენ ვიყენებთ სპეციალურ შეტყობინებას, რომელიც ატარებს მიმღების დროის ინფორმაციას, რომელიც საერთოა ამ შეტყობინებებისთვის. ამ შეტყობინებას ჰქვია „მიმღების დრო“ და აქვს იდენტიფიკატორი [~~].
თუმცა, არსებობს მუშაობის რეჟიმი, რომელსაც ეწოდება RTK დაგვიანებული რეჟიმი, როდესაც მოცემულ ეპოქაში მიმღებმა შეიძლება წარმოქმნას გამოსავალი, რომელიც მითითებულია წარსულში სხვა ეპოქაზე. დროის უზრუნველსაყოფად tag ასეთი გადაწყვეტისთვის, სპეციალური Solution Time-Tag [ST] შეტყობინება გამოიყენება. სინამდვილეში, ეს შეტყობინება იძლევა სწორ დროს tag ამოხსნისთვის ოპერაციების ყველა რეჟიმში, თუმცა უმეტეს რეჟიმებში მას ზუსტად იგივე დრო აქვს, რაც [~~].
არის სხვა შეტყობინებები, რომლებსაც დრო აქვთ tag მონაცემთა ველი. ეს არის შეტყობინებები, რომლებიც შეიცავს ინფორმაციას, რომელიც დამოუკიდებლად ჩნდება მიმღების ეპოქის ბადეზე. ყოფილმაampასეთი შეტყობინების le არის „მოვლენა“ [==].
გამსაზღვრები
ფაქტობრივად, შეტყობინება „მიმღების დრო“ უნდა უსწრებდეს მიმდინარე ეპოქაში წარმოქმნილ ყველა სხვა შეტყობინებას, რითაც ზღუდავს სხვადასხვა ეპოქის შესაბამისი შეტყობინებებს. ფორმალური თვალსაზრისით view, მომხმარებლის გადასაწყვეტია გამომავალი ნაკადში შეტყობინებების თანმიმდევრობის განსაზღვრა. თუმცა, სიფრთხილე უნდა იქნას მიღებული იმის უზრუნველსაყოფად, რომ გამომავალ ნაკადში შეტყობინებების ჩაწერის თანმიმდევრობა არ არღვევს „ეპოქის სინქრონიზაციას“, რაც ძალზე მნიშვნელოვანია JAVAD GNSS პროგრამული პაკეტებით შესული მონაცემების შემდგომი დამუშავებისთვის. შეტყობინებების ნაგულისხმევი ნაკრების შესახებ დამატებითი ინფორმაციისთვის იხილეთ „შეტყობინებების ნაკრები“ 562 გვერდზე.
რეალურ დროში აპლიკაციებისთვის აუცილებელია ეპოქის დასასრულის დადგენა რაც შეიძლება მალე. ასეთი აპლიკაციებისთვის ეპოქების მხოლოდ „ეპოქის დაწყების“ მარკერით გამოყოფა არ არის მოსახერხებელი. ჩვენ გირჩევთ გამოიყენოთ „ეპოქის დრო“ [::](ET) შეტყობინება, როგორც „ეპოქის დასასრულის“ მარკერი. ეს გზავნილი შეიცავს დღის იმავე ველს, რომელიც გვხვდება შეტყობინებაში „მიმღების დრო“, რომელიც უზრუნველყოფს უკეთეს მთლიანობის შემოწმებას. იდეა არის დროის შედარება tag

1. მიმღების მიმდინარე firmware-ში მიმღების მითითების დრო არის GPS ან GLONASS სისტემის დრო, იხილეთ /par/raw/time/ref გვერდზე 220

www.javad.com

69

GREIS

მიმღების შეტყობინებები სტანდარტული წინასწარ განსაზღვრული შეტყობინებები
ზოგადი შენიშვნები
[::] მესიჯიდან დროის საწინააღმდეგოდ tag შესაბამისი [~~] გზავნილიდან. შეუსაბამო tags გატეხილი ეპოქის მანიშნებელია.
შეამჩნევთ, რომ შეტყობინებების უმეტესობას აქვს იდენტიფიკატორები, რომლებიც შეიცავს მხოლოდ ციფრებს და/ან ინგლისურ ასოებს. სინამდვილეში, „მიმღების დრო“ [~~] არის ერთადერთი შეტყობინება, რომლის იდენტიფიკატორი იყენებს სიმბოლოს „~“. აზრი აქვს, რადგან [~~] გზავნილი თამაშობს ძალიან მნიშვნელოვან როლს ეპოქის გამიჯვნის როლში. ამრიგად, არსებობს სპეციალური სიფრთხილის ზომები ამ საკვანძო შეტყობინების დაკარგვის ალბათობის შესამცირებლად. ანალოგიურად, „მოვლენის“ ([==]) შეტყობინების იდენტიფიკატორიც უნდა იყოს რაც შეიძლება გამორჩეული, რადგან აპლიკაციის პროგრამულმა პროგრამამ შეიძლება გამოიყენოს თავისუფალი ფორმის მოვლენები ისევე, როგორც გამსაზღვრელი.
„უაღრესად გამორჩეული“ იდენტიფიკატორების გამოყენების იდეა იმ შეტყობინებებისთვის, რომლებიც გამიჯვნის ფუნქციას ასრულებს, ძალიან ნათელია. თუ შეტყობინების საკონტროლო ჯამი არასწორია, უბრალოდ შეამოწმეთ მისი იდენტიფიკატორი. თუ იდენტიფიკატორის არცერთი სიმბოლო არ ემთხვევა „~“-ს, მაშინ ნაკლებად სავარაუდოა, რომ ეს იყოს დაზიანებული [~~] შეტყობინება. ამიტომ, თქვენ არ გჭირდებათ ამ შემთხვევაში შემდეგ [~~] შეტყობინებაზე გადასვლა.
მეორეს მხრივ, თუ შეტყობინებას აქვს სწორი საკონტროლო ჯამი, მაგრამ იდენტიფიკატორის ერთ-ერთი სიმბოლოა „~“, მაშინ უფრო უსაფრთხო იქნება ამ გზავნილის დაზიანებულ [~~] შეტყობინებად განხილვა. ამ შემთხვევაში გადადით შემდეგ [~~] შეტყობინებაზე.

გადაწყვეტის ტიპები

ველი "solType", რომელიც გამოიყენება ბევრ წინასწარ განსაზღვრულ შეტყობინებაში, მიუთითებს შესაბამისი გადაწყვეტის ტიპზე და შეიძლება ჰქონდეს შემდეგი მნიშვნელობები:
ცხრილი 3-3. გადაწყვეტის ტიპები

ღირებულება

მნიშვნელობა

0

არა

დოკუმენტები / რესურსები

JAVAD GREIS GNSS მიმღების გარე ინტერფეისი [pdf] მომხმარებლის სახელმძღვანელო
GREIS GNSS მიმღების გარე ინტერფეისი, GREIS, GNSS მიმღების გარე ინტერფეისი, მიმღების გარე ინტერფეისი, გარე ინტერფეისი, ინტერფეისი

ცნობები

დატოვე კომენტარი

თქვენი ელფოსტის მისამართი არ გამოქვეყნდება. მონიშნულია აუცილებელი ველები *