ចំណុចប្រទាក់ខាងក្រៅអ្នកទទួល JAVAD GREIS GNSS

លក្ខណៈបច្ចេកទេស

  • ផលិតផល៖ អ្នកទទួល GREIS GNSS
  • កំណែកម្មវិធីបង្កប់: 4.5.00
  • កែប្រែចុងក្រោយ៖ ថ្ងៃទី ១៤ ខែតុលា ឆ្នាំ ២០២៤

ព័ត៌មានអំពីផលិតផល

ឧបករណ៍ទទួល GREIS GNSS គឺជាឧបករណ៍ចំណុចប្រទាក់ខាងក្រៅដែលមានភាពជាក់លាក់ខ្ពស់ដែលរចនាដោយ JAVAD GNSS ដោយផ្តល់នូវព័ត៌មានទីតាំងត្រឹមត្រូវ។

សេចក្តីផ្តើម

GREIS គឺ​ជា​ឧបករណ៍​ដែល​អាច​ប្រើ​បាន​ច្រើន​សម្រាប់​កម្មវិធី​ផ្សេងៗ។ នេះគឺជាចំណុចសំខាន់ៗមួយចំនួន៖

  • GREIS ជាអ្វី៖ វាគឺជាឧបករណ៍ចំណុចប្រទាក់ខាងក្រៅសម្រាប់អ្នកទទួល GNSS ។
  • តើ GREIS ត្រូវបានប្រើប្រាស់យ៉ាងដូចម្តេច៖ វាត្រូវបានប្រើដើម្បីបង្កើនមុខងារ និងភាពត្រឹមត្រូវនៃប្រព័ន្ធ GNSS ។
  • បញ្ជី៖ សូមមើលសៀវភៅដៃសម្រាប់បញ្ជីលម្អិតនៃមុខងារ និងមុខងារដែលបានគាំទ្រ។
  • វត្ថុ៖ រុករកវត្ថុផ្សេងៗគ្នាដែលអាចប្រើប្រាស់ជាមួយ GREIS សម្រាប់កិច្ចការជាក់លាក់។

ភាសាបញ្ចូលអ្នកទទួល

ភាសាបញ្ចូលអ្នកទទួលអនុញ្ញាតឱ្យអ្នកប្រើធ្វើអន្តរកម្មជាមួយឧបករណ៍ដោយប្រើពាក្យបញ្ជាជាក់លាក់ និងវាក្យសម្ព័ន្ធ។ នេះជាការសង្ខេបview:

  • ភាសា Examples: រៀនពីឧamples ដើម្បីយល់ពីរបៀបទំនាក់ទំនងជាមួយឧបករណ៍។
  • វាក្យសម្ព័ន្ធភាសា៖ ស្គាល់ខ្លួនអ្នកជាមួយនឹងច្បាប់វាក្យសម្ព័ន្ធសម្រាប់ការផ្ញើពាក្យបញ្ជាទៅកាន់អ្នកទទួល។
  • ពាក្យបញ្ជា៖ ប្រើប្រាស់ពាក្យបញ្ជាផ្សេងៗដើម្បីគ្រប់គ្រង និងកំណត់រចនាសម្ព័ន្ធឧបករណ៍ដោយផ្អែកលើតម្រូវការរបស់អ្នក។

សារអ្នកទទួល

ការយល់ដឹងអំពីសារអ្នកទទួលគឺមានសារៈសំខាន់សម្រាប់ការបកស្រាយទិន្នន័យ និងព័ត៌មានស្ថានភាព។ នេះជាអ្វីដែលអ្នកត្រូវដឹង៖

  • សន្និបាត៖ អនុវត្តតាមទម្រង់ និងតម្លៃជាក់លាក់សម្រាប់ការបកប្រែសារឱ្យបានត្រឹមត្រូវ។
  • ស្ទ្រីមសារស្តង់ដារ៖ រុករកទម្រង់សារស្តង់ដារសម្រាប់ការបញ្ជូនទិន្នន័យស្របគ្នា។

សំណួរគេសួរញឹកញាប់

សំណួរ៖ តើខ្ញុំអាចកែប្រែកម្មវិធីបង្កប់របស់អ្នកទទួល GREIS GNSS បានទេ?
ចម្លើយ៖ ទេ ការកែប្រែកម្មវិធីបង្កប់មិនត្រូវបានអនុញ្ញាតតាមបទប្បញ្ញត្តិរក្សាសិទ្ធិរបស់ JAVAD GNSS ទេ។

សំណួរ៖ តើខ្ញុំអាចទទួលបានការគាំទ្រសម្រាប់បញ្ហាបច្ចេកទេសទាក់ទងនឹងអ្នកទទួល GREIS GNSS យ៉ាងដូចម្តេច?
A: សម្រាប់ជំនួយបច្ចេកទេស សូមទាក់ទង JAVAD GNSS ដោយផ្ទាល់សម្រាប់ជំនួយ។

សូមអរគុណសម្រាប់ការទិញឧបករណ៍ទទួល JAVAD GNSS របស់អ្នក។ សម្ភារៈដែលមាននៅក្នុងមគ្គុទ្ទេសក៍យោងនេះ ("មគ្គុទ្ទេសក៍") ត្រូវបានរៀបចំដោយ JAVAD GNSS, Inc. សម្រាប់ម្ចាស់ផលិតផល JAVAD GNSS ។ វាត្រូវបានរចនាឡើងដើម្បីជួយម្ចាស់ក្នុងការប្រើប្រាស់អ្នកទទួល ហើយការប្រើប្រាស់របស់វាត្រូវគោរពតាមលក្ខខណ្ឌទាំងនេះ (“លក្ខខណ្ឌ”)។

លក្ខខណ្ឌ
អ្នកទទួល JAVAD GNSS ប្រើដោយវិជ្ជាជីវៈត្រូវបានរចនាឡើងដើម្បីប្រើដោយអ្នកជំនាញ។ អ្នក​ប្រើ​ត្រូវ​បាន​គេ​រំពឹង​ថា​នឹង​មាន​ចំណេះ​ដឹង​និង​ការ​យល់​ដឹង​ល្អ​អំពី​អ្នក​ប្រើ​និង​ការ​ណែនាំ​សុវត្ថិភាព​មុន​ពេល​ប្រតិបត្តិការ, ពិនិត្យ​ឬ​ការ​កែសម្រួល​។ តែងតែពាក់ឧបករណ៍ការពារដែលត្រូវការ (ស្បែកជើងសុវត្ថិភាព មួកសុវត្ថិភាព។ល។) នៅពេលដំណើរការឧបករណ៍ទទួល។

ការបដិសេធនៃការធានា លើកលែងតែការធានាណាមួយនៅក្នុងការណែនាំនេះ ឬប័ណ្ណធានាដែលភ្ជាប់មកជាមួយផលិតផល ការណែនាំនេះ និងអ្នកទទួលគឺត្រូវបានផ្តល់ "ដូចដែល" ។ មិនមានការធានាផ្សេងទៀតទេ។ JAVAD GNSS បដិសេធការធានាដោយប្រយោលនៃការលក់ដូរ ឬសមភាពសម្រាប់ការប្រើប្រាស់ ឬគោលបំណងជាក់លាក់ណាមួយ។ JAVAD GNSS និងអ្នកចែកចាយរបស់វានឹងមិនទទួលខុសត្រូវចំពោះកំហុសបច្ចេកទេស ឬការកែសម្រួល ឬការខកខានដែលមាននៅទីនេះ។ មិនមែនសម្រាប់ការខូចខាតដោយចៃដន្យ ឬជាលទ្ធផលដែលបណ្តាលមកពីគ្រឿងសង្ហារឹម ដំណើរការ ឬការប្រើប្រាស់សម្ភារៈនេះ ឬអ្នកទទួលនោះទេ។ ការខូចខាតដែលមិនទទួលស្គាល់បែបនេះរួមមាន ប៉ុន្តែមិនកំណត់ចំពោះការបាត់បង់ពេលវេលា ការបាត់បង់ ឬការបំផ្លាញទិន្នន័យ ការបាត់បង់ប្រាក់ចំណេញ ការសន្សំ ឬចំណូល ឬការបាត់បង់ការប្រើប្រាស់ផលិតផលនោះទេ។ លើសពីនេះ JAVAD GNSS មិនទទួលខុសត្រូវ ឬទទួលខុសត្រូវចំពោះការខូចខាត ឬការចំណាយនានាដែលកើតឡើងក្នុងការតភ្ជាប់ជាមួយនឹងការទទួលបានផលិតផលជំនួស ឬកម្មវិធី ការទាមទារដោយអ្នកដ៏ទៃ ភាពរអាក់រអួល ឬការចំណាយផ្សេងៗ។ ក្នុងករណីណាក៏ដោយ JAVAD GNSS នឹងមិនទទួលខុសត្រូវចំពោះការខូចខាត ឬបើមិនដូច្នេះទេចំពោះអ្នក ឬបុគ្គល ឬអង្គភាពណាមួយដែលលើសពីតម្លៃទិញសម្រាប់អ្នកទទួល។
កិច្ចព្រមព្រៀងអាជ្ញាប័ណ្ណ ការប្រើប្រាស់កម្មវិធីកុំព្យូទ័រ ឬកម្មវិធីណាមួយដែលផ្តល់ដោយ JAVAD GNSS ឬទាញយកពី JAVAD GNSS webគេហទំព័រ ("កម្មវិធី") ទាក់ទងនឹងអ្នកទទួលបង្កើតការទទួលយកលក្ខខណ្ឌទាំងនេះនៅក្នុងការណែនាំនេះ និងកិច្ចព្រមព្រៀងមួយដើម្បីគោរពតាមលក្ខខណ្ឌទាំងនេះ។ អ្នកប្រើប្រាស់ត្រូវបានផ្តល់អាជ្ញាប័ណ្ណផ្ទាល់ខ្លួន មិនផ្តាច់មុខ និងមិនអាចផ្ទេរបាន ដើម្បីប្រើកម្មវិធីបែបនេះក្រោមលក្ខខណ្ឌ

PREFACE លក្ខខណ្ឌ
បានបញ្ជាក់នៅទីនេះ និងក្នុងករណីណាក៏ដោយ ជាមួយឧបករណ៍ទទួលតែមួយ ឬកុំព្យូទ័រតែមួយ។ អ្នកមិនអាចប្រគល់ ឬផ្ទេរកម្មវិធី ឬអាជ្ញាប័ណ្ណនេះដោយគ្មានការយល់ព្រមជាលាយលក្ខណ៍អក្សរពី JAVAD GNSS ឡើយ។ អាជ្ញាប័ណ្ណនេះមានប្រសិទ្ធភាពរហូតដល់ការបញ្ចប់។ អ្នកអាចបញ្ចប់អាជ្ញាប័ណ្ណនៅពេលណាក៏បានដោយបំផ្លាញកម្មវិធី និងការណែនាំ។ JAVAD GNSS អាចនឹងបញ្ចប់អាជ្ញាប័ណ្ណ ប្រសិនបើអ្នកមិនគោរពតាមលក្ខខណ្ឌ ឬលក្ខខណ្ឌណាមួយ។ អ្នកយល់ព្រមបំផ្លាញកម្មវិធី និងការណែនាំនៅពេលបញ្ចប់ការប្រើប្រាស់អ្នកទទួល។ កម្មសិទ្ធិ កម្មសិទ្ធិបញ្ញា និងសិទ្ធិកម្មសិទ្ធិបញ្ញាផ្សេងទៀតទាំងអស់នៅក្នុង និងកម្មវិធីជាកម្មសិទ្ធិរបស់ JAVAD GNSS ។ ប្រសិនបើលក្ខខណ្ឌអាជ្ញាប័ណ្ណទាំងនេះមិនអាចទទួលយកបាន សូមប្រគល់កម្មវិធី និងការណែនាំដែលមិនប្រើ។

ភាពសម្ងាត់ មគ្គុទ្ទេសក៍នេះ ខ្លឹមសាររបស់វា និងកម្មវិធី (ជារួម "ព័ត៌មានសម្ងាត់") គឺជាព័ត៌មានសម្ងាត់ និងកម្មសិទ្ធិរបស់ JAVAD GNSS ។ អ្នកយល់ព្រមក្នុងការព្យាបាលព័ត៌មានសម្ងាត់របស់ JAVAD GNSS ជាមួយនឹងកម្រិតនៃការថែទាំដែលមិនមានភាពតឹងរ៉ឹងថាកម្រិតនៃការថែទាំដែលអ្នកនឹងប្រើក្នុងការការពារអាថ៌កំបាំងពាណិជ្ជកម្មដ៏មានតម្លៃបំផុតរបស់អ្នក។ គ្មានអ្វីនៅក្នុងកថាខណ្ឌនេះដាក់កម្រិតអ្នកពីការបង្ហាញព័ត៌មានសម្ងាត់ដល់និយោជិតរបស់អ្នកតាមការចាំបាច់ ឬសមស្របក្នុងប្រតិបត្តិការ ឬថែទាំអ្នកទទួលនោះទេ។ និយោជិតបែបនេះក៏ត្រូវតែរក្សាព័ត៌មានសម្ងាត់ជាសម្ងាត់ផងដែរ។ នៅក្នុងព្រឹត្តិការណ៍ដែលអ្នកត្រូវបានបង្ខំឱ្យស្របច្បាប់ក្នុងការបង្ហាញព័ត៌មានសម្ងាត់ណាមួយ អ្នកត្រូវផ្តល់ការជូនដំណឹងជាបន្ទាន់ដល់ JAVAD GNSS ដើម្បីឱ្យវាអាចស្វែងរកការបញ្ជាទិញការពារ ឬដំណោះស្រាយសមស្របផ្សេងទៀត។
WEBគេហទំព័រ; សេចក្តីថ្លែងការណ៍ផ្សេងទៀត មិនមានសេចក្តីថ្លែងការណ៍ដែលមាននៅ JAVAD GNSS ទេ។ webគេហទំព័រ (ឬផ្សេងទៀត។ website) ឬនៅក្នុងការផ្សាយពាណិជ្ជកម្មផ្សេងទៀត ឬអក្សរសិល្ប៍ JAVAD GNSS ឬធ្វើឡើងដោយនិយោជិត ឬអ្នកម៉ៅការឯករាជ្យនៃ JAVAD GNSS កែប្រែលក្ខខណ្ឌទាំងនេះ (រួមទាំងអាជ្ញាប័ណ្ណកម្មវិធី ការធានា និងការកំណត់ការទទួលខុសត្រូវ)។
សុវត្ថិភាព ការប្រើប្រាស់ឧបករណ៍ទទួលមិនត្រឹមត្រូវអាចបណ្តាលឱ្យមានរបួសដល់មនុស្ស ឬទ្រព្យសម្បត្តិ និង/ឬដំណើរការខុសប្រក្រតីនៃផលិតផល។ អ្នកទទួលគួរតែត្រូវបានជួសជុលដោយមជ្ឈមណ្ឌលសេវាកម្មធានា JAVAD GNSS ដែលមានការអនុញ្ញាតប៉ុណ្ណោះ។
MISCELLANEOUS លក្ខខណ្ឌខាងលើអាចត្រូវបានកែប្រែ កែប្រែ ជំនួស ឬលុបចោលនៅពេលណាក៏បានដោយ JAVAD GNSS ។ លក្ខខណ្ឌខាងលើនឹងត្រូវបានគ្រប់គ្រងដោយ និងបកស្រាយដោយអនុលោមតាមច្បាប់នៃរដ្ឋកាលីហ្វ័រញ៉ា ដោយមិនយោងទៅលើការប៉ះទង្គិចនៃច្បាប់។

តើ GREIS ជាអ្វី?
GREIS គឺជាភាសាអន្តរទំនាក់ទំនងដែលអនុញ្ញាតឱ្យអ្នកប្រើប្រាស្រ័យទាក់ទងប្រកបដោយប្រសិទ្ធភាពជាមួយអ្នកទទួល GNSS ដោយចូលប្រើសមត្ថភាព និងមុខងារទាំងអស់របស់ពួកគេ។
GREIS តំណាងឱ្យរចនាសម្ព័ន្ធភាសាអ្នកទទួលទូទៅសម្រាប់ជួរទាំងមូលនៃផ្នែករឹង JAVAD GNSS ។ រចនាសម្ព័នភាសានេះគឺឯករាជ្យអ្នកទទួល និងបើកចំហសម្រាប់ការកែប្រែ ឬពង្រីកនាពេលអនាគត។ GREIS គឺផ្អែកលើវិធីសាស្រ្តបង្រួបបង្រួមដែលអនុញ្ញាតឱ្យអ្នកប្រើប្រាស់គ្រប់គ្រងឧបករណ៍ទទួល JAVAD GNSS ដោយប្រើសំណុំវត្ថុដែលមានឈ្មោះសមស្រប។ ការប្រាស្រ័យទាក់ទងជាមួយវត្ថុទាំងនេះត្រូវបានសម្រេចតាមរយៈពាក្យបញ្ជា និងសារដែលបានកំណត់ជាមុន។ មិនមានឧបសគ្គជាក់លាក់ណាមួយលើចំនួន ឬប្រភេទនៃវត្ថុអ្នកទទួលដែលបានប្រើនោះទេ។

តើ GREIS ត្រូវបានប្រើប្រាស់យ៉ាងដូចម្តេច
ប្រព័ន្ធណាមួយដែលទំនាក់ទំនងជាមួយអ្នកទទួល JAVAD GNSS តាមរយៈច្រកណាមួយរបស់វា (សៀរៀល ប៉ារ៉ាឡែល USB អ៊ីសឺរណិត។ល។) នឹងប្រើពាក្យបញ្ជា និងសារ 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) ដែលត្រូវបានដកចេញក្នុងអំឡុងពេលញែក។ នៅខាងក្នុងធាតុដែលបានដកស្រង់ និមិត្តសញ្ញាពិសេស (ដង្កៀប សញ្ញាក្បៀស។ ការប្រើប្រាស់សម្រង់មួយទៀតគឺដើម្បីបែងចែករវាងលក្ខខណ្ឌ "ធាតុមិនត្រូវបានបញ្ជាក់" និង "ធាតុទទេបានបញ្ជាក់" លក្ខខណ្ឌ។ អតីត​ត្រូវ​បាន​បង្ហាញ​ដោយ​គ្រាន់​តែ​លុប​ធាតុ​មួយ​ពី​បញ្ជី ហើយ​បន្ទាប់​មក​ត្រូវ​បាន​បង្ហាញ​ដោយ​ការ​ដាក់​សញ្ញា​សម្រង់​ពីរ​គូ​រវាង​សញ្ញាក្បៀស។ ការ​សម្រង់​ក៏​មាន​ប្រយោជន៍​ដែរ​នៅ​ពេល​ដែល​អ្នក​ត្រូវ​ការ​មាន​ចន្លោះ​នាំ​មុខ​ឬ​នៅ​ពី​ក្រោយ​ក្នុង​ខ្សែ​អក្សរ។ ដើម្បី​ដាក់​សម្រង់​ទ្វេ​ទៅ​ក្នុង​ធាតុ សូម​ដក​ស្រង់​ធាតុ​នេះ ហើយ​គេច​ពី​ការ​ដកស្រង់​ពីរ​នៅ​ខាង​ក្នុង​ជាមួយ​តួអក្សរ backslash (, កូដ ASCII 92) ។ ដើម្បីដាក់ backslash ដោយខ្លួនវាទៅក្នុងខ្សែអក្សរដែលបានដកស្រង់ សូមគេចវាចេញដោយប្រើ backslash មួយផ្សេងទៀតសម្រាប់ឧampលេ៖
Example: “String with “quotes”, backslash \, និងតួអក្សរពិសេស, {}”
1.4 វត្ថុ
នៅក្នុងបរិបទនៃគំរូដែល GREIS ផ្អែកលើ អ្នកទទួល JAVAD GNSS ត្រូវបានកំណត់អត្តសញ្ញាណជាមួយនឹងសំណុំនៃវត្ថុដែលមានឈ្មោះ។

GREIS

www.javad.com

20

សេចក្តីផ្តើម វត្ថុ
ឧបករណ៍កំណត់អត្តសញ្ញាណវត្ថុ
វត្ថុត្រូវបានកំណត់ជាផ្នែករឹង ឬផ្នែកទន់នៃអ្នកទទួល ដែលអាចត្រូវបានដោះស្រាយ កំណត់ ឬសួរ។ អង្គភាពផ្នែករឹងត្រូវបានសំដៅជាទូទៅថាជាឧបករណ៍ ចំណែកវត្ថុកម្មវិធីបង្កប់ជាធម្មតា files និងប៉ារ៉ាម៉ែត្រ។ ច្រកអ្នកទទួល និងម៉ូឌុលអង្គចងចាំ សុទ្ធតែជាអតីតដ៏ល្អamples ឧបករណ៍។ ឧបករណ៍ទាំងអស់, files និងប៉ារ៉ាម៉ែត្រត្រូវបានព្យាបាលតាមរបៀបឯកសណ្ឋានដោយ GREIS ។ វត្ថុនីមួយៗមានសំណុំគុណលក្ខណៈដែលពាក់ព័ន្ធដែលអាចចូលប្រើ កំណត់ និង/ឬផ្លាស់ប្តូរតាមរយៈ GREIS ។


1.4.1 ឧបករណ៍កំណត់អត្តសញ្ញាណវត្ថុ
វាត្រូវបានគេនិយាយរួចហើយថាអ្នកទទួលត្រូវបានចាត់ទុកថាជាសំណុំនៃវត្ថុ (ឧបករណ៍, files, សារ, ប៉ារ៉ាម៉ែត្រ។ល។) នៅក្នុងបរិបទនៃគំរូ GREIS ។ សម្រាប់គោលបំណងនៃការដោះស្រាយវត្ថុនៅក្នុងពាក្យបញ្ជាអ្នកទទួល ឧបករណ៍កំណត់អត្តសញ្ញាណតែមួយគត់គួរតែត្រូវបានកំណត់ទៅគ្រប់វត្ថុទាំងអស់។


វត្ថុនៅក្នុងឧបករណ៍ទទួលត្រូវបានរៀបចំតាមបែបឡូជីខលជាក្រុម។ ក្រុមខ្លួនវាក៏ជាវត្ថុមួយ ហើយជាកម្មសិទ្ធិរបស់ក្រុមផ្សេងទៀត លុះត្រាតែវាជាក្រុមឫស។ ដូច្នេះ វត្ថុទាំងអស់នៅក្នុងអ្នកទទួលត្រូវបានរៀបចំជាឋានានុក្រមដូចដើមឈើដែលចាប់ផ្តើមពីក្រុមឫសតែមួយ។ តំណាងនេះប្រហាក់ប្រហែលនឹងអង្គការ files ចូលទៅក្នុងថតឯកសារ (folders) ដែលអ្នកប្រើប្រាស់កុំព្យូទ័រភាគច្រើនស្គាល់។
នៅក្នុង GREIS ក្រុមវត្ថុត្រូវបានតំណាងជាបញ្ជីឈ្មោះវត្ថុដែលត្រូវគ្នា។ ឈ្មោះវត្ថុគឺមានតែមួយគត់នៅក្នុងបញ្ជីដែលវត្ថុនោះជាកម្មសិទ្ធិ។ ឧបករណ៍កំណត់អត្តសញ្ញាណវត្ថុតែមួយគត់ជាសកលត្រូវបានកំណត់ថាជាឈ្មោះវត្ថុទាំងអស់នៅលើផ្លូវតាមរយៈមែកធាងវត្ថុពីបញ្ជីឫសទៅវត្ថុដែលកំណត់ដោយសញ្ញាចុចខាងមុខ (/) ។ បញ្ជី root ខ្លួនវាត្រូវបានកំណត់អត្តសញ្ញាណដោយសញ្ញាខាងមុខតែមួយ។
Examples of object identifiers គឺ៖
Exampលេ៖ ក្រុមឫស៖
/
Exampលេខសម្គាល់អេឡិចត្រូនិកអ្នកទទួល៖
/par/rcv/id
Example: Serial Port A baud rate:
/par/dev/ser/a/rate
Example: គុណលក្ខណៈ (ទំហំ និងពេលវេលាកែប្រែចុងក្រោយ) នៃ file NAME (file គុណលក្ខណៈខុសគ្នាពីគុណលក្ខណៈវត្ថុដែលបានពិភាក្សាខាងក្រោម)៖
/log/NAME
Example: ប្រយោគ NMEA GGA:

GREIS

www.javad.com

21

សេចក្តីផ្តើម ទិន្នផលតាមកាលកំណត់
ប្រភេទវត្ថុ
/msg/nmea/GGA
វត្ថុទាំងអស់មានគុណលក្ខណៈមួយ ឬច្រើនដែលភ្ជាប់ជាមួយពួកវា។ គុណលក្ខណៈវត្ថុត្រូវបានកំណត់អត្តសញ្ញាណដោយការបន្ថែមតួអក្សរ & និងឈ្មោះគុណលក្ខណៈទៅឧបករណ៍កំណត់អត្តសញ្ញាណវត្ថុ។ គុណលក្ខណៈចម្បងដែលវត្ថុនីមួយៗមានគឺតម្លៃ។ គុណលក្ខណៈនេះតែងតែត្រូវបានចូលប្រើដោយពាក្យបញ្ជា GREIS ។ វត្ថុមួយចំនួនអាចមានគុណលក្ខណៈបន្ថែម ឧទាហរណ៍ampលេ៖ ឧample: Serial port អត្រា baud លំនាំដើម៖
/par/dev/ser/a/rate&def
Example: ខ្លឹមសារនៃ file ឈ្មោះ៖
/log/NAME&មាតិកា
1.4.2 ប្រភេទវត្ថុ
រាល់វត្ថុនៅក្នុងឧបករណ៍ទទួលមានប្រភេទ GREIS ដែលភ្ជាប់ជាមួយវា។ ប្រភេទនៃវត្ថុកំណត់ឥរិយាបថរបស់វាទាក់ទងនឹងពាក្យបញ្ជា GREIS ។ ជាពិសេស ប្រភេទកំណត់តម្លៃដែលវត្ថុអាចទទួលយកបាន និងពាក្យបញ្ជាជាក់លាក់ណាមួយដែលអាចអនុវត្តបានចំពោះវត្ថុ។
សូមមើល "ប្រភេទវត្ថុបឋម" នៅទំព័រ 184 សម្រាប់ការពិពណ៌នាលម្អិតនៃប្រភេទវត្ថុដែលគាំទ្របច្ចុប្បន្ន។

GREIS

1.5 ទិន្នផលតាមកាលកំណត់

តួនាទីដ៏សំខាន់នៅក្នុងប្រតិបត្តិការអ្នកទទួល ដើរតួជាសមត្ថភាពរបស់វាក្នុងការចេញព័ត៌មានមួយចំនួនជាទៀងទាត់ ដូចជាប្រភេទផ្សេងគ្នានៃការវាស់វែង តម្លៃដែលបានគណនាជាដើម យោងទៅតាមកាលវិភាគដែលបានបញ្ជាក់។ GREIS កំណត់សំណុំសារដ៏សំបូរបែបដែលមានប្រភេទព័ត៌មានផ្សេងៗគ្នាក្នុងទម្រង់ផ្សេងៗគ្នា ដែលជាឯកតាទិន្នផលតិចបំផុត និងផ្តល់នូវវិធីសាស្រ្តដើម្បីស្នើសុំលទ្ធផលតាមកាលកំណត់នៃការរួមបញ្ចូលគ្នានៃសារណាមួយតាមលំដាប់ទៅប្រព័ន្ធផ្សព្វផ្សាយដែលគាំទ្រណាមួយដែលសមរម្យសម្រាប់លទ្ធផលទិន្នន័យ។ ឧបករណ៍ផ្ទុកដែលគាំទ្រណាមួយដែលសមរម្យសម្រាប់លទ្ធផលទិន្នន័យត្រូវបានគេហៅថាស្ទ្រីមលទ្ធផលនៅក្នុង GREIS ។
សម្រាប់រាល់ការស្ទ្រីមលទ្ធផល អ្នកទទួលរក្សាបញ្ជីសារដែលបច្ចុប្បន្នត្រូវបានបើកឱ្យបញ្ចូលទៅក្នុងស្ទ្រីម ហៅថាបញ្ជីលទ្ធផល។ លំដាប់​ដែល​សារ​ចេញ​ត្រូវ​នឹង​លំដាប់​នៃ​សារ​ក្នុង​បញ្ជី​លទ្ធផល។ លើសពីនេះ រាល់សារដែលមាននៅក្នុងបញ្ជីលទ្ធផលមានសំណុំនៃប៉ារ៉ាម៉ែត្រកំណត់ពេលដែលត្រូវភ្ជាប់ជាមួយវា។ ការកំណត់កាលវិភាគដែលភ្ជាប់ទៅសារក្នុងបញ្ជីលទ្ធផលកំណត់កាលវិភាគនៃលទ្ធផលនៃសារជាក់លាក់នេះទៅក្នុងស្ទ្រីមលទ្ធផលជាក់លាក់នេះ។ GREIS ផ្តល់ com- បី

www.javad.com

22

សេចក្តីផ្តើម ដំណាក់កាលទិន្នផលទិន្នផល និងដំណាក់កាល
mands, em, out, និង dm ដើម្បីអនុញ្ញាតឱ្យមានការគ្រប់គ្រងប្រកបដោយប្រសិទ្ធភាពនៃបញ្ជីលទ្ធផល និងការកំណត់កាលវិភាគ។
ប៉ារ៉ាម៉ែត្រកំណត់ពេលសារមានវាលចំនួនបួន៖ រយៈពេល ដំណាក់កាល ចំនួន និងទង់ ដែលនីមួយៗមានតួនាទីខុសៗគ្នាក្នុងការកំណត់តារាងលទ្ធផល។ ខាងក្រោមនេះយើងនឹងពណ៌នាអំពីរបៀបដែលតម្លៃរបស់វាប៉ះពាល់ដល់លទ្ធផល ប៉ុន្តែជាមូលដ្ឋាន អំឡុងពេលកំណត់ចន្លោះពេលរវាងលទ្ធផលនៃសារ។ ដំណាក់កាលបញ្ជាក់ការផ្លាស់ប្តូរពេលវេលានៃពេលវេលានៃទិន្នផលដោយគោរពតាមពេលវេលានៅពេលដែលពេលវេលាបច្ចុប្បន្នគឺច្រើននៃរយៈពេល; ការរាប់ នៅពេលដែលធំជាងសូន្យ កំណត់ចំនួនដងដែលសារនឹងចេញ។ ចំណែកទង់ជាតិ filed អនុញ្ញាតឱ្យមានការកែតម្រូវមួយចំនួននៃដំណើរការលទ្ធផល។

1.5.1 រយៈពេលទិន្នផល និងដំណាក់កាល

ចំណាំ៖

វាលរយៈពេល និងដំណាក់កាលនៃប៉ារ៉ាម៉ែត្រកំណត់ពេលសារគឺជាតម្លៃចំណុចអណ្តែតក្នុងចន្លោះ [0…86400) វិនាទី។ អត្ថន័យពិតប្រាកដរបស់ពួកគេត្រូវបានពិពណ៌នាខាងក្រោម។
នៅពេលដែលប៊ីត F_CHANGE ត្រូវបានកំណត់នៅក្នុងវាលទង់នៃប៉ារ៉ាម៉ែត្រកំណត់ពេល វាលដំណាក់កាលនឹងបាត់បង់តួនាទីធម្មតារបស់វា ហើយក្លាយជា "រយៈពេលលទ្ធផលបង្ខំ" ជំនួសវិញ។ សូមមើលការពិពណ៌នាអំពីទង់ F_CHANGE ខាងក្រោមសម្រាប់ព័ត៌មានលម្អិត។
អ្នកទទួលមានក្រឡាចត្រង្គពេលវេលាខាងក្នុងរបស់វា ដែលត្រូវបានកំណត់ដោយនាឡិកាអ្នកទទួល និងតម្លៃនៃប៉ារ៉ាម៉ែត្រ /par/raw/curmsint ដែលកំណត់ជំហាននៃសម័យខាងក្នុងរបស់អ្នកទទួល។ សម័យខាងក្នុងរបស់អ្នកទទួលកើតឡើងនៅពេលដែលអ្នកទទួលពេលវេលាច្រើននៃជំហាន។ នៅក្នុងវេន ពេលវេលាអ្នកទទួលត្រូវបានកំណត់ជាតម្លៃនៃម៉ូឌុលនាឡិកាអ្នកទទួលមួយថ្ងៃ (86400 វិនាទី)។ អ្នកទទួលស្កេនបញ្ជីលទ្ធផលតែនៅសម័យអ្នកទទួលខាងក្នុងប៉ុណ្ណោះ ដូច្នេះគ្មានលទ្ធផលណាមួយអាចត្រូវបានបង្កើតញឹកញាប់ជាងនោះទេ។
ដោយពិចារណាលើក្រឡាចត្រង្គពេលវេលាខាងក្នុង អថេររយៈពេល និងដំណាក់កាលកំណត់ពេលវេលានៃលទ្ធផលនៃសារដូចខាងក្រោមៈ អ្នកទទួលនឹងបញ្ចេញសារតែនៅពេលវេលាអ្នកទទួល Tout ក្នុងពេលដំណាលគ្នាបំពេញសមីការពីរខាងក្រោម៖

រយៈពេល Toutmod = ដំណាក់កាល

(១៦១៦)

Tout = N ជំហានទី (2)

GREIS

ដែល N ជាចំនួនគត់ដែលយកតម្លៃ [0,1,2,…,(86400/step)-1]។
សមីការទីមួយកំណត់ច្បាប់ជាមូលដ្ឋាននៃលទ្ធផលសារ ហើយទីពីរកំណត់ឧបសគ្គបន្ថែមទាក់ទងនឹងសម័យអ្នកទទួលខាងក្នុង។ ចំណាំថាក្នុងករណីធម្មតាបំផុត នៅពេលដែលទាំងពីរដំណាក់កាល និងដំណាក់កាលគឺពហុគុណនៃជំហាន សមីការទីពីរនឹងពេញចិត្តដោយស្វ័យប្រវត្តិនៅពេលណាដែលសមីការទីមួយពេញចិត្ត។ ចំណាំផងដែរថាប្រសិនបើ
86400 (សម័យ mod) 0,

www.javad.com

23

សេចក្តីផ្តើម ទិន្នផលតាមកាលកំណត់
ចំនួនទិន្នផល

Exampលេ៖
Exampលេ៖ ឧampលេ៖

ចន្លោះពេលជាក់ស្តែងរវាងសារចុងក្រោយដែលបានផ្ញើមុនថ្ងៃវិលជុំ និងសារដំបូងបន្ទាប់ពីការវិលជុំថ្ងៃនឹងខុសពីតម្លៃនៃអំឡុងពេល។
ពិចារណាអតីតពីរបីampបង្ហាញយន្តការនេះ៖
ឧបមាថារយៈពេលគឺ 10s ដំណាក់កាលគឺ 2.2s និងជំហានគឺ 0.2s ។ ក្នុងនាមជា Tout យោងទៅតាមសមីការទីពីរអាចយកតែតម្លៃដែលមានពហុគុណនៃជំហានប៉ុណ្ណោះ ផ្នែកខាងឆ្វេងនៃសមីការទីមួយនឹងយកតម្លៃដូចខាងក្រោម: 0, 0.2, 0.4, …, 9.8, 0, … ដែលមានតែតម្លៃប៉ុណ្ណោះ។ 2.2 ដំណាក់កាលផ្គូផ្គង។ ការផ្គូផ្គងទាំងនេះនឹងកើតឡើង ហើយសារនឹងត្រូវបានបញ្ចេញ រាល់ពេលដែល Tout យកតម្លៃមួយក្នុងចំណោមតម្លៃខាងក្រោម៖ 2.2s, 12.2s, 22.2s ។ល។
ឧបមាថារយៈពេលគឺ 10s ដំណាក់កាលគឺ 2.2s និងជំហានគឺ 0.5s ។ អ្នកទទួលនឹងមិនបញ្ចេញសារទេ ដោយសារសមីការដំណាលគ្នាខាងលើមិនពេញចិត្ត។
ឧបមាថាដំណាក់កាល > រយៈពេល។ អ្នកទទួលនឹងមិនបញ្ចេញសារទាល់តែសោះ ព្រោះសមីការទីមួយនឹងមិនពេញចិត្តឡើយ។

1.5.2 ចំនួនទិន្នផល

ចំណាំ៖

វាលរាប់នៃប៉ារ៉ាម៉ែត្រកំណត់ពេលសារគឺជាតម្លៃចំនួនគត់ក្នុងជួរ [-256…32767) និងបម្រើគោលបំណងពីរផ្សេងគ្នា៖
1. នៅពេលរាប់គឺ 0 ចំនួនសារដែលគ្មានដែនកំណត់នឹងត្រូវបានបញ្ចេញ។ នៅពេលដែលការរាប់ធំជាង 0 វាកំណត់ចំនួនដងដែលសារនឹងចេញ។ ក្នុងករណីនេះ បញ្ជរត្រូវបន្ថយដោយ 1 រាល់ពេលដែលសារចេញ ហើយនៅពេលដែលវាក្លាយជា 0 ប៊ីត F_DISABLED ត្រូវបានកំណត់នៅក្នុងវាលទង់។ កម្មវិធីកំណត់ពេលសារមិនបញ្ចេញសារជាមួយនឹងការកំណត់ F_DISABLED ទេ។
2. នៅពេលដែលការរាប់ត្រូវបានកំណត់ទៅតម្លៃក្នុងជួរ [-256…-1] លទ្ធផលនៃសារមិនត្រូវបានបង្ក្រាបទេ ហើយវាលរាប់បម្រើគោលបំណងខុសគ្នាទាំងស្រុង។ វាអនុញ្ញាតការរុំសារទៅជាសារ [>>] ពិសេសមុនពេលចេញ (សូមមើល “[>>] Wrapper” នៅទំព័រ 132)។ បន្ទាប់មកតម្លៃនៃការរាប់ត្រូវបានប្រើដើម្បីកំណត់វាលលេខសម្គាល់នៅក្នុងសារដែលបានបង្កើត [>>] ដូច្នេះលេខសម្គាល់គឺស្មើនឹង (-1 – រាប់) ។
មុខងាររុំគឺមានប្រយោជន៍សម្រាប់ឧample សម្រាប់កម្មវិធីម៉ាស៊ីនមេដែលទទួលសារពីអ្នកទទួល និងបញ្ជូនពួកគេទៅកាន់អតិថិជនច្រើន។ វាអាចស្នើសុំការរុំសារដែលបំពានទៅក្នុង [>>] សារដែលមានអត្តសញ្ញាណផ្សេងគ្នា ស្រាយសារដែលបានទទួល និងបញ្ជូនទិន្នន័យទៅអតិថិជនជាក់លាក់ដោយផ្អែកលើលេខសម្គាល់ដែលបានទទួល។ ការប្រើប្រាស់មុខងារនេះ កម្មវិធីបែបនេះមិនចាំបាច់ដឹងពីទម្រង់ទិន្នន័យផ្សេងទៀតទេ ប៉ុន្តែជាទម្រង់នៃសារ [>>] ហើយអាចប្រើបណ្តាញទំនាក់ទំនងតែមួយជាមួយអ្នកទទួលដើម្បីទទួលបាន និងបញ្ជូនសារក្នុងទម្រង់ផ្សេងៗគ្នា។

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 និងចេញ។
F_DISABLED មិន​អាច​សរសេរ​កម្មវិធី​បាន​ដោយ​អ្នក​ប្រើ​ទេ។ នៅពេលដែលគេបើកសារដែលមានចំនួនវិជ្ជមាន នោះបន្ទាប់ពីសារនេះត្រូវបានចេញចំនួនដង កម្មវិធីកំណត់ពេលសារកំណត់ទង់នេះទៅជា 1។ ទង់នេះត្រូវបានជម្រះទៅ 0 នៅពេលដែលសារត្រូវបានបើកឡើងវិញ លុះត្រាតែទង់ F_NOTENA ត្រូវបានកំណត់សម្រាប់ សារនេះ។

1. បច្ចុប្បន្នមានតែសារ GREIS ពីរ [JP] និង [MF] គោរពទង់នេះ។

GREIS

www.javad.com

26

ជំពូកទី 2
ភាសាបញ្ចូលអ្នកទទួល

ជំពូកនេះពិពណ៌នាអំពីវាក្យសម្ព័ន្ធ និងអត្ថន័យនៃភាសាបញ្ចូលអ្នកទទួល។ យើងចាប់ផ្តើមជាមួយអតីតamples ដើម្បីផ្តល់ឱ្យអ្នកអាននូវអារម្មណ៍នៃភាសា បន្ទាប់មកងាកទៅរកនិយមន័យវាក្យសម្ព័ន្ធលម្អិត ហើយបន្ទាប់មកពិពណ៌នាពាក្យបញ្ជាដែលបានកំណត់ទាំងអស់រួមជាមួយនឹងអត្ថន័យរបស់វា។

2.1 ភាសា Examples

នេះគឺជាអតីតមួយចំនួនamples of real statements អ្នកទទួលយល់រួមជាមួយនឹងការឆ្លើយតបរបស់អ្នកទទួល។ អ្នកនឹងរកឃើញ examples នៃការប្រើប្រាស់ពាក្យបញ្ជាជាក់លាក់នៅក្នុងផ្នែករងដែលត្រូវគ្នា។ ការបញ្ចូលទៅអ្នកទទួលត្រូវបានសម្គាល់ដោយតួអក្សរ ខណៈពេលដែលលទ្ធផលអ្នកទទួលត្រូវបានសម្គាល់ដោយតួអក្សរ៖

Example: សុំឱ្យអ្នកទទួលបោះពុម្ពលេខសម្គាល់អេឡិចត្រូនិករបស់វា។ អ្នកទទួលបង្កើតសារឆ្លើយតបដែលបង្ហាញ៖

Exampលេ៖

បោះពុម្ព,/par/rcv/id RE00C QP01234TR45
សុំឱ្យអ្នកទទួលកំណត់អត្រា baud នៃច្រកសៀរៀលរបស់វា A ដល់ 9600។ អ្នកទទួលប្រតិបត្តិពាក្យបញ្ជាដោយជោគជ័យ ហើយមិនបង្កើតការឆ្លើយតបណាមួយឡើយ។

កំណត់,/par/dev/ser/a/rate,9600
Example: ប្រើពាក្យបញ្ជាដូចក្នុង ex មុន។ample, ប៉ុន្តែបង្ខំអ្នកទទួលដើម្បីបង្កើតការឆ្លើយតបដោយមធ្យោបាយនៃការប្រើប្រាស់អត្តសញ្ញាណសេចក្តីថ្លែងការណ៍។

Exampលេ៖

%set_rate%set,/par/dev/ser/a/rate,9600 RE00A%set_rate%
ព្យាយាមកំណត់អត្រា baud ខ្ពស់ពេក។ អ្នកទទួលឆ្លើយតបជាមួយនឹងសារកំហុស ទោះបីជាយើងមិនបានប្រើឧបករណ៍កំណត់អត្តសញ្ញាណសេចក្តីថ្លែងការណ៍ក៏ដោយ។

កំណត់,/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) ឬ line-feed ( កូដទសភាគ ASCII 10) តួអក្សរ ដើម្បីជាធាតុវាក្យសម្ព័ន្ធកម្រិតកំពូលនៃភាសា។ បន្ទាត់ទទេត្រូវបានអនុញ្ញាត និងមិនអើពើនៅក្នុង GREIS ។ ជាលទ្ធផល បន្ទាត់មួយអាចត្រូវបានកំណត់ដោយការរួមបញ្ចូលគ្នានៃ និង/ឬ តួអក្សរ។ វាអនុញ្ញាតឱ្យ GREIS គាំទ្រយ៉ាងរលូននូវអនុសញ្ញាបញ្ចប់បន្ទាត់ WindowsTM, MacTM និង UNIXTM ។
ភាសាបញ្ចូលអ្នកទទួលគឺប្រកាន់អក្សរតូចធំ។ វាមានន័យថាសម្រាប់ឧample, ខ្សែអក្សរ GREIS, greis, និង gReIs, ជាខ្សែផ្សេងគ្នា, គឺពិតជាត្រូវបានចាត់ទុកដោយអ្នកទទួល។
សញ្ញាលេខ (#, ASCII code 35) គឺជាតួអក្សរណែនាំមតិ។ អ្នកទទួលមិនអើពើអ្វីគ្រប់យ៉ាងដែលចាប់ផ្តើមពីតួអក្សរនេះរហូតដល់ចុងបញ្ចប់នៃបន្ទាត់។
បន្ទាប់ពីមតិយោបល់ (ប្រសិនបើមាន) ត្រូវបានដកចេញពីបន្ទាត់ អ្នកទទួលដកឃ្លានាំមុខ និងបន្តបន្ទាប់ ហើយបន្ទាប់មកបំបែកបន្ទាត់ទៅជាសេចក្តីថ្លែងការណ៍។ សេចក្តីថ្លែងការណ៍ត្រូវបានកំណត់ដោយសញ្ញាក្បៀស (;, ASCII code 59) ឬជាមួយពីរ ampersands (&&, លេខកូដ ASCII 38) ឬជាមួយរបារបញ្ឈរពីរ (||, លេខកូដ ASCII 124)។ បន្ទាប់មកសេចក្តីថ្លែងការណ៍នៅក្នុងបន្ទាត់មួយត្រូវបានប្រតិបត្តិតាមលំដាប់លំដោយ ពីឆ្វេងទៅស្តាំ។ ប្រសិនបើសេចក្តីថ្លែងការណ៍ដែលបញ្ចប់ដោយ && អ្នកកំណត់ព្រំដែនបង្កើតកំហុស សេចក្តីថ្លែងការណ៍ដែលនៅសល់ក្នុងបន្ទាត់មិនត្រូវបានប្រតិបត្តិទេ។ ប្រសិនបើសេចក្តីថ្លែងការណ៍បញ្ចប់ដោយ || អ្នកកំណត់ព្រំដែនប្រតិបត្តិដោយជោគជ័យ សេចក្តីថ្លែងការណ៍ដែលនៅសល់ក្នុងបន្ទាត់មិនត្រូវបានប្រតិបត្តិទេ។ សេចក្តីថ្លែងការណ៍ដែលបញ្ចប់ដោយសញ្ញាក្បៀសមិនដែលបញ្ឈប់ការប្រតិបត្តិនៃលំដាប់នៃសេចក្តីថ្លែងនោះទេ។ ចំណាំថាចុងបញ្ចប់នៃបន្ទាត់គឺដោយខ្លួនវាផ្ទាល់ statement terminator ដូច្នេះអ្នកមិនចាំបាច់ដាក់កំណត់ព្រំដែននៃសេចក្តីថ្លែងការណ៍ច្បាស់លាស់មួយនៅចុងបញ្ចប់នៃបន្ទាត់នោះទេ។
ទម្រង់នៃសេចក្តីថ្លែងការណ៍មានដូចខាងក្រោម៖
[%ID%][COMMAND][@CS] ដែលតង្កៀបការ៉េបង្ហាញអំពីវាលស្រេចចិត្ត ហើយចំនួនដកឃ្លាណាមួយត្រូវបានអនុញ្ញាតមុន និងក្រោយវាលនីមួយៗ។ ការដកឃ្លាបែបនេះមិនត្រូវបានអើពើ លើកលែងតែសម្រាប់គោលបំណងនៃការគណនាមូលប្បទានប័ត្រសូមមើលខាងក្រោម។ វាលគឺ៖
ការកំណត់អត្តសញ្ញាណសេចក្តីថ្លែងការណ៍ %ID% ដែលលេខសម្គាល់តំណាងឱ្យខ្សែអក្សរតាមអំពើចិត្ត ប្រហែលជាទទេ។ ឧបករណ៍កំណត់អត្តសញ្ញាណ ប្រសិនបើមានវត្តមាន គឺត្រូវបានចម្លងដោយមិនផ្លាស់ប្តូរដោយអ្នកទទួលទៅក្នុងសារឆ្លើយតបសម្រាប់សេចក្តីថ្លែងការណ៍។ សេចក្តីថ្លែងការណ៍ណាមួយដែលមានឧបករណ៍កំណត់អត្តសញ្ញាណនឹងបង្កើតការឆ្លើយតបពីអ្នកទទួលជានិច្ច។ សេចក្តីថ្លែងការណ៍ដែលមានតែឧបករណ៍កំណត់អត្តសញ្ញាណក៏ត្រូវបានអនុញ្ញាតផងដែរ។ ក្នុងករណីបែបនេះ អ្នកទទួលនឹងបង្កើតសារឆ្លើយតប។
បញ្ជាបញ្ជី (ប្រហែលជាទទេ) ដែលធាតុទីមួយត្រូវបានគេហៅថាឈ្មោះពាក្យបញ្ជា។ វាបង្ហាញពីសកម្មភាពដែលត្រូវអនុវត្ត។ ធាតុដែលនៅសល់ (ប្រសិនបើមាន) គឺជាពាក្យបញ្ជា

GREIS

1. ការអនុវត្ត GREIS បច្ចុប្បន្ននៅក្នុងអ្នកទទួលគាំទ្របន្ទាត់ដែលមានប្រវែងរហូតដល់ 256 តួអក្សរ។

www.javad.com

28

វាក្យសម្ព័ន្ធភាសានៃអ្នកទទួលបញ្ចូលភាសា
អាគុយម៉ង់។ ដង្កៀបដែលនៅជុំវិញបញ្ជីពាក្យបញ្ជាអាចត្រូវបានលុបចោល។ សូមមើល "បញ្ជី" នៅទំព័រ 19 សម្រាប់វាក្យសម្ព័ន្ធនៃបញ្ជី។ @CS checksum ដែល CS គឺ 8-bit checksum ធ្វើទ្រង់ទ្រាយជាលេខគោលដប់ប្រាំពីរ 2-byte។ មុនពេលប្រតិបត្តិសេចក្តីថ្លែងការណ៍ជាមួយ checksum អ្នកទទួលនឹងប្រៀបធៀបការបញ្ចូល checksum CS ប្រឆាំងនឹងអ្វីដែលគណនាដោយកម្មវិធីបង្កប់ ហើយនឹងបដិសេធមិនប្រតិបត្តិសេចក្តីថ្លែងការណ៍ ប្រសិនបើ checksum ទាំងនេះមិនត្រូវគ្នា។ Checksum ត្រូវ​បាន​គណនា​ដោយ​ចាប់​ផ្ដើម​ដោយ​តួអក្សរ​មិន​ទទេ​ដំបូង​របស់​សេចក្តីថ្លែងការណ៍​រហូត​ដល់​និង​រួម​បញ្ចូល​តួអក្សរ @ ។ សូមមើល “ការបូកសរុបនៃការគណនា” នៅលើទំព័រ 579 សម្រាប់ព័ត៌មានលម្អិត។
ការកំណត់អត្តសញ្ញាណសេចក្តីថ្លែងការណ៍ %ID% បម្រើគោលបំណងដូចខាងក្រោម៖
1. បង្ខំអ្នកទទួលការឆ្លើយតបទៅនឹងពាក្យបញ្ជា។ 2. អនុញ្ញាត​ឱ្យ​ផ្ញើ​ពាក្យ​បញ្ជា​ច្រើន​ជាមួយ​នឹង​ការ​កំណត់​អត្តសញ្ញាណ​ផ្សេង​គ្នា​ទៅ​កាន់​អ្នក​ទទួល
ដោយ​មិន​ចាំ​បាច់​រង់ចាំ​ការ​ឆ្លើយតប​សម្រាប់​រាល់​ពាក្យ​បញ្ជា បន្ទាប់​មក​ទទួល​ការ​ឆ្លើយតប ហើយ​ប្រាប់​ថា​ការ​ឆ្លើយតប​មួយ​ណា​ត្រូវ​នឹង​ពាក្យ​បញ្ជា​មួយ​ណា។ 3. ជួយបង្កើតការធ្វើសមកាលកម្មជាមួយអ្នកទទួលដោយអនុញ្ញាតឱ្យពិនិត្យមើលការឆ្លើយតបរបស់អ្នកទទួលជាក់លាក់នោះត្រូវគ្នានឹងពាក្យបញ្ជាជាក់លាក់ និងមិនចំពោះពាក្យបញ្ជាផ្សេងទៀតដែលចេញមុន ឬក្រោយ។
បញ្ជីឈ្មោះជម្រើសអាចត្រូវបានបន្ថែមទៅធាតុណាមួយនៃពាក្យបញ្ជាបន្ទាប់ពីសញ្ញា (:, ASCII code 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 បញ្ចូលភាសា
2.3 ពាក្យបញ្ជា
នៅក្នុងផ្នែកនេះ យើងពិពណ៌នាអំពីពាក្យបញ្ជាទាំងអស់ដែលបានកំណត់នៅក្នុង GREIS ។ វាក្យសម្ព័ន្ធ និងអត្ថន័យជាក់លាក់នៃពាក្យបញ្ជានីមួយៗត្រូវបានអមដោយ ឧamples ។ សម្រាប់ការពិពណ៌នាលម្អិតនៃវត្ថុដែលប្រើជាអាគុយម៉ង់ក្នុង examples សូមយោងទៅជំពូកទី 4 នៅទំព័រ 181 ។

GREIS

www.javad.com

31

2.3.1 ឈុត

កំណត់ពាក្យបញ្ជាបញ្ចូលភាសាអ្នកទទួល

ឈ្មោះ
កំណត់តម្លៃកំណត់នៃវត្ថុមួយ។
សង្ខេប
ទម្រង់៖ កំណត់ វត្ថុ តម្លៃ ជម្រើស៖ គ្មាន
អាគុយម៉ង់
កំណត់អត្តសញ្ញាណវត្ថុគោលដៅ។ ប្រសិនបើវត្ថុមិនចាប់ផ្តើមដោយ “/” នោះបុព្វបទ “/par/” ត្រូវបានបញ្ចូលដោយស្វ័យប្រវត្តិនៅចំពោះមុខវត្ថុ មុនពេលប្រតិបត្តិពាក្យបញ្ជា។
តម្លៃ​ដែល​ត្រូវ​កំណត់​ទៅ​វត្ថុ​គោលដៅ។ ជួរនៃតម្លៃដែលបានអនុញ្ញាត ក៏ដូចជាអត្ថន័យនៃកិច្ចការគឺអាស្រ័យលើប្រភេទនៃវត្ថុ ហើយត្រូវបានបញ្ជាក់នៅពេលក្រោយនៅក្នុងសៀវភៅណែនាំនេះសម្រាប់រាល់វត្ថុដែលបានគាំទ្រ។
ជម្រើស
គ្មាន។
ការពិពណ៌នា
ពាក្យបញ្ជានេះកំណត់តម្លៃទៅវត្ថុ។ គ្មានការឆ្លើយតបណាមួយត្រូវបានបង្កើតទេ លុះត្រាតែមានកំហុស ឬការឆ្លើយតបត្រូវបានបង្ខំដោយអ្នកកំណត់អត្តសញ្ញាណសេចក្តីថ្លែងការណ៍។
Examples
Example៖ កំណត់អត្រា baud នៃច្រកសៀរៀល C ទៅ 115200។ ទាំង៖
កំណត់,/par/dev/ser/c/rate,115200 set,dev/ser/c/rate,115200
Example៖ កំណត់អត្រា baud នៃច្រកសៀរៀល A ទៅ 9600 ហើយបង្ខំការឆ្លើយតប៖
%%set,dev/ser/a/rate,9600 RE002%%

GREIS

www.javad.com

32

2.3.2 បោះពុម្ព

បោះពុម្ពពាក្យបញ្ជាបញ្ចូលភាសាអ្នកទទួល

ឈ្មោះ
តម្លៃបោះពុម្ពនៃវត្ថុមួយ។

សង្ខេប
ទម្រង់៖ បោះពុម្ព ជម្រើសវត្ថុ៖ {ឈ្មោះ}

អាគុយម៉ង់
វត្ថុកំណត់អត្តសញ្ញាណវត្ថុនៃវត្ថុដែលត្រូវបញ្ចេញ។ ប្រសិនបើវត្ថុមិនចាប់ផ្តើមដោយ “/” នោះបុព្វបទ “/par/” ត្រូវបានបញ្ចូលដោយស្វ័យប្រវត្តិនៅចំពោះមុខវត្ថុ មុនពេលប្រតិបត្តិពាក្យបញ្ជា។

ជម្រើស

តារាង 2-2 ។ សង្ខេបជម្រើសបោះពុម្ព

ប្រភេទឈ្មោះ

តម្លៃ

ឈ្មោះប៊ូលីនបើក, បិទ

លំនាំដើម
បិទ

ឈ្មោះប្រសិនបើបិទ, ចេញតែតម្លៃវត្ថុ។ នៅពេលបើក បញ្ចេញឈ្មោះវត្ថុបន្ថែមលើតម្លៃវត្ថុក្នុងទម្រង់ NAME=VALUE។
ការពិពណ៌នា
ពាក្យ​បញ្ជា​នេះ​បោះពុម្ព​តម្លៃ​វត្ថុ​ដោយ​ជម្រើស​ដាក់​បុព្វបទ​តម្លៃ​ជាមួយ​នឹង​ឈ្មោះ​វត្ថុ​ដែល​ត្រូវ​គ្នា។ ការឆ្លើយតបតែងតែត្រូវបានបង្កើត ហើយសារ [RE] ច្រើនជាងមួយអាចត្រូវបានបង្កើតជាការឆ្លើយតបទៅនឹងពាក្យបញ្ជាបោះពុម្ពតែមួយ។
តម្លៃនៃវត្ថុនៃបញ្ជីប្រភេទត្រូវបានបោះពុម្ពជាបញ្ជីតម្លៃសម្រាប់គ្រប់វត្ថុក្នុងបញ្ជី។ វាត្រូវបានអនុវត្តដដែលៗរហូតទាល់តែវត្ថុស្លឹកត្រូវបានទៅដល់ ដូច្នេះការបោះពុម្ពវត្ថុនៃប្រភេទ nonleaf មានប្រសិទ្ធភាពបញ្ចេញមែកធាងរងទាំងមូលដោយចាប់ផ្តើមពីវត្ថុដែលបានបញ្ជាក់។ ក្នុងករណីបោះពុម្ពបញ្ជី សារ [RE] ច្រើនអាចត្រូវបានបង្កើត។ ទោះយ៉ាងណាក៏ដោយ ការបំបែកលទ្ធផលអាចកើតឡើងភ្លាមៗបន្ទាប់ពីបញ្ជីតួអក្សរបំបែក។

GREIS

www.javad.com

33

បោះពុម្ពពាក្យបញ្ជាបញ្ចូលភាសាអ្នកទទួល
Examples
Example ៖ បោះពុម្ពរយៈពេលបច្ចុប្បន្ននៃក្រឡាម៉ោងទទួលខាងក្នុង។ ទាំង៖
បោះពុម្ព,/par/raw/curmsint RE004 100 print,raw/curmsint RE004 100
Example ៖ បោះពុម្ពរយៈពេលបច្ចុប្បន្ននៃក្រឡាម៉ោងទទួលខាងក្នុង រួមជាមួយនឹងឈ្មោះវត្ថុ។ ទាំង៖
print,/par/raw/curmsint:នៅលើ RE015/par/raw/curmsint=100 print,raw/curmsint:នៅលើ RE015/par/raw/curmsint=100
Example: Print receiver version information:
print,rcv/ver RE028{“2.5 កញ្ញា,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 modem=none, 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 បញ្ជី

បញ្ជីពាក្យបញ្ជាអ្នកទទួលបញ្ចូលភាសា

ឈ្មោះ
រាយបញ្ជីមាតិកានៃវត្ថុមួយ។
សង្ខេប
ទម្រង់៖ បញ្ជី[,វត្ថុ] ជម្រើស៖ គ្មាន
អាគុយម៉ង់
វត្ថុកំណត់អត្តសញ្ញាណវត្ថុនៃវត្ថុដែលត្រូវបញ្ចេញ។ ប្រសិនបើវត្ថុត្រូវបានលុបចោល /log ត្រូវបានសន្មត់។ ប្រសិនបើវត្ថុមិនចាប់ផ្តើមដោយ “/” នោះបុព្វបទ “/log/” ត្រូវបានបញ្ចូលដោយស្វ័យប្រវត្តិនៅចំពោះមុខវត្ថុ មុនពេលប្រតិបត្តិពាក្យបញ្ជា។
ជម្រើស
គ្មាន។
ការពិពណ៌នា
ពាក្យបញ្ជានេះបញ្ចេញឈ្មោះសមាជិកនីមួយៗនៃវត្ថុ។ ការឆ្លើយតបតែងតែត្រូវបានបង្កើត ហើយសារ [RE] ច្រើនជាងមួយអាចត្រូវបានបង្កើតជាការឆ្លើយតបទៅនឹងពាក្យបញ្ជាបញ្ជីតែមួយ។ ប្រសិនបើវត្ថុដែលបានបញ្ជាក់មិនមែនជាបញ្ជីប្រភេទទេ សារ [RE] ទទេត្រូវបានបង្កើត។ ប្រសិន​បើ​វត្ថុ​ដែល​បាន​បញ្ជាក់​ជា​បញ្ជី នោះ​បញ្ជី​ឈ្មោះ​របស់​វត្ថុ​នីមួយៗ​ក្នុង​បញ្ជី​ត្រូវ​បាន​បោះពុម្ព។ វាត្រូវបានអនុវត្តដដែលៗរហូតទាល់តែវត្ថុស្លឹកត្រូវបានទៅដល់ ដូច្នេះការរាយបញ្ជីវត្ថុនៃប្រភេទមិនមែនស្លឹកមានប្រសិទ្ធភាពបញ្ចេញមែកធាងរងទាំងមូលដោយចាប់ផ្តើមពីវត្ថុដែលបានបញ្ជាក់។ ក្នុងករណីបោះពុម្ពបញ្ជី សារ [RE] ច្រើនអាចត្រូវបានបង្កើត។ ទោះយ៉ាងណាក៏ដោយ ការបំបែកលទ្ធផលអាចកើតឡើងភ្លាមៗបន្ទាប់ពីបញ្ជីតួអក្សរបំបែក។
Examples
Example: ការឆ្លើយតបទទេសម្រាប់ការចុះបញ្ជីវត្ថុដែលមិនមែនជាបញ្ជី៖
list,/par/rcv/ver/main RE000
Example: កំហុសក្នុងការឆ្លើយតបចំពោះការរាយបញ្ជីវត្ថុដែលមិនមានស្រាប់៖
បញ្ជី,/does_not_exist ER018{2,,ខុសប៉ារ៉ាម៉ែត្រទី 1}

GREIS

www.javad.com

35

បញ្ជីពាក្យបញ្ជាអ្នកទទួលបញ្ចូលភាសា
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/DC,jps/,ECj/, 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/IOD/jps/, GE jps/NA,jps/WE,jps/WA,jps/WO}

GREIS

www.javad.com

36

GREIS

2.3.4 em & ចេញ

ពាក្យបញ្ជាបញ្ចូលភាសាអ្នកទទួល em & out

ឈ្មោះ
em, បើកដំណើរការលទ្ធផលតាមកាលកំណត់នៃសារ។

សង្ខេប
ទម្រង់៖ ទម្រង់៖ ជម្រើស៖

em,[target], messages out,[target], messages {period, phase, count, flags}

អាគុយម៉ង់
កំណត់គោលដៅស្ទ្រីមលទ្ធផល ឬសារណាមួយ។ ប្រសិនបើគ្មានគោលដៅត្រូវបានបញ្ជាក់ទេ ស្ថានីយបច្ចុប្បន្ន /cur/term ត្រូវបានសន្មត់។
ផ្ញើ​សារ​ទៅ​បញ្ជី (ទាំង​មាន​ឬ​គ្មាន​ដង្កៀប​ជុំវិញ) នៃ​ឈ្មោះ​សារ និង/ឬ​សារ​កំណត់​ឈ្មោះ​ដែល​ត្រូវ​បើក។ ប្រសិនបើឈ្មោះដែលបានបញ្ជាក់មួយចំនួនមិនចាប់ផ្តើមដោយ “/” នោះបុព្វបទ “/msg/” ត្រូវបានបញ្ចូលដោយស្វ័យប្រវត្តិមុនពេលឈ្មោះបែបនេះ មុនពេលប្រតិបត្តិពាក្យបញ្ជា។

ជម្រើស

តារាង 2-3 ។ em និង out សង្ខេបជម្រើស

ប្រភេទឈ្មោះ

តម្លៃ

លំនាំដើម

រយៈពេលអណ្តែត [0…86400)

អណ្តែតដំណាក់កាល [0…86400)

រាប់ចំនួនគត់ [-256…32767] 0 សម្រាប់ em 1 សម្រាប់ចេញ

ចំនួនគត់ទង់ [0…0xFFFF] –

រយៈពេល, ដំណាក់កាល, ចំនួន, ដាក់ទង់ប៉ារ៉ាម៉ែត្រកំណត់កាលវិភាគសារ។
ការពិពណ៌នា
ពាក្យបញ្ជាទាំងនេះបើកដំណើរការលទ្ធផលតាមកាលកំណត់នៃសារដែលបានបញ្ជាក់ទៅក្នុងគោលដៅ ដោយបង្ខំឱ្យប៉ារ៉ាម៉ែត្រកំណត់ពេលសារជាអ្វីដែលបានបញ្ជាក់ដោយជម្រើស។ គ្មានការឆ្លើយតបណាមួយត្រូវបានបង្កើតទេ លុះត្រាតែមានកំហុស ឬការឆ្លើយតបត្រូវបានបង្ខំដោយអ្នកកំណត់អត្តសញ្ញាណសេចក្តីថ្លែងការណ៍។
ពាក្យបញ្ជា em និង out គឺដូចគ្នា លើកលែងតែតម្លៃលំនាំដើមនៃជម្រើសរាប់ត្រូវបានកំណត់ទៅ 0 សម្រាប់ em និង 1 សម្រាប់ចេញ។ ពាក្យបញ្ជាចេញគឺគ្រាន់តែជាវិធីងាយស្រួលជាងក្នុងការស្នើសុំ

www.javad.com

37

ពាក្យបញ្ជាបញ្ចូលភាសាអ្នកទទួល 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. កម្មវិធីបង្កប់បច្ចុប្បន្នមានដែនកំណត់បំពានសម្រាប់ចំនួនអតិបរមានៃសារនៅក្នុងបញ្ជីលទ្ធផលដែលបានកំណត់ទៅ 49 ។

www.javad.com

38

ពាក្យបញ្ជាបញ្ចូលភាសាអ្នកទទួល em & out

បដិសេធតម្លៃពី (3)។

Examples

Example៖ បើកដំណើរការលទ្ធផលតែម្តងនៃសារ NMEA GGA ទៅកាន់ស្ថានីយបច្ចុប្បន្ន៖

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

ដូច​គ្នា​នឹង​ខាង​លើ ប៉ុន្តែ​ប្រើ​ចេញ​ជំនួស​ឲ្យ em៖

ចេញ,,nmea/GGA
Example: បើកដំណើរការលទ្ធផលនៃសំណុំសារលំនាំដើមទៅកាន់កំណត់ហេតុបច្ចុប្បន្ន-file A ដោយប្រើប៉ារ៉ាម៉ែត្រលទ្ធផលលំនាំដើម។ ទាំង៖

Exampលេ៖

em,/cur/file/a,/msg/def em,/cur/file/a, def
បើកដំណើរការលទ្ធផលនៃសំណុំសារលំនាំដើមទៅកាន់កំណត់ហេតុបច្ចុប្បន្ន-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}:២០
បើកដំណើរការលទ្ធផលនៃសារ [SI], [EL] និង [AZ] ទៅច្រកសៀរៀល A. កំណត់កាលវិភាគសម្រាប់ [SI] ដូច្នេះចន្លោះពេលរវាងសារ [SI] បន្តបន្ទាប់ទាំងពីរនឹងស្មើនឹង 10 វិនាទី ប្រសិនបើពួកវាស្របគ្នា និង 1 វិនាទីបើមិនដូច្នេះទេ; បញ្ចេញសារតែ 2 [SI] ដំបូងប៉ុណ្ណោះ។ លើសពីនេះទៀតអ្នកទទួលកំណត់ចន្លោះពេលលទ្ធផលទៅ XNUMX វិនាទីសម្រាប់សារ [EL] និង [AZ]៖

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

GREIS

www.javad.com

39

ពាក្យបញ្ជាបញ្ចូលភាសាអ្នកទទួល em & out
Example៖ បើកដំណើរការលទ្ធផលនៃសារ RTCM 2.x ប្រភេទ 1 និង 31 ទៅច្រកសៀរៀល B ដែលមានចន្លោះពេលលទ្ធផល 3 វិនាទី និងប្រភេទសារ RTCM 2.x 18, 19, 3, 22 ទៅច្រក C ដែលមានចន្លោះពេលទិន្នផល 1 វិនាទីសម្រាប់ប្រភេទ 18 និង ១៩; និង 19 វិនាទីសម្រាប់ប្រភេទទី 10 និង 3៖
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 dm

ពាក្យបញ្ជាអ្នកទទួលបញ្ចូលភាសា 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

ពាក្យបញ្ជាអ្នកទទួលបញ្ចូលភាសា 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 អ៊ីន

ពាក្យបញ្ជាអ្នកទទួលបញ្ចូលភាសាបញ្ចូលក្នុងវា។

ឈ្មោះ
init ចាប់ផ្តើមវត្ថុ។

សង្ខេប
ទម្រង់៖ init,object[/] ជម្រើស៖ គ្មាន

អាគុយម៉ង់
ជំទាស់វត្ថុដែលត្រូវចាប់ផ្តើម។ / ប្រសិនបើមានវត្តមាន ហើយវត្ថុគឺជាបញ្ជីប្រភេទ សូមចាប់ផ្តើមវត្ថុដែលមានទាំងអស់ជំនួសវិញ។
នៃវត្ថុខ្លួនឯង។

ជម្រើស
គ្មាន។

ចំណាំ៖ ចំណាំ៖

ការពិពណ៌នា
ពាក្យបញ្ជានេះចាប់ផ្តើមវត្ថុដែលបានបញ្ជាក់។ គ្មានការឆ្លើយតបណាមួយត្រូវបានបង្កើតទេ លុះត្រាតែមានកំហុស ឬការឆ្លើយតបត្រូវបានបង្ខំដោយអ្នកកំណត់អត្តសញ្ញាណសេចក្តីថ្លែងការណ៍។
អត្ថន័យពិតប្រាកដនៃការចាប់ផ្តើមគឺអាស្រ័យលើវត្ថុដែលកំពុងត្រូវបានចាប់ផ្តើម ប៉ុន្តែជាទូទៅអាចត្រូវបានចាត់ទុកថាជាការបង្វែរវត្ថុទៅស្ថានភាព "លំនាំដើម" ឬ "ស្អាត" របស់វា។ សម្រាប់អតីតample សម្រាប់ប៉ារ៉ាម៉ែត្រ វាមានន័យថាកំណត់តម្លៃរបស់ពួកគេទៅនឹងលំនាំដើមដែលត្រូវគ្នាសម្រាប់ fileឧបករណ៍ផ្ទុក វាមានន័យថាធ្វើទ្រង់ទ្រាយឧបករណ៍ផ្ទុកមូលដ្ឋានឡើងវិញ។ល។
ការចាប់ផ្ដើមវត្ថុមួយចំនួននឹងនាំឱ្យអ្នកទទួលចាប់ផ្ដើមឡើងវិញ។ បច្ចុប្បន្ននេះគឺជាករណីសម្រាប់ការចាប់ផ្តើមនៃអង្គចងចាំដែលមិនងាយនឹងបង្កជាហេតុរបស់អ្នកទទួល (/dev/nvm/a) ។
ទោះបីជាវាអាចផ្លាស់ប្តូរនាពេលអនាគតក៏ដោយ ប៉ុន្តែការអនុវត្តបច្ចុប្បន្ននៃពាក្យបញ្ជាទូទៅនេះនៅក្នុងឧបករណ៍ទទួលគឺមានកម្រិត។ តាមពិតមានតែការចាប់ផ្តើមនៃវត្ថុដែលត្រូវបានរកឃើញនៅក្នុង examples ខាងក្រោមត្រូវបានគាំទ្រនាពេលបច្ចុប្បន្ន។

Examples
Example: សម្អាត NVRAM ហើយចាប់ផ្តើមអ្នកទទួលឡើងវិញ។ ទិន្នន័យទាំងអស់ដែលបានរក្សាទុកនៅក្នុង NVRAM (almanacs, ephemeris ។ល។) នឹងត្រូវបាត់បង់ ប៉ារ៉ាម៉ែត្រទាំងអស់នឹងត្រូវបានកំណត់ទៅជាតម្លៃលំនាំដើមបន្ទាប់ពីចាប់ផ្តើមឡើងវិញ
init,/dev/nvm/a
Example: ជម្រះ ephemeris:
init,/eph/

GREIS

www.javad.com

43

ពាក្យបញ្ជាអ្នកទទួលបញ្ចូលភាសាបញ្ចូលក្នុងវា។
Example: កំណត់ប៉ារ៉ាម៉ែត្រអ្នកទទួលទាំងអស់ទៅជាតម្លៃលំនាំដើមរបស់វា៖
init,/par/
Example ៖ កំណត់ប៉ារ៉ាម៉ែត្រ WLAN ទាំងអស់ទៅជាតម្លៃលំនាំដើមរបស់វា។ ការចាប់ផ្តើមឡើងវិញនៃអង្គភាពគឺត្រូវបានទាមទារដើម្បីឱ្យការផ្លាស់ប្តូរមានប្រសិទ្ធភាព៖
init,/par/net/wlan/
Exampលេ៖ ចាប់ផ្តើមដំណើរការ file ប្រព័ន្ធ (ឧទាហរណ៍ ធ្វើកំណែទម្រង់ឧបករណ៍ផ្ទុកមូលដ្ឋាន) ។ ទាំងអស់។ files រក្សាទុកក្នុងឧបករណ៍ទទួលនឹងបាត់បង់៖
init,/dev/blk/a
Example: ចាប់ផ្តើមកំណត់សារទាំងអស់ទៅជាតម្លៃលំនាំដើមរបស់ពួកគេ៖
init,/msg/

GREIS

www.javad.com

44

2.3.7 បង្កើត

បង្កើតពាក្យបញ្ជាអ្នកទទួលបញ្ចូលភាសា

ឈ្មោះ
បង្កើតវត្ថុថ្មី។

សង្ខេប
ទម្រង់៖ បង្កើត[,object] ជម្រើស៖ {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. កម្មវិធីបង្កប់បច្ចុប្បន្នគាំទ្រទាំងកំណត់ហេតុដំណាលគ្នាមួយ ឬពីរfiles អាស្រ័យលើអ្នកទទួលជាក់លាក់។

www.javad.com

45

បង្កើតពាក្យបញ្ជាអ្នកទទួលបញ្ចូលភាសា
ការបង្កើត 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)។
ប៉ារ៉ាម៉ែត្រកំណត់ពេលសារនឹងត្រូវបានចម្លងពីការកំណត់សម្រាប់សារដែលបានផ្តល់ឱ្យនៅក្នុងក្រុមសារ។ ប្រើពាក្យបញ្ជាកំណត់ដើម្បីប្ដូរប៉ារ៉ាម៉ែត្រកំណត់ពេលតាមបំណងប្រសិនបើចាំបាច់។
Examples
ការបង្កើត Files
Exampលេ៖ បង្កើតថ្មី។ file ជាមួយ​នឹង​ឈ្មោះ​ដែល​បាន​បង្កើត​ដោយ​ស្វ័យ​ប្រវត្តិ ហើយ​កំណត់​វា​ទៅ​កាន់​កំណត់​ហេតុ​បច្ចុប្បន្នfile ក (/ cur/file/ ក) ទាំង៖
បង្កើត បង្កើត,: ក
Exampលេ៖ បង្កើតកំណត់ហេតុថ្មី-file ជាមួយនឹងឈ្មោះ “my_file”។ ទាំង៖
បង្កើត,/log/my_file៖ បង្កើត, my_file
Exampលេ៖ បង្កើត fileស “file1” និង “file2” ហើយ​ចាត់​ឱ្យ​ពួកគេ​ទៅ /cur/file/a និង /cur/file/ ខ៖
បង្កើតfile1: ក; បង្កើតfile2: ខ

GREIS

www.javad.com

46

បង្កើតពាក្យបញ្ជាអ្នកទទួលបញ្ចូលភាសា
ការបង្កើតអ្នកបញ្ជាក់សារ
Example៖ បន្ថែមសារ /msg/jps/ET ទៅសំណុំសារលំនាំដើម៖
បង្កើត /msg/def/jps/ET
Example៖ បន្ថែមសារ NMEA GGA ទៅក្នុងសំណុំសារលំនាំដើម ហើយបង្ខំឱ្យរយៈពេល និងដំណាក់កាលរបស់វាតែងតែជា 10 និង 5 រៀងៗខ្លួន មិនថាតម្លៃអ្វីសម្រាប់ពួកវានឹងត្រូវបានបញ្ជាក់នៅក្នុងពាក្យបញ្ជា em ឬ out៖
បង្កើត,/msg/def/nmea/GGA set,/msg/def/nmea/GGA,{10,5,,0×30}

GREIS

www.javad.com

47

2.3.8 ដកចេញ

ពាក្យបញ្ជា RECEIVER INPUT LANGUAGE ត្រូវបានដកចេញ

ឈ្មោះ
យកវត្ថុមួយចេញ។
សង្ខេប
ទម្រង់៖ ដកចេញ វត្ថុ[/] ជម្រើស៖ គ្មាន
អាគុយម៉ង់
វត្ថុកំណត់អត្តសញ្ញាណវត្ថុនៃវត្ថុដែលត្រូវដកចេញ។ ប្រសិនបើវត្ថុមិនចាប់ផ្តើមដោយ “/” នោះបុព្វបទ “/log/” ត្រូវបានបញ្ចូលដោយស្វ័យប្រវត្តិនៅចំពោះមុខវត្ថុ មុនពេលប្រតិបត្តិពាក្យបញ្ជា។
/ ប្រសិនបើមានវត្តមាន ហើយវត្ថុគឺជាបញ្ជីប្រភេទ សូមលុបមាតិកាវត្ថុទាំងអស់ ជំនួសឱ្យវត្ថុខ្លួនឯង។
ជម្រើស
គ្មាន។
ការពិពណ៌នា
ពាក្យបញ្ជានេះដក (លុប) វត្ថុដែលមានស្រាប់។ គ្មានការឆ្លើយតបណាមួយត្រូវបានបង្កើតទេ លុះត្រាតែមានកំហុស ឬការឆ្លើយតបត្រូវបានបង្ខំដោយអ្នកកំណត់អត្តសញ្ញាណសេចក្តីថ្លែងការណ៍។ ប្រសិនបើគ្មានវត្ថុដែលបានបញ្ជាក់ដោយវត្ថុ ឬប្រសិនបើវត្ថុមិនអាចដកចេញបាន កំហុសមួយត្រូវបានបង្កើត។ វត្ថុពីរប្រភេទអាចត្រូវបានយកចេញ៖
1. Fileស. ប្រសិនបើ file គឺជាផ្នែកមួយនៃកំណត់ហេតុបច្ចុប្បន្ន -files ពាក្យបញ្ជានឹងបរាជ័យ ហើយសារកំហុសនឹងត្រូវបានបង្កើត។
2. អ្នកបញ្ជាក់សារពីសំណុំសារ។
Examples
Exampលេ៖ ដកកំណត់ហេតុ-file ជាមួយឈ្មោះ “NAME”។ ទាំង៖
យកចេញ,/log/NAME យកចេញ,NAME
Exampលេ៖ លុបកំណត់ហេតុទាំងអស់ -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/min/

GREIS

www.javad.com

49

2.3.9 ព្រឹត្តិការណ៍

ព្រឹត្តិការណ៍ពាក្យបញ្ជាអ្នកទទួលបញ្ចូលភាសា

ឈ្មោះ
ព្រឹត្តិការណ៍បង្កើតព្រឹត្តិការណ៍ទម្រង់ឥតគិតថ្លៃ។

សង្ខេប
ទម្រង់៖ ព្រឹត្តិការណ៍ ជម្រើសខ្សែអក្សរ៖ គ្មាន

អាគុយម៉ង់
ខ្សែអក្សរមួយ arbitrary1 ដែលមានរហូតដល់ 63 តួអក្សរ។

ជម្រើស
គ្មាន។

ចំណាំ៖ ឧampលេ៖

ការពិពណ៌នា
ពាក្យបញ្ជានេះបង្កើតព្រឹត្តិការណ៍ទម្រង់ឥតគិតថ្លៃ។ គ្មានការឆ្លើយតបណាមួយត្រូវបានបង្កើតទេ លុះត្រាតែមានកំហុស ឬការឆ្លើយតបត្រូវបានបង្ខំដោយអ្នកកំណត់អត្តសញ្ញាណសេចក្តីថ្លែងការណ៍។
ខ្សែអក្សរដែលបានផ្តល់ឱ្យរួមជាមួយពេលវេលានៃការទទួលពាក្យបញ្ជាព្រឹត្តិការណ៍ត្រូវបានរក្សាទុកនៅក្នុងអ្នកទទួលនៅក្នុងសតិបណ្ដោះអាសន្នព្រឹត្តិការណ៍ពិសេស 2 ។ ខ្លឹមសារនៃសតិបណ្ដោះអាសន្ននេះគឺបញ្ចេញទៅគ្រប់ស្ទ្រីមលទ្ធផល ដែលសារស្តង់ដារ GREIS [==](EV) (ពិពណ៌នានៅទំព័រ 131) ត្រូវបានបើក។
យន្តការព្រឹត្តិការណ៍ទម្រង់ឥតគិតថ្លៃគឺមានបំណងសម្រាប់កម្មវិធីត្រួតពិនិត្យដើម្បីបញ្ជូនព័ត៌មានអត្ថបទតាមអំពើចិត្តទៅកាន់កម្មវិធីក្រោយដំណើរការដោយមិនបកស្រាយព័ត៌មាននេះនៅក្នុងអ្នកទទួល។ ស្នូលនៃកម្មវិធីបង្កប់អ្នកទទួលមិនដែលបង្កើតព្រឹត្តិការណ៍ទម្រង់ឥតគិតថ្លៃដោយខ្លួនឯងទេ ហើយក៏មិនបកស្រាយព័ត៌មានដែលបានផ្ញើតាមរយៈពាក្យបញ្ជាព្រឹត្តិការណ៍ដែរ។
ខ្សែអក្សរទាំងអស់ដែលចាប់ផ្តើមដោយតួអក្សរគូសក្រោម (ASCII 0x5F) ត្រូវបានបម្រុងទុកសម្រាប់កម្មវិធី JAVAD GNSS ។ គួរយកចិត្តទុកដាក់ថាខ្សែអក្សរបែបនេះមិនត្រូវបានប្រើជាមួយពាក្យបញ្ជាព្រឹត្តិការណ៍ទេ លុះត្រាតែអ្នកមិនអាចបំពេញកិច្ចការរបស់អ្នកបានបើមិនដូច្នេះទេ ឬមានបំណងសហការជាមួយកម្មវិធី JAVAD GNSS មួយចំនួន។ ក្នុងករណីចុងក្រោយនេះ សូមមើលការពិពណ៌នាលម្អិតនៃព្រឹត្តិការណ៍ទម្រង់ឥតគិតថ្លៃដែលបានបម្រុងទុកសម្រាប់កម្មវិធី JAVAD GNSS នៅក្នុងមគ្គុទ្ទេសក៍ "ទម្រង់ស៊ុមសម្រាប់ព្រឹត្តិការណ៍ទម្រង់ឥតគិតថ្លៃ" ដែលអាចរកបានពី http://www.javad.com ។
បង្កើតព្រឹត្តិការណ៍ទម្រង់ឥតគិតថ្លៃដែលមានខ្សែអក្សរ “Info1″៖
ព្រឹត្តិការណ៍, ព័ត៌មាន 1

GREIS

1. សូមចាំថាប្រសិនបើខ្សែអក្សរមួយមានតួអក្សរណាមួយដែលបានបម្រុងទុកសម្រាប់ភាសាបញ្ចូលអ្នកទទួល អ្នកគួរតែភ្ជាប់ខ្សែអក្សរនេះក្នុងសម្រង់ទ្វេ។
2. កម្មវិធីបង្កប់បច្ចុប្បន្នផ្ដល់នូវសតិបណ្ដោះអាសន្នធំល្មមដើម្បីរក្សាទុករហូតដល់ដប់ប្រាំមួយ 64 បៃព្រឹត្តិការណ៍ទម្រង់ឥតគិតថ្លៃ។

www.javad.com

50

ព្រឹត្តិការណ៍ពាក្យបញ្ជាអ្នកទទួលបញ្ចូលភាសា
Example៖ បង្កើតព្រឹត្តិការណ៍ទម្រង់ឥតគិតថ្លៃដែលមានតួអក្សរដែលបានបម្រុងទុក៖
ព្រឹត្តិការណ៍ "EVENT{DATA,SENT}"
Example៖ បង្កើតព្រឹត្តិការណ៍ទម្រង់ឥតគិតថ្លៃដែលបានបម្រុងទុកសម្រាប់កម្មវិធីកម្មវិធី JAVAD GNSS (ព្រឹត្តិការណ៍នេះជូនដំណឹងដល់កម្មវិធីក្រោយដំណើរការអំពីការផ្លាស់ប្តូរថាមវន្ត)៖
ព្រឹត្តិការណ៍,”_DYN=STATIC”
Example ៖ បង្កើតទម្រង់ឥតគិតថ្លៃដោយខ្សែអក្សរទទេ៖
ព្រឹត្តិការណ៍ ""
Example៖ បង្កើតព្រឹត្តិការណ៍ទម្រង់ឥតគិតថ្លៃមួយចំនួន ហើយទទួលបានសារ [==](EV) មកវិញ (នៅក្នុងខ្លឹមសារនៃ [==] សារដែលមិនអាចបោះពុម្ពបានត្រូវបានជំនួសដោយចំនុចក្នុង exampលេ)៖
em,,jps/EV %accepted% event, "ខ្សែអក្សរមួយចំនួន" RE00A% ទទួលយក% ==011...some_string. ព្រឹត្តិការណ៍%1%,1; ព្រឹត្តិការណ៍%2%,2 RE003%1% RE003%2% ==007…..1. ==007…..២. dm,,jps/EV

GREIS

www.javad.com

51

2.3.10 ទទួលបាន

ពាក្យបញ្ជា RECEIVER INPUT LANGUAGE ទទួលបាន

ឈ្មោះ
ចាប់ផ្តើមទាញយក file មាតិកាដោយប្រើ DTP1.

សង្ខេប
ទម្រង់៖ get,object[,offset] ជម្រើស៖ {អស់ពេល,block_size,period,phase,attempts}

អាគុយម៉ង់
វត្ថុកំណត់អត្តសញ្ញាណវត្ថុនៃ 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 នៅ​លើ​ម៉ាស៊ីន។
អាគុយម៉ង់អុហ្វសិតស្រេចចិត្តអនុញ្ញាតឱ្យម៉ាស៊ីនអនុវត្តការគាំទ្រសម្រាប់ការបន្តការផ្ទេរទិន្នន័យដែលរំខាន។ ចំណាំថាការស្វែងរកអុហ្វសិតធំអាចត្រូវការពេលវេលាយូរដើម្បីអនុវត្តនៅក្នុងអ្នកទទួល។ ដើម្បីអនុវត្តការបន្តឡើងវិញយ៉ាងត្រឹមត្រូវនៅក្នុងកម្មវិធីម៉ាស៊ីន បង្ខំឱ្យអ្នកទទួលការឆ្លើយតបទៅនឹងពាក្យបញ្ជា get ដោយប្រើការកំណត់អត្តសញ្ញាណសេចក្តីថ្លែងការណ៍ ហើយរង់ចាំការឆ្លើយតបពីអ្នកទទួល មុនពេលដំណើរការ DTP នៅលើម៉ាស៊ីន។ វិធីសាស្រ្តនេះត្រូវការ advantage នៃការពិតដែលថាអ្នកទទួលឆ្លើយតបទៅនឹងពាក្យបញ្ជា get បន្ទាប់ពីការស្វែងរកត្រូវបានអនុវត្ត។
នៅពេលដែលជម្រើសការព្យាយាមត្រូវបានកំណត់ទៅ 1 ឧបករណ៍បញ្ជូន DTP នឹងត្រូវបានដាក់ចូលទៅក្នុងរបៀបស្ទ្រីមដែលគេហៅថា។ នៅក្នុងរបៀបនេះ បន្ទាប់ពីទទួលបាន NACK ដំបូងពីអ្នកទទួល DTP ឧបករណ៍បញ្ជូន DTP នឹងស្ទ្រីមប្លុកទិន្នន័យដោយមិនរង់ចាំ ACKs ពីអ្នកទទួល DTP ហើយឧបករណ៍បញ្ជូននឹងលុបចោលការផ្ទេរទិន្នន័យភ្លាមៗ ប្រសិនបើ NACK ត្រូវបានទទួល។ វិធីសាស្រ្តនេះអនុញ្ញាតឱ្យផ្ទេរទិន្នន័យកាន់តែលឿនជាងការភ្ជាប់ដែលអាចទុកចិត្តបានដែលមានភាពយឺតយ៉ាវខ្ពស់ (ដូចជា TCP) ឬការផ្លាស់ប្តូរទិសដៅខ្ពស់ដែលទាក់ទង (ដូចជា USB) ។ ការទទួលផ្នែកនៃពិធីការដែលត្រូវបានអនុវត្តយ៉ាងត្រឹមត្រូវមិនតម្រូវឱ្យមានការថែទាំពិសេសណាមួយដើម្បីគាំទ្រវិធីសាស្ត្រនេះទេ។
នៅពេលដែលជម្រើសរយៈពេលគឺជារបៀបតម្រងពិសេសដែលមិនសូន្យត្រូវបានធ្វើឱ្យសកម្ម។ សម្រាប់អតីតample, វាអនុញ្ញាតឱ្យទាញយកទិន្នន័យ 1Hz ពី a file ដែលត្រូវបានសរសេរដោយប្រើអត្រាអាប់ដេត 10Hz ។ ជាពិសេស អ្នកទទួលនឹងផ្ញើទិន្នន័យសម្រាប់តែសម័យដែលម៉ូឌុលម៉ោងអ្នកទទួលមួយថ្ងៃ (Tr) បំពេញសមីការដូចខាងក្រោម៖
Tr {mod period} = ដំណាក់កាល
ដើម្បីសម្រេចបាននូវចំណុចនេះ អ្នកទទួលញែកមាតិកានៃឯកសារ file និងត្រង-ចេញសារមួយចំនួន។ ចំណាំថាការអនុវត្តការបន្តការទាញយកដែលរំខានគឺពិបាកខ្លាំងណាស់ប្រសិនបើ

GREIS

www.javad.com

53

ពាក្យបញ្ជា RECEIVER INPUT LANGUAGE ទទួលបាន

វាមិនអាចទៅរួចក្នុងករណីនេះដោយសារតែការពិតដែលថាម្ចាស់ផ្ទះមិនមានគំនិតថាតើអុហ្វសិតរបស់អ្នកទទួល file ការទាញយកត្រូវបានរំខាន។
ប្រភេទនៃការផ្ទេរណាមួយអាចត្រូវបានលុបចោលដោយការទទួលទិន្នន័យដោយការផ្ញើនិមិត្តសញ្ញាកំហុស DTP ណាមួយ (ឧទាហរណ៍ ASCII '#')។
នៅពេលផ្ទេរទិន្នន័យក្នុងសារ [RE] តម្លៃនៃ block_size នឹងកំណត់ទំហំអតិបរមានៃបន្ទុកទិន្នន័យសម្រាប់រាល់សារ [RE] (កំណត់ផងដែរដោយទំហំនៃសតិបណ្ដោះអាសន្នកម្មវិធីបង្កប់ខាងក្នុង)។ ដូចធម្មតា រាល់សារ [RE] នឹងត្រូវបានចាប់ផ្តើមជាមួយនឹងលេខសម្គាល់ពាក្យបញ្ជា (ប្រសិនបើមាន)។
នៅពេលផ្ទេរទិន្នន័យក្នុងសារ [>>] តម្លៃនៃជម្រើសការព្យាយាមនឹងកំណត់វាលលេខសម្គាល់របស់សារ [>>] ដូចខាងក្រោម៖
លេខសម្គាល់ = -1 - ការប៉ុនប៉ង
ហើយតម្លៃនៃ “block_size” នឹងកំណត់ទំហំអតិបរមានៃបន្ទុកទិន្នន័យសម្រាប់រាល់ [>>] សារ (កំណត់ផងដែរដោយទំហំនៃសតិបណ្ដោះអាសន្នកម្មវិធីបង្កប់ខាងក្នុង)។
បៃបន្ទាប់បន្ទាប់ពីលេខសម្គាល់ (បៃទីមួយនៃវាលទិន្នន័យ) នៅក្នុងសារ [>>] បន្ទាប់មកនឹងជាតួអក្សរលំដាប់ដែលចាប់ផ្តើមដោយនិមិត្តសញ្ញា ASCII 0 និងត្រូវបានបង្កើនម៉ូឌុល 64 សម្រាប់រាល់សារ ដែលបណ្តាលឱ្យមានលំដាប់នៃនិមិត្តសញ្ញា ASCII ពី 0 ដល់ o រួមបញ្ចូល៖
seq = 0 រង្វិលជុំ { seq_char = '0' + (seq++ % 64) }
តួអក្សរ​លំដាប់​អនុញ្ញាត​ឱ្យ​ចុង​ទទួល​អាច​រក​ឃើញ​ការ​បាត់​បង់​នៃ [>>] សារ​ក្នុង​លំដាប់។
បន្ទាប់មកបន្ទុកទិន្នន័យវត្ថុដែលមានទំហំដល់ទៅblock_size bytes នឹងធ្វើតាម ហើយបន្ទាប់មក checksum នេះបើយោងតាមទម្រង់នៃ [>>] message។
លទ្ធផលជោគជ័យនៅក្នុងរបៀបរុំនឹងតែងតែត្រូវបានបញ្ចប់ដោយសារ [>>] ដោយគ្មានបន្ទុកទិន្នន័យ ដើម្បីអនុញ្ញាតឱ្យចុងបញ្ចប់នៃការទទួលដើម្បីកំណត់ការបញ្ចប់នៃការផ្ទេរដោយភាពជឿជាក់។

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៖
ទទួលបាន,NAME:{,,10}
Example: ចាប់ផ្តើមទាញយកមាតិកានៃ file NAME ដោយប្រើរបៀបស្ទ្រីម (ជម្រើសព្យាយាមកំណត់ទៅ 1)៖
ទទួលបាន,NAME៖{,,,,1}
Example: ផ្ញើខ្លឹមសារនៃ file NAME បានរុំចូលទៅក្នុង [>>] សារដែលមានលេខសម្គាល់ 61 (ជានិមិត្តសញ្ញា ASCII '=') ដោយប្រើទិន្នន័យរហូតដល់ 128 បៃក្នុងមួយសារ៖
ទទួលបាន,NAME៖{,128,,,-62}
Example: ផ្ញើខ្លឹមសារនៃ file NAME បានរុំចូលទៅក្នុងសារ [RE] ដោយប្រើទិន្នន័យរហូតដល់ 190 បៃក្នុងមួយសារ ដែលបន្ថែមដោយ %MY_ID%៖
%MY_ID%get,NAME:{,190,,,-257}

GREIS

www.javad.com

55

2.3.11 ដាក់

ពាក្យបញ្ជាអ្នកទទួលបញ្ចូលភាសាបញ្ចូល

ឈ្មោះ
ចាប់ផ្តើម file ផ្ទុកឡើងដោយប្រើ DTP1.

សង្ខេប
ទម្រង់៖ put,object[,offset] ជម្រើស៖ {អស់ពេល, 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) ។ គ្មានការឆ្លើយតបណាមួយត្រូវបានបង្កើតទេ លុះត្រាតែមានកំហុស ឬការឆ្លើយតបត្រូវបានបង្ខំដោយអ្នកកំណត់អត្តសញ្ញាណសេចក្តីថ្លែងការណ៍។
បន្ទាប់ពីពាក្យបញ្ជាដាក់ជោគជ័យ អ្នកទទួល DTP ត្រូវបានចាប់ផ្តើមនៅលើអ្នកទទួល ហើយរង់ចាំការបញ្ជូន DTP ដំណើរការនៅលើម៉ាស៊ីន។ ដូច្នេះ ដើម្បី​បង្ហោះ​ទិន្នន័យ​ណា​មួយ​យ៉ាង​ពិត​ប្រាកដ អ្នក​ត្រូវ​ការ​ការ​អនុវត្ត​ឧបករណ៍​បញ្ជូន DTP នៅ​លើ​ម៉ាស៊ីន។

1. សូមមើល “ពិធីការផ្ទេរទិន្នន័យ” នៅលើទំព័រ 580។

GREIS

www.javad.com

56

ពាក្យបញ្ជាអ្នកទទួលបញ្ចូលភាសាបញ្ចូល

អាគុយម៉ង់អុហ្វសិតស្រេចចិត្តអនុញ្ញាតឱ្យម៉ាស៊ីនអនុវត្តការគាំទ្រសម្រាប់ការបន្តការផ្ទេរទិន្នន័យដែលរំខាន។ តម្លៃអុហ្វសិតមិនមែនសូន្យអនុញ្ញាតឱ្យម៉ាស៊ីនស្នើសុំទិន្នន័យបន្ថែមទៅចុងបញ្ចប់នៃឯកសារដែលមានស្រាប់ file នៃទំហំដែលត្រូវគ្នា។
ប្រសិនបើអុហ្វសិតគឺ 0 និង file មិនមានវត្ថុទេ អ្នកទទួលនឹងព្យាយាមបង្កើត និងបើកសម្រាប់ការសរសេរថ្មី។ file ជាមួយនឹងឈ្មោះដែលកំណត់ដោយវត្ថុ។ ក្នុងករណីនេះពាក្យបញ្ជានឹងបរាជ័យប្រសិនបើមាន a file ជាមួយនឹងឈ្មោះដែលបានផ្តល់ឱ្យ។
ប្រសិនបើអុហ្វសិតធំជាង 0 ហើយមាន a file វត្ថុ, និង file ទំហំគឺស្មើនឹងតម្លៃនៃអុហ្វសិត បន្ទាប់មកពាក្យបញ្ជាដាក់នឹងបើក file វត្ថុសម្រាប់បន្ថែម។ ក្នុងករណីនេះពាក្យបញ្ជានឹងបរាជ័យប្រសិនបើមិនមាន file ជាមួយនឹងឈ្មោះដែលបានផ្តល់ឱ្យឬប្រសិនបើទំហំដែលមានស្រាប់ file មិនត្រូវគ្នានឹងអ្វីដែលបានបញ្ជាក់ដោយអុហ្វសិតទេ។

Examples

Example: ចាប់ផ្តើមផ្ទុកទិន្នន័យទៅថ្មី file “NAME” ដោយប្រើ DTP ។ ទាំង៖

Exampលេ៖

put,/log/NAME put,NAME
ចាប់ផ្តើមផ្ទុកឡើងទិន្នន័យ ហើយបន្ថែមពួកវាទៅដែលមានស្រាប់ file “NAME”។ ប្រើការអស់ពេល DTP លំនាំដើម និងទំហំប្លុក DTP 4096 បៃ។ ទទួលបានទំហំ file មុនពេលចាប់ផ្តើមផ្ទុកឡើង (ចំណាំថា file ទំហំត្រូវបានទាមទារនៅលើម៉ាស៊ីនយ៉ាងណាក៏ដោយ ដូច្នេះវាអាចរំលងចំនួនបៃនេះពីទិន្នន័យប្រភពរបស់វា។ file):

Exampលេ៖

print,/log/NAME&size RE008 3870034 put,/log/NAME:{,4096},3870034
ចាប់ផ្ដើម​ផ្ទុក​ទិន្នន័យ​ទៅ​ថ្មី​ file “my_logfileដោយប្រើអស់ពេល 50 វិនាទី និងទំហំប្លុក 8192 បៃ៖

ដាក់, my_logfile៖{50,8192}

GREIS

www.javad.com

57

2.3.12 fld

ពាក្យបញ្ជាបញ្ចូលភាសាអ្នកទទួល fld

ឈ្មោះ
fld ផ្ទុកកម្មវិធីបង្កប់។

សង្ខេប
ទម្រង់៖ fld,id,object ជម្រើស៖ {អស់ពេល, block_size}

អាគុយម៉ង់
ខ្សែអក្សរលេខសម្គាល់ដែលមានអ្នកទទួលអេឡិចត្រូនិក ID1. ប្រសិនបើលេខសម្គាល់ដែលបានបញ្ជាក់មិនត្រូវគ្នានឹងលេខសម្គាល់អេឡិចត្រូនិកពិតប្រាកដរបស់អ្នកទទួលទេ ពាក្យបញ្ជានឹងបរាជ័យ ហើយបង្កើតសារកំហុស។
វត្ថុកំណត់អត្តសញ្ញាណប្រភពនៃកម្មវិធីបង្កប់ដែលត្រូវផ្ទុក។ ទាំងឈ្មោះអ្នកទទួល fileឬឈ្មោះច្រកបញ្ចូល។ នៅពេលដែលវាជាឈ្មោះនៃច្រកបញ្ចូល ទាំង /cur/term ឬឈ្មោះពិតនៃច្រកបច្ចុប្បន្នគួរតែត្រូវបានផ្តល់ឱ្យ បើមិនដូច្នេះទេកំហុសនឹងត្រូវបានរាយការណ៍។

ជម្រើស

តារាង 2-7 ។ សេចក្តីសង្ខេបនៃជម្រើស fld

ឈ្មោះ

ប្រភេទ

តម្លៃ

អស់ពេល

ចំនួនគត់ [0…86400] វិនាទី

ចំនួនគត់ block_size [1…163841] 1. 2048 សម្រាប់អ្នកទទួលដែលមិនគាំទ្រ TCP ឬ USB។

លំនាំដើម
៦៧ ៨

អស់ពេលអស់ពេលសម្រាប់ DTP ។ block_size ទំហំនៃប្លុកទិន្នន័យ DTP ។

ការពិពណ៌នា
ពាក្យបញ្ជានេះផ្ទុកកម្មវិធីបង្កប់ពីវត្ថុដែលបានបញ្ជាក់ទៅក្នុងអ្នកទទួល ហើយបន្ទាប់មកកំណត់អ្នកទទួលឡើងវិញ។ គ្មានការឆ្លើយតបណាមួយត្រូវបានបង្កើតទេ លុះត្រាតែមានកំហុស ឬការឆ្លើយតបត្រូវបានបង្ខំដោយអ្នកកំណត់អត្តសញ្ញាណសេចក្តីថ្លែងការណ៍។

1. លេខសម្គាល់អាចទទួលបានដោយប្រើពាក្យបញ្ជា print,/par/rcv/id។

GREIS

www.javad.com

58

ពាក្យបញ្ជាបញ្ចូលភាសាអ្នកទទួល fld

ការព្រមាន៖

ប្រសិនបើការដាច់ចរន្តអគ្គិសនី ឬការរំខានធ្ងន់ធ្ងរនៃការផ្ទេរកម្មវិធីបង្កប់តាមរយៈច្រកកើតឡើងកំឡុងពេលផ្ទុក អ្នកទទួលអាចចូលទៅក្នុងស្ថានភាពពាក់កណ្តាលការងារ ដែលមានតែការផ្ទុកកម្មវិធីបង្កប់តាមរយៈច្រក RS-232 ដោយប្រើវិធីសាស្ត្រ "ការចាប់យកថាមពល" អាចធ្វើទៅបាន។
ប្រសិនបើវត្ថុកំណត់អត្តសញ្ញាណដែលមានស្រាប់ file1, អ្នកទទួល​នឹង​ពិនិត្យ​ជាមុន​ថា​តើ​ file មានកម្មវិធីបង្កប់ត្រឹមត្រូវសម្រាប់អ្នកទទួល (វាត្រូវចំណាយពេលប៉ុន្មានវិនាទីដើម្បីបញ្ចប់)។ ប្រសិនបើការត្រួតពិនិត្យជោគជ័យ អ្នកទទួលនឹងផ្ទុកកម្មវិធីបង្កប់ ហើយបន្ទាប់មកធ្វើការកំណត់ឡើងវិញដោយខ្លួនឯង។ ចំណាំថាការឆ្លើយតបទៅនឹងពាក្យបញ្ជា (ប្រសិនបើមាន) នឹងត្រូវបានផ្ញើបន្ទាប់ពីការត្រួតពិនិត្យត្រូវបានអនុវត្ត ប៉ុន្តែមុនពេលការផ្ទុកកម្មវិធីបង្កប់ចាប់ផ្តើម។ ជម្រើសអស់ពេល និងទំហំ block_size មិនត្រូវបានអើពើក្នុងករណីនេះ។
ប្រសិនបើវត្ថុកំណត់ស្ទ្រីមបញ្ចូលពាក្យបញ្ជានឹងផ្ញើការឆ្លើយតប (ប្រសិនបើមាន) ហើយបន្ទាប់មកចាប់ផ្តើមអ្នកទទួល DTP ដែលនឹងរង់ចាំការបញ្ជូន DTP ដំណើរការនៅលើម៉ាស៊ីន។ ដូច្នេះ ដើម្បី​បង្ហោះ​កម្មវិធី​បង្កប់​ពិតប្រាកដ អ្នក​ត្រូវ​ការ​ការ​អនុវត្ត​ឧបករណ៍​បញ្ជូន DTP លើ​ម៉ាស៊ីន។ ការកំណត់ឡើងវិញដោយខ្លួនឯង (ចាប់ផ្តើមឡើងវិញ) នឹងត្រូវបានអនុវត្តដោយអ្នកទទួល បន្ទាប់ពីការផ្ទុកបានបញ្ចប់ដោយជោគជ័យ ឬត្រូវបានរំខាន។

Examples
Example: ផ្ទុកកម្មវិធីបង្កប់ពី file “firmware.ldp” ចូលទៅក្នុងអ្នកទទួលដែលមានលេខសម្គាល់អេឡិចត្រូនិក 123456789AB ។ រំពឹងថាពីរបីវិនាទីដើម្បីឆ្លងកាត់រវាងការផ្ញើពាក្យបញ្ជានិងការឆ្លើយតប ខណៈពេលដែលអ្នកទទួលពិនិត្យមើល file សម្រាប់សុពលភាពកម្មវិធីបង្កប់៖
%%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 ដែលមានកម្មវិធីបង្កប់ត្រូវបានផ្ទុកឡើងទៅកាន់អ្នកទទួលជាមុន ឧ. ដោយប្រើពាក្យបញ្ជាដាក់។

www.javad.com

59

ពាក្យបញ្ជាបញ្ចូលភាសាអ្នកទទួល fld

GREIS

www.javad.com

60

ជំពូកទី 3
សារអ្នកទទួល

ជំពូកនេះពិពណ៌នាអំពីទម្រង់ទូទៅនៃសារស្តង់ដារ GREIS ក៏ដូចជាទម្រង់ជាក់លាក់នៃសារដែលបានកំណត់ជាមុនទាំងអស់។ ក្រៅពីសារស្តង់ដារ GREIS អ្នកទទួលគាំទ្រសារមួយចំនួននៃទម្រង់ផ្សេងៗគ្នាដូចជា NMEA ឬ BINEX ។ ទម្រង់នៃសារ "បរទេស" ទាំងនោះត្រូវបានពិពណ៌នានៅចុងបញ្ចប់នៃជំពូកនេះ។
3.1 អនុសញ្ញា
3.1.1 ការកំណត់ទម្រង់
ដើម្បីពណ៌នាអំពីទ្រង់ទ្រាយមួយចំនួនជាលំដាប់នៃ bytes1 ក្នុងទម្រង់បង្រួម យើងកំណត់ទម្រង់សម្រាប់ប្រភេទវាលបឋមមួយចំនួន ហើយបន្ទាប់មកប្រើសញ្ញាសម្គាល់ដែលនៅជិតអ្នកដែលប្រើក្នុងភាសាសរសេរកម្មវិធី C ដើម្បីបង្កើតនិយមន័យនៃទម្រង់ស្មុគស្មាញបន្ថែមទៀត៖
struct NAME {LENGTH} { TYPE FIELD[COUNT]; // ការពិពណ៌នា ... ប្រភេទ FIELD [COUNT]; // ការពិពណ៌នា
};
កន្លែងណា៖
NAME ឈ្មោះដែលបានកំណត់ទៅទម្រង់នេះ។ វាអាចត្រូវបានប្រើក្នុងការកំណត់ទម្រង់ផ្សេងទៀតជាប្រភេទនៃវាល។
ប្រវែងប្រវែងជាបៃនៃលំដាប់ទាំងមូល។ សម្រាប់ទម្រង់ប្រវែងថេរ វាជាលេខ សម្រាប់សារប្រវែងអថេរ វាអាចជាកន្សោមលេខនព្វន្ធ អាស្រ័យលើប៉ារ៉ាម៉ែត្រអថេរផ្សេងទៀត ឬគ្រាន់តែជាខ្សែអក្សរ var។
ប្រភេទ FIELD[COUNT] អ្នកពិពណ៌នាវាល។ វាពិពណ៌នាអំពីលំដាប់នៃធាតុ COUNT នៃ TYPE ដូចគ្នាដែលត្រូវបានផ្តល់ឈ្មោះ FIELD ។ TYPE អាចជាប្រភេទវាលចម្បងមួយដែលបានពិពណ៌នាខាងក្រោម ឬ NAME នៃទម្រង់ផ្សេងទៀត។ នៅពេលអវត្តមាន [COUNT] វាលមានធាតុមួយយ៉ាងពិតប្រាកដ។ នៅពេលដែល COUNT អវត្តមាន (មានន័យថា មានតែតង្កៀបការ៉េទទេ []) វាមានន័យថា វាលមានធាតុដែលមិនបានបញ្ជាក់។

GREIS

1. នៅក្នុងបរិបទនៃជំពូកនេះ “បៃ” មានន័យថា អង្គធាតុ 8 ប៊ីត។ ប៊ីតដ៏សំខាន់តិចបំផុតមានសន្ទស្សន៍សូន្យ។

www.javad.com

61

អនុសញ្ញាអ្នកទទួលសារ
ការកំណត់ទម្រង់

ការពិពណ៌នាអំពីវាលរួមជាមួយនឹងឯកតារង្វាស់របស់វា និងជួរតម្លៃដែលអនុញ្ញាត តាមការគួរ។ ឯកតារង្វាស់ត្រូវបានហ៊ុំព័ទ្ធដោយតង្កៀបការ៉េ។
ប្រភេទវាលបឋមខាងក្រោមត្រូវបានកំណត់៖

តារាង 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

str

លំដាប់សូន្យនៃតួអក្សរ ASCII អថេរ

ដើម្បីកំណត់ទ្រង់ទ្រាយជាក់លាក់ទាំងស្រុង យើងក៏ត្រូវបញ្ជាក់លំដាប់បៃនៅក្នុងវាលមិនសរុបបឋមដែលមានច្រើនបៃ (i2, i4, u2, u4, f4, f8) ។ សម្រាប់សារ GREIS ការបញ្ជាទិញនេះត្រូវបានកំណត់ដោយសារ [MF] សូមមើល “[MF] Messages Format” នៅទំព័រ 74 សម្រាប់ព័ត៌មានលម្អិត។
ដោយ​ប្រើ​និយមន័យ​ខាង​លើ​វា​អាច​ធ្វើ​ទៅ​បាន​ក្នុង​ការ​ពង្រីក​ការ​បញ្ជាក់​ទ្រង់ទ្រាយ​ណាមួយ​ទៅ​នឹង​លំដាប់​បៃ​ដែល​ត្រូវ​គ្នា។ សម្រាប់អតីតample, ទម្រង់
រចនាសម្ព័ន្ធ Exampលេ {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) កំណត់ j-th byte (byte #0 ជាយ៉ាងហោចណាស់មួយ) នៃធាតុ i-th នៃ field x ។

3.1.2 តម្លៃពិសេស

សម្រាប់សារប្រព័ន្ធគោលពីរ វាលចំនួនគត់ និងចំណុចអណ្តែតរបស់ពួកគេមួយចំនួនអាចមានតម្លៃពិសេស ដែលត្រូវបានប្រើជំនួសឱ្យទិន្នន័យពិតប្រាកដ នៅពេលដែលមិនមានទិន្នន័យសម្រាប់វាល។ វាលគោលពីរដែលតម្រូវឱ្យពិនិត្យតម្លៃពិសេសកំឡុងពេលទាញយកទិន្នន័យត្រូវបានសម្គាល់ដោយសញ្ញាឧទាន "!" នៅក្នុងជួរទីមួយនៃនិយមន័យវាល។
តារាងខាងក្រោមកំណត់តម្លៃពិសេសសម្រាប់ប្រភេទវាលទិន្នន័យផ្សេងៗ៖

តារាង 3-2 ។ តម្លៃពិសេសសម្រាប់វាល

ប្រភេទវាល
i1 u1 i2 u2 i4 u4 f4 f8

តម្លៃពិសេស
127 255 32767 65535 2147483647 4294967295 ស្ងាត់ NaN ស្ងាត់ NaN

តំណាង HEX
7F FF 7FFFF FFFF 7FFF_FFFF FFFF_FFFF 7FC0_0000 7FF8_0000_0000_0000

3.2 ស្ទ្រីមសារស្តង់ដារ

ស្ទ្រីមសារស្តង់ដារ GREIS គឺជាលំដាប់នៃសារច្រើនបំផុតពីរប្រភេទ សារស្តង់ដារ GREIS និងសារអត្ថបទមិនស្តង់ដារ។
ប្រភេទសារសំខាន់បំផុត និងប្រើប្រាស់យ៉ាងទូលំទូលាយ គឺជាសំណុំនៃសារស្តង់ដារ GREIS ដ៏សំបូរបែប។ ទម្រង់ទូទៅរបស់ពួកគេត្រូវបានរចនាឡើងយ៉ាងប្រុងប្រយ័ត្ន ដើម្បីអនុញ្ញាតឱ្យមានទាំង binary និង text mes-

www.javad.com

63

ទម្រង់ទូទៅនៃសារ
សារស្តង់ដារ
sages និងដើម្បីធ្វើឱ្យកម្មវិធីអាចរំលងសារដែលកម្មវិធីមិនដឹង ឬមិនចាប់អារម្មណ៍យ៉ាងមានប្រសិទ្ធភាព។
ការគាំទ្រសម្រាប់សារអត្ថបទមិនស្តង់ដារ ដែលគួរតែនៅតែប្រកាន់ខ្ជាប់នូវទម្រង់ដែលបានកំណត់សម្រាប់ពួកវានៅក្នុងសៀវភៅដៃនេះ ធ្វើឱ្យវាអាចលាយសារស្តង់ដារ 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 លេខសម្គាល់[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 លេខសម្គាល់;

// អត្តសញ្ញាណ [!…/]

a1 តួ[];

// តួនៃប្រវែងបំពាន, [0…)

a1 អ៊ីអូម;

// ចុងបញ្ចប់នៃសារ ( ឬ )

};

ការកំណត់អត្តសញ្ញាណសារគឺជាតួអក្សរណាមួយនៅក្នុងជួរ [!… /] (លេខកូដ ASCII ទសភាគក្នុងជួរ [33…47])។ ការកំណត់អត្តសញ្ញាណសារគឺស្រេចចិត្ត។ ប្រសិនបើអវត្តមាន តួសារគួរតែមានប្រវែងសូន្យ (ឧ. គួរតែអវត្តមានផងដែរ)។

តួសារគឺជាលំដាប់នៃតួអក្សរ ASCII លើកលែងតែ (លេខកូដទសភាគ ១៣) និង (លេខកូដទសភាគ ១០) តួអក្សរ។ គ្មានដែនកំណត់លើប្រវែងរាងកាយត្រូវបានដាក់ដោយទម្រង់។

ចុងបញ្ចប់នៃសញ្ញាសម្គាល់សារគឺផងដែរ។ ឬ តួអក្សរ។

ចំណាំថាទម្រង់នេះអនុញ្ញាតសម្រាប់សារដែលមិនមែនជាស្តង់ដារដែលមានតែតួអក្សរ CR ឬ LF ប៉ុណ្ណោះ។ លក្ខណៈពិសេសនេះអនុញ្ញាតឱ្យធ្វើឱ្យស្ទ្រីមសារ GREIS ស្តង់ដារមើលទៅអាចអានបានច្រើនជាងមនុស្សនៅពេលបញ្ចេញទិន្នន័យទៅស្ថានីយគោលបំណងទូទៅ ឬ viewជាមួយអត្ថបទទូទៅ viewer ឬអ្នកកែសម្រួល។

ឧបករណ៍កំណត់អត្តសញ្ញាណសារអត្ថបទមិនស្តង់ដារមួយ តួអក្សរ “$” ត្រូវបានបម្រុងទុកជាឧបករណ៍កំណត់អត្តសញ្ញាណសម្រាប់សារស្តង់ដារ NMEA រួចហើយ។ គ្មាន​សារ​អត្ថបទ​មិន​ស្តង់ដារ​ផ្សេង​ទៀត​ដែល​គួរ​ប្រើ “$” ជា​គ្រឿង​សម្គាល់។

3.3.3 ការញែកសារស្ទ្រីម
នៅក្នុងផ្នែកនេះ អ្នកនឹងឃើញការណែនាំ និងគន្លឹះមួយចំនួនអំពីរបៀបសរសេរកូដដែលមានបំណងញែកការផ្សាយសាររបស់អ្នកទទួល GREIS ។ ទោះបីជាយើងនឹងមិនពិភាក្សាប្រធានបទនេះឱ្យបានលម្អិតនៅក្នុងសៀវភៅណែនាំឯកសារយោងនេះក៏ដោយ យើងចង់បញ្ជាក់នៅទីនេះថា សារស្តង់ដារ

GREIS

www.javad.com

65

ទម្រង់ទូទៅនៃសារ
ញែកសារស្ទ្រីម
ទម្រង់នឹងអនុញ្ញាតឱ្យអ្នកដំណើរការ/ញែកសារ GREIS ស្ទើរតែគ្រប់ស្ទ្រីមសារ GREIS យ៉ាងមានប្រសិទ្ធភាពដែលអ្នកអាចជួបប្រទះក្នុងការអនុវត្ត។

ចំណាំ៖

ការធ្វើសមកាលកម្ម
នៅពេលញែកការផ្សាយសារ ដំបូងអ្នកត្រូវស្វែងរកព្រំដែនសារដែលនៅជិតបំផុត។ នេះគឺជាអ្វីដែលគេហៅថា "ការធ្វើសមកាលកម្ម" ។ ការ​ធ្វើ​សមកាលកម្ម​សារ​ត្រូវ​បាន​អនុវត្ត​នៅ​ពេល​ដែល​ការ​ញែក​ត្រូវ​បាន​ចាប់​ផ្តើ​ម​ឬ​នៅ​ពេល​ដែល​ការ​ធ្វើ​សមកាលកម្ម​ត្រូវ​បាន​បាត់បង់​ដោយ​សារ​តែ​មាន​កំហុស​ក្នុង​ការ​ផ្សាយ​ទិន្នន័យ​។ ជាការពិត ដើម្បីសម្រួលក្បួនដោះស្រាយ អ្នកអាចពិចារណាថាអ្នកបានធ្វើសមកាលកម្មរួចហើយ នៅពេលអ្នកចាប់ផ្តើមញែកចរន្តទិន្នន័យ។ ប្រសិនបើវាកើតឡើងថាវាមិនមែនជាករណីពិតប្រាកដនោះ កំហុសក្នុងការវិភាគគួរតែកើតឡើង។ បន្ទាប់មក អ្នករំលងតួអក្សរមួយចេញពីស្ទ្រីមបញ្ចូល ហើយធ្វើពុតថាអ្នកត្រូវបានធ្វើសមកាលកម្មម្តងទៀត។ វិធីសាស្រ្តបែបនេះមានប្រសិទ្ធភាពលុបបំបាត់ភារកិច្ចធ្វើសមកាលកម្មជាផ្នែកដាច់ដោយឡែកនៃក្បួនដោះស្រាយញែក។
ដោយសារតែការពិតដែលថាអត្រាកំហុសនៅក្នុងស្ទ្រីមទិន្នន័យដែលមានប្រយោជន៍គួរមានកម្រិតទាប ការធ្វើសមកាលកម្មមិនគួរជាកិច្ចការញឹកញាប់នោះទេ។ លើសពីនេះ ការស្ទ្រីមទិន្នន័យ GREIS ជាធម្មតាមានសារខ្លីៗ ដូច្នេះចម្ងាយទៅកាន់ព្រំដែនសារដែលនៅជិតបំផុតគឺជាធម្មតាតូច។ ដោយពិចារណាលើការពិចារណាទាំងនេះ វាមិនមានតម្រូវការសម្រាប់ក្បួនដោះស្រាយការធ្វើសមកាលកម្មលឿនពេកនោះទេ។

ចំណាំ៖

រំលងទៅសារបន្ទាប់
ការមានប្រវែងជាទម្រង់ទូទៅនៃសារ GREIS ស្តង់ដារអនុញ្ញាតឱ្យអ្នកមិនអើពើសារបានយ៉ាងងាយស្រួលដោយមិនដឹងពីទម្រង់នៃរាងកាយរបស់ពួកគេ។ យើងពិតជាផ្តល់អនុសាសន៍យ៉ាងខ្លាំងឱ្យសរសេរកម្មវិធីញែកដើម្បីឱ្យពួកគេរំលងសារដែលមិនស្គាល់។
ដើម្បីចេញពីសារបច្ចុប្បន្នទៅសារបន្ទាប់ សូមធ្វើតាមជំហានខាងក្រោម៖
1. សន្មតថាសារបច្ចុប្បន្នចាប់ផ្តើមនៅទីតាំង “N”។ កំណត់ប្រវែងសារបច្ចុប្បន្ន (ឌិកូដតួអក្សរ ## N+2, N+3, N+4) ។ សន្មត់ថាប្រវែងសារស្មើនឹង L។ រំលងតួអក្សរ L+5 ដំបូងដែលចាប់ផ្តើមពីទីតាំង “N”។
2. រំលងទាំងអស់។ និង តួអក្សរ (ប្រសិនបើមាន) ។
និយាយយ៉ាងតឹងរ៉ឹង យើងមិនណែនាំឲ្យអ្នកប្រើនៅក្នុងកូដវិភាគរបស់អ្នកនូវព័ត៌មាន apriori ណាមួយអំពីទំហំ និងខ្លឹមសារនៃសារនោះទេ។ ប្រសិនបើអ្នកគោរពការណែនាំនេះ អ្នកនឹងមិនមានបញ្ហាជាមួយកម្មវិធីញែកទេ ប្រសិនបើសារមួយចំនួនត្រូវបានផ្លាស់ប្តូរ។
ច្បាប់ និងការណែនាំអំពីការវិភាគផ្នែកសារនៃសារ GREIS ស្តង់ដារដែលបានកំណត់ជាមុនត្រូវបានពិភាក្សានៅពេលក្រោយនៅក្នុង "ញែកសារអត្ថបទ" នៅទំព័រ 67 ។

GREIS

www.javad.com

66

GREIS

សារដែលបានកំណត់ទុកជាមុនតាមស្តង់ដារអ្នកទទួល
ការញែកសារអត្ថបទ
3.4 សារដែលបានកំណត់ជាមុនស្តង់ដារ
នៅក្នុងផ្នែកនេះ យើងនឹងស្គាល់អ្នកអានជាមួយនឹងសំណុំសារ GREIS ស្តង់ដារដែលបានកំណត់ជាមុន។ នៅពេលយោងទៅសារដែលមានលេខសម្គាល់ XX យើងប្រើសញ្ញាសម្គាល់ [XX] ។ ខណៈពេលដែលសារភាគច្រើនត្រូវបានហៅដោយឧបករណ៍កំណត់អត្តសញ្ញាណសាររបស់ពួកគេនៅក្នុង GREIS មួយចំនួននៃពួកគេ ជាពិសេសសារដែលមានលេខសម្គាល់មិនមែនជាអក្សរក្រមលេខ មានឈ្មោះខុសៗគ្នា។ សម្រាប់សារបែបនេះ សញ្ញាសម្គាល់ [XX](NN) ត្រូវបានប្រើ ដែល XX គឺជាសារកំណត់អត្តសញ្ញាណ ហើយ NN គឺជាឈ្មោះសារដែលត្រូវប្រើក្នុងពាក្យបញ្ជា GREIS ។ សម្រាប់អតីតample សារ [~~](RT) មានបឋមកថា “~~” ហើយត្រូវបានគេហៅថា /msg/jps/RT នៅក្នុងពាក្យបញ្ជា GREIS ។
ផ្នែកនេះកំណត់ទម្រង់នៃតួសម្រាប់សារដែលបានកំណត់ជាមុនស្តង់ដារទាំងអស់។ សូមចងចាំថានៅក្នុងស្ទ្រីមទិន្នន័យ រាល់សារមានបឋមកថាស្តង់ដារដែលកំណត់ដោយទម្រង់ទូទៅផងដែរ។
3.4.1 ការញែកសារអត្ថបទ
ផ្នែកបន្ថែមទម្រង់ដែលបានអនុញ្ញាត
ទម្រង់នៃសារប្រព័ន្ធគោលពីរដែលមានទំហំសារថេរអនុញ្ញាតឱ្យបន្ថែមវាលទិន្នន័យបន្ថែមទៀតនាពេលអនាគត។ វាល​ថ្មី​ត្រូវ​បាន​អនុញ្ញាត​ឱ្យ​បញ្ចូល​តែ​នៅ​ខាង​ចុង​នៃ​តួ​សារ​មុន​នឹង​ប្រអប់ checksum (បើ​មាន)។ ការកែប្រែបែបនេះចំពោះតួសារត្រូវបានចាត់ទុកថាជាផ្នែកបន្ថែមទម្រង់ មិនមែនជាការផ្លាស់ប្តូរមិនត្រូវគ្នានោះទេ។
ទោះបីជាសារស្តង់ដារ GREIS មិនមែនជាសារដែលមានទំហំសារថេរក៏ដោយ វាលថ្មីអាចនៅតែបង្ហាញនៅក្នុងសារទាំងនេះនាពេលអនាគត។ វាល​ថ្មី​អាច​ត្រូវ​បាន​បញ្ចូល​នៅ​ខាង​ចុង​នៃ​សារ​អត្ថបទ​ដែល​មាន​ស្រាប់​នៅ​ពី​មុខ​ប្រអប់ checksum ឬ​ភ្លាម​ៗ​មុន​នឹង​ខ្សែ​ដៃ​ខាង​ស្ដាំ (})។ សម្រាប់អតីតample សារ​ដែល​បច្ចុប្បន្ន​ត្រូវ​បាន​អាន​ជា៖
…1,{21,22},3,@CS
អាចត្រូវបានពង្រីកនៅពេលក្រោយ
…1,{2.1,2.2,2.3},3,4,@CS
កន្លែងដែលវាលបន្ថែមពីរ "2.3" និង "4" ត្រូវបានបន្ថែម។
អនុវត្ត​ក្បួន​ដោះស្រាយ​ញែក​របស់អ្នក​ដោយ​គិតគូរ​ពី​ច្បាប់​ខាងក្រោម​ដើម្បី​ធ្វើឱ្យ​ពួកវា​ដំណើរការ​ទោះបីជា​មាន​ផ្នែកបន្ថែម​ទម្រង់​អនាគត​ក៏ដោយ​៖
1. កុំសន្មត់ថាទំហំនៃសាររបស់សារដែលបានទទួលគួរតែត្រូវគ្នានឹងទំហំជាក់លាក់ដែលបានកំណត់ក្នុងឯកសារនេះ។ លុះត្រាតែសារខ្លីពេក វាមានន័យថាអ្នកមិនអាចប្រើខ្លឹមសាររបស់វាបានទេ។ ប្រសិនបើសារវែងជាងការរំពឹងទុក គ្រាន់តែមិនអើពើនឹងទិន្នន័យលើស។
2. ដោះស្រាយវាល checksum ទាក់ទងទៅនឹងចុងបញ្ចប់នៃសារ។

www.javad.com

67

សារដែលបានកំណត់ទុកជាមុនតាមស្តង់ដារអ្នកទទួល
កំណត់ចំណាំទូទៅ
3. អាសយដ្ឋានវាលទិន្នន័យផ្សេងទៀតទាក់ទងទៅនឹងការចាប់ផ្តើមនៃតួសារ។ 4. ពិចារណាលើច្បាប់ខាងលើសម្រាប់ការពង្រីកសារអត្ថបទនៅពេល
សរសេរឧបករណ៍ស្រង់ទិន្នន័យសម្រាប់សារអត្ថបទ។
មូលប្បទានប័ត្រ
បន្ទាប់ពីសារមួយត្រូវបានស្រង់ចេញពីស្ទ្រីមទិន្នន័យដោយប្រើបច្ចេកទេសដែលបានពិពណ៌នានៅក្នុង "ការញែកសារស្ទ្រីម" នៅទំព័រ 65 ហើយការកំណត់អត្តសញ្ញាណសារហាក់ដូចជាជាផ្នែកមួយនៃកម្មវិធីដែលកម្មវិធីចាប់អារម្មណ៍នោះ តួសារគួរតែត្រូវបានញែកដើម្បីស្រង់ទិន្នន័យ . មុននឹងទាញយកខ្លឹមសារ ការពិនិត្យសារគួរតែត្រូវបានគណនា និងប្រៀបធៀបជាមួយមូលប្បទានប័ត្រដែលមានក្នុងសារ។
សារ​ដែល​បាន​កំណត់​ទុក​ជា​មុន​ភាគ​ច្រើន​មាន checksum ។ Checksum ត្រូវ​បាន​គណនា​ដោយ​ប្រើ​ទាំង​ផ្នែក​បឋមកថា​សារ (ឧ, “សារ​កំណត់​អត្តសញ្ញាណ” បូក​នឹង “ប្រវែង​តួ​សារ”) និង​តួខ្លួន។ សូមមើល “ការគណនាការបូកសរុប” នៅលើទំព័រ 579 សម្រាប់ព័ត៌មានបន្ថែមអំពីការគណនាការបូកសរុប។
មូលប្បទានប័ត្រតែងតែត្រូវបានដាក់នៅខាងចុងនៃតួសារ។ ប្រសិនបើរចនាសម្ព័នរបស់សារត្រូវបានកែប្រែដោយការបន្ថែមវាលទិន្នន័យថ្មី នោះវាលទិន្នន័យថ្មីនឹងត្រូវបានបន្ថែមមុនពេលប្រអប់ពិនិត្យ។ នេះពន្យល់ពីមូលហេតុដែលវាត្រូវបានផ្ដល់អនុសាសន៍ឱ្យដោះស្រាយវាល checksum ដែលទាក់ទងទៅនឹងចុងបញ្ចប់នៃតួសារ។
3.4.2 កំណត់សម្គាល់ទូទៅ
មាត្រដ្ឋានពេលវេលា
មានមាត្រដ្ឋានពេលវេលាចំនួនប្រាំដែលអ្នកទទួលរបស់អ្នកអាចដោះស្រាយបាន៖
ម៉ោងអ្នកទទួល Tg ម៉ោងប្រព័ន្ធ GPS Tu UTC(USNO)។ ពេលវេលាសំរបសំរួលជាសកលដែលគាំទ្រដោយអ្នកសង្កេតការណ៍កងទ័ពជើងទឹកសហរដ្ឋអាមេរិក-
vatory ។ ពេលវេលាប្រព័ន្ធ Tn GLONASS ។ Ts UTC (SU) ។ ពេលវេលាសំរបសំរួលជាសកលដែលគាំទ្រដោយម៉ោងរដ្ឋ និងសេរី
សេវា Quency, ប្រទេសរុស្ស៊ី។
"ម៉ោងអ្នកទទួល" គឺជាក្រឡាចត្រង្គពេលវេលាតែមួយគត់ដែលតែងតែមាននៅក្នុងអ្នកទទួលរបស់អ្នក (ឧ.
តាមពិត អ្នកទទួល JAVAD GNSS តែងតែធ្វើសមកាលកម្មពេលវេលារបស់អ្នកទទួលរបស់វាជាមួយនឹងមាត្រដ្ឋានពេលវេលាសកលមួយក្នុងចំនោម 4 ខ្នាត៖ ពេលវេលា GPS, UTC(USNO), GLONASS time, ឬ UTC(SU)។ នេះ។

GREIS

www.javad.com

68

GREIS

សារដែលបានកំណត់ទុកជាមុនតាមស្តង់ដារអ្នកទទួល
កំណត់ចំណាំទូទៅ
ក្រឡាពេលវេលាដែលបានជ្រើសរើសដូច្នេះត្រូវបានគេហៅថា "ពេលវេលាយោងអ្នកទទួល" (Trr) បន្ទាប់ពីនេះនៅក្នុងផ្នែកទី 1 នេះ។
ប្រព័ន្ធពេលវេលាផ្សេងៗគ្នាអាចមានកំណត់សម្គាល់ពេលវេលាខុសៗគ្នា (ទម្រង់) ដែលភ្ជាប់ជាមួយពួកវា (ឧទាហរណ៍ សម្រាប់ពេលវេលា GPS យើងប្រើពាក្យដូចជា "លេខសប្តាហ៍" "ពេលវេលានៃសប្តាហ៍" ។ល។)។ ទោះជាយ៉ាងណាក៏ដោយ ចំណាំថាតំណាង "ពេលវេលាអ្នកទទួល" នឹងមិនអាស្រ័យលើពេលវេលាយោងអ្នកទទួលដែលបានជ្រើសរើសទេ ហើយតែងតែត្រូវបានតំណាងថាជាកាលបរិច្ឆេទ និងពេលវេលានៃថ្ងៃរបស់អ្នកទទួល។
សារដែលបានកំណត់ជាមុនភាគច្រើនមិនមានព័ត៌មានពេលវេលាយោងនៅខាងក្នុងទេ។ នៅក្នុងរបស់យើង។ viewវានឹងហួសហេតុក្នុងការប្រើប្រាស់មួយ និងពេលតែមួយ tag ជាមួយនឹងសារជាច្រើនដែលអ្នកទទួលបង្កើតនៅសម័យបច្ចុប្បន្ន។ នៅពេលបញ្ចេញព័ត៌មានអ្នកទទួលដែលមានសម្រាប់សម័យបច្ចុប្បន្ន ជាធម្មតាអ្នកទទួលបានសារផ្សេងៗ។ ជំនួសឱ្យការផ្គត់ផ្គង់ពួកគេម្នាក់ៗជាមួយនឹងពេលវេលាផ្ទាល់ខ្លួន tag វាលទិន្នន័យ យើងប្រើសារពិសេសដែលផ្ទុកព័ត៌មានពេលវេលាអ្នកទទួលទូទៅសម្រាប់សារទាំងនេះ។ សារនេះត្រូវបានគេហៅថា "ម៉ោងអ្នកទទួល" ហើយមានលេខសម្គាល់ [~~]។
ទោះយ៉ាងណាក៏ដោយ មានរបៀបប្រតិបត្តិការមួយ ដែលហៅថា របៀបពន្យាពេល RTK នៅពេលដែលអ្នកទទួលសម័យមួយអាចបង្កើតដំណោះស្រាយដែលយោងទៅសម័យកាលផ្សេងទៀតមួយចំនួនកាលពីអតីតកាល។ ដើម្បីផ្តល់ពេលវេលា tag សម្រាប់ដំណោះស្រាយបែបនេះ ពេលវេលាដំណោះស្រាយពិសេសTag សារ [ST] ត្រូវ​បាន​ប្រើ។ តាមពិតសារនេះផ្តល់ពេលវេលាត្រឹមត្រូវ។ tag សម្រាប់ដំណោះស្រាយនៅក្នុងគ្រប់ទម្រង់នៃប្រតិបត្តិការ ទោះបីជានៅក្នុងរបៀបភាគច្រើនវាមានពេលវេលាដូចគ្នាទៅនឹង [~~] ក៏ដោយ។
មានសារខ្លះទៀតដែលមានពេល tag វាលទិន្នន័យ។ ទាំងនោះគឺជាសារដែលមានព័ត៌មានដែលបង្ហាញដោយឯករាជ្យនៅលើក្រឡាចត្រង្គសម័យអ្នកទទួល។ អតីតample នៃសារបែបនេះគឺ "ព្រឹត្តិការណ៍" [==] ។
សញ្ញាកំណត់
តាមពិត សារ "ម៉ោងអ្នកទទួល" ត្រូវបានគេសន្មត់ថានាំមុខសារផ្សេងទៀតទាំងអស់ដែលបានបង្កើតនៅសម័យបច្ចុប្បន្ន ដូច្នេះកំណត់សារដែលត្រូវគ្នានឹងសម័យផ្សេងៗគ្នា។ ពីចំណុចផ្លូវការនៃ viewវាគឺអាស្រ័យលើអ្នកប្រើប្រាស់ដើម្បីកំណត់លំដាប់នៃសារនៅក្នុងស្ទ្រីមលទ្ធផល។ ទោះជាយ៉ាងណាក៏ដោយ ការយកចិត្តទុកដាក់គួរត្រូវបានយកចិត្តទុកដាក់ដើម្បីធានាថាលំដាប់ដែលសារត្រូវបានសរសេរទៅក្នុងស្ទ្រីមលទ្ធផលមិនបំបែក "ការធ្វើសមកាលកម្មសម័យ" ដែលមានសារៈសំខាន់ខ្លាំងណាស់សម្រាប់ការដំណើរការទិន្នន័យដែលបានកត់ត្រាក្រោយដំណើរការជាមួយកញ្ចប់កម្មវិធី JAVAD GNSS ។ សម្រាប់ព័ត៌មានលម្អិតអំពីសំណុំសារលំនាំដើម សូមមើល “ សំណុំសារ” នៅទំព័រ 562 ។
សម្រាប់កម្មវិធីតាមពេលវេលាជាក់ស្តែង វាចាំបាច់ក្នុងការកំណត់ចុងបញ្ចប់នៃសម័យឱ្យបានឆាប់តាមដែលអាចធ្វើទៅបាន។ សម្រាប់​កម្មវិធី​បែប​នេះ គ្រាន់តែ​កំណត់​សម័យកាល​ដោយ​សញ្ញា​សម្គាល់ "ការចាប់ផ្តើម​សម័យ" មិន​ងាយស្រួល​នោះទេ។ យើងស្នើឱ្យប្រើសារ "ពេលវេលាសម័យ" [::](ET) ជាសញ្ញាសម្គាល់ "ចុងបញ្ចប់នៃសម័យ" ។ សារនេះមានវាលម៉ោងដូចគ្នានៃថ្ងៃដែលត្រូវបានរកឃើញនៅក្នុងសារ "ម៉ោងអ្នកទទួល" ដែលអនុញ្ញាតឱ្យមានការត្រួតពិនិត្យភាពត្រឹមត្រូវប្រសើរជាងមុន។ គំនិតគឺប្រៀបធៀបពេលវេលា tag

1. នៅក្នុងកម្មវិធីបង្កប់អ្នកទទួលបច្ចុប្បន្ន ពេលវេលាយោងអ្នកទទួលគឺជាពេលវេលាប្រព័ន្ធ GPS ឬ GLONASS សូមមើល /par/raw/time/ref នៅទំព័រ 220

www.javad.com

69

GREIS

សារដែលបានកំណត់ទុកជាមុនតាមស្តង់ដារអ្នកទទួល
កំណត់ចំណាំទូទៅ
ពី [::] សារប្រឆាំងនឹងពេលវេលា tag ពីសារ [~~] ដែលត្រូវគ្នា។ មិនត្រូវគ្នា។ tags គឺជាការបង្ហាញពីសម័យកាលដែលខូច។
អ្នក​នឹង​សម្គាល់​ឃើញ​ថា​សារ​ភាគ​ច្រើន​មាន​លេខ​សម្គាល់​ដែល​មាន​តែ​លេខ​ និង/ឬ​អក្សរ​អង់គ្លេស​ប៉ុណ្ណោះ។ តាមពិត “ម៉ោងអ្នកទទួល” [~~] គឺជាសារតែមួយគត់ដែលអ្នកកំណត់អត្តសញ្ញាណប្រើតួអក្សរ “~” ។ វាសមហេតុផលដែលសារ [~~] ដើរតួជាផ្នែកសំខាន់ណាស់ដែលបម្រើជាអ្នកកំណត់ព្រំដែនសម័យ។ ដូច្នេះ មានការប្រុងប្រយ័ត្នពិសេស ដើម្បីកាត់បន្ថយប្រូបាប៊ីលីតេនៃការបាត់បង់សារសំខាន់នេះ។ ដូចគ្នានេះដែរ ការកំណត់អត្តសញ្ញាណនៃសារ “ព្រឹត្តិការណ៍” ([==]) ក៏ត្រូវតែមានលក្ខណៈប្លែកតាមដែលអាចធ្វើបាន ចាប់តាំងពីកម្មវិធីកម្មវិធីអាចប្រើព្រឹត្តិការណ៍ដែលមានទម្រង់ឥតគិតថ្លៃគ្រាន់តែជាការកំណត់ព្រំដែនប៉ុណ្ណោះ។
គំនិតនៃការប្រើប្រាស់ឧបករណ៍កំណត់អត្តសញ្ញាណ "ប្លែកខ្លាំង" សម្រាប់សារដែលដើរតួជាអ្នកកំណត់គឺច្បាស់ណាស់។ ប្រសិនបើមូលប្បទានប័ត្ររបស់សារខុស សូមពិនិត្យមើលអត្តសញ្ញាណរបស់វា។ ប្រសិនបើតួអក្សរទាំងពីរមិនស្របគ្នាជាមួយ “~” នោះវាមិនទំនងទេដែលនេះជាសារ [~~] ដែលខូច។ ដូច្នេះ អ្នកមិនចាំបាច់រំលងទៅ [~~] សារបន្ទាប់ក្នុងករណីនេះទេ។
ម៉្យាងវិញទៀត ប្រសិនបើសារមួយមាន checksum ត្រឹមត្រូវ ប៉ុន្តែតួអក្សរកំណត់អត្តសញ្ញាណមួយគឺ “~” នោះវានឹងមានសុវត្ថិភាពជាងក្នុងការព្យាបាលសារនេះជាសារ [~~] ដែលខូច។ ក្នុងករណីនេះរំលងទៅសារ [~~] បន្ទាប់។

ប្រភេទនៃដំណោះស្រាយ

វាល “solType” ដែលប្រើក្នុងសារដែលបានកំណត់ជាមុនជាច្រើនកំណត់ប្រភេទនៃដំណោះស្រាយដែលត្រូវគ្នា ហើយអាចមានតម្លៃដូចខាងក្រោម៖
តារាង 3-3 ។ ប្រភេទនៃដំណោះស្រាយ

តម្លៃ

អត្ថន័យ

0

ទេ

ឯកសារ/ធនធាន

ចំណុចប្រទាក់ខាងក្រៅអ្នកទទួល JAVAD GREIS GNSS [pdf] ការណែនាំអ្នកប្រើប្រាស់
អ្នកទទួល GREIS GNSS ចំណុចប្រទាក់ខាងក្រៅ, GREIS, ចំណុចប្រទាក់ខាងក្រៅអ្នកទទួល GNSS, ចំណុចប្រទាក់ខាងក្រៅអ្នកទទួល, ចំណុចប្រទាក់ខាងក្រៅ, ចំណុចប្រទាក់

ឯកសារយោង

ទុកមតិយោបល់

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានផ្សព្វផ្សាយទេ។ វាលដែលត្រូវការត្រូវបានសម្គាល់ *