JAVAD GREIS GNSS ຮັບສ່ວນຕິດຕໍ່ພາຍນອກ
ຂໍ້ມູນຈໍາເພາະ
- ຜະລິດຕະພັນ: ເຄື່ອງຮັບ GREIS GNSS
- ລຸ້ນ Firmware: 4.5.00
- ດັດແກ້ຫຼ້າສຸດ: 14 ຕຸລາ 2024
ຂໍ້ມູນຜະລິດຕະພັນ
ເຄື່ອງຮັບ GREIS GNSS ແມ່ນອຸປະກອນການໂຕ້ຕອບພາຍນອກທີ່ມີຄວາມແມ່ນຍໍາສູງທີ່ອອກແບບໂດຍ JAVAD GNSS, ສະເຫນີຂໍ້ມູນຕໍາແຫນ່ງທີ່ຖືກຕ້ອງ.
ແນະນຳ
GREIS ເປັນອຸປະກອນອະເນກປະສົງທີ່ໃຊ້ສໍາລັບຄໍາຮ້ອງສະຫມັກຕ່າງໆ. ນີ້ແມ່ນບາງຈຸດສໍາຄັນ:
- GREIS ແມ່ນຫຍັງ: ມັນເປັນອຸປະກອນການໂຕ້ຕອບພາຍນອກສໍາລັບເຄື່ອງຮັບ GNSS.
- GREIS ຖືກໃຊ້ແນວໃດ: ມັນຖືກນໍາໃຊ້ເພື່ອເພີ່ມປະສິດທິພາບການເຮັດວຽກແລະຄວາມຖືກຕ້ອງຂອງລະບົບ GNSS.
- ລາຍຊື່: ອ້າງອີງໃສ່ຄູ່ມືສໍາລັບລາຍການລາຍລະອຽດຂອງຄຸນສົມບັດ ແລະຄຸນສົມບັດທີ່ຮອງຮັບ.
- ວັດຖຸ: ສຳຫຼວດວັດຖຸທີ່ແຕກຕ່າງກັນທີ່ສາມາດຖືກນຳໃຊ້ກັບ GREIS ສຳລັບວຽກສະເພາະ.
ພາສາປ້ອນຂໍ້ມູນຜູ້ຮັບ
ພາສາປ້ອນຂໍ້ມູນຂອງຕົວຮັບອະນຸຍາດໃຫ້ຜູ້ໃຊ້ສາມາດພົວພັນກັບອຸປະກອນໂດຍໃຊ້ຄໍາສັ່ງສະເພາະ ແລະ syntax. ນີ້ແມ່ນສະຫຼຸບໂດຍຫຍໍ້view:
- ພາສາ Examples: ຮຽນຮູ້ຈາກສະຫນອງໃຫ້ examples ເພື່ອເຂົ້າໃຈວິທີການສື່ສານກັບອຸປະກອນ.
- Syntax ພາສາ: ຄຸ້ນເຄີຍກັບກົດລະບຽບ syntax ສໍາລັບການສົ່ງຄໍາສັ່ງໄປຫາຜູ້ຮັບ.
- ຄໍາສັ່ງ: ໃຊ້ຄໍາສັ່ງຕ່າງໆເພື່ອຄວບຄຸມແລະກໍາຫນົດຄ່າອຸປະກອນໂດຍອີງໃສ່ຄວາມຕ້ອງການຂອງທ່ານ.
ຂໍ້ຄວາມຜູ້ຮັບ
ການເຂົ້າໃຈຂໍ້ຄວາມຂອງຜູ້ຮັບແມ່ນສໍາຄັນສໍາລັບການຕີຄວາມຫມາຍຂໍ້ມູນແລະຂໍ້ມູນສະຖານະພາບ. ນີ້ແມ່ນສິ່ງທີ່ທ່ານຕ້ອງຮູ້:
- ສົນທິສັນຍາ: ປະຕິບັດຕາມຮູບແບບສະເພາະ ແລະຄຸນຄ່າສໍາລັບການແປຂໍ້ຄວາມຢ່າງຖືກຕ້ອງ.
- ການຖ່າຍທອດຂໍ້ຄວາມມາດຕະຖານ: ສຳຫຼວດຮູບແບບຂໍ້ຄວາມມາດຕະຖານສຳລັບການສົ່ງຂໍ້ມູນທີ່ສອດຄ່ອງກັນ.
FAQs
ຖາມ: ຂ້ອຍສາມາດດັດແປງເຟີມແວຂອງຕົວຮັບ GREIS GNSS ໄດ້ບໍ?
A: ບໍ່, ການດັດແກ້ເຟີມແວແມ່ນບໍ່ໄດ້ຮັບອະນຸຍາດຕາມກົດລະບຽບລິຂະສິດຂອງ 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. ຂໍ້ກໍານົດແລະເງື່ອນໄຂຂ້າງເທິງຈະຖືກຄຸ້ມຄອງໂດຍ, ແລະ construed ຕາມ, ກົດຫມາຍຂອງລັດຄາລິຟໍເນຍ, ໂດຍບໍ່ມີການອ້າງອີງເຖິງຂໍ້ຂັດແຍ່ງຂອງກົດຫມາຍ.
GREIS ແມ່ນຫຍັງ
GREIS ເປັນພາສາການໂຕ້ຕອບທີ່ຊ່ວຍໃຫ້ຜູ້ໃຊ້ສາມາດສື່ສານກັບຜູ້ຮັບ GNSS ໄດ້ຢ່າງມີປະສິດທິພາບໂດຍການເຂົ້າເຖິງຄວາມສາມາດແລະຫນ້າທີ່ທັງຫມົດຂອງພວກເຂົາ.
GREIS ເປັນຕົວແທນໂຄງສ້າງພາສາຕົວຮັບທົ່ວໄປສໍາລັບຂອບເຂດທັງຫມົດຂອງຮາດແວ JAVAD GNSS. ໂຄງສ້າງພາສານີ້ແມ່ນຕົວຮັບເປັນເອກະລາດ ແລະເປີດໃຫ້ມີການດັດແກ້ ຫຼືຂະຫຍາຍໃນອະນາຄົດ. GREIS ແມ່ນອີງໃສ່ວິທີການລວມທີ່ອະນຸຍາດໃຫ້ຜູ້ໃຊ້ສາມາດຄວບຄຸມເຄື່ອງຮັບ JAVAD GNSS ໂດຍໃຊ້ຊຸດວັດຖຸທີ່ມີຊື່ທີ່ເຫມາະສົມ. ການສື່ສານກັບວັດຖຸເຫຼົ່ານີ້ແມ່ນບັນລຸໄດ້ໂດຍຜ່ານຄໍາສັ່ງແລະຂໍ້ຄວາມທີ່ກໍານົດໄວ້ລ່ວງຫນ້າ. ບໍ່ມີຂໍ້ຈໍາກັດສະເພາະກ່ຽວກັບຈໍານວນຫຼືປະເພດຂອງວັດຖຸເຄື່ອງຮັບທີ່ໃຊ້.
GREIS ຖືກໃຊ້ແນວໃດ
ລະບົບໃດໆທີ່ຕິດຕໍ່ສື່ສານກັບເຄື່ອງຮັບ JAVAD GNSS ຜ່ານພອດຫນຶ່ງຂອງມັນ (serial, ຂະຫນານ, USB, Ethernet, ແລະອື່ນໆ) ຈະໃຊ້ຄໍາສັ່ງແລະຂໍ້ຄວາມ GREIS ເພື່ອເຮັດສໍາເລັດວຽກງານທີ່ກໍານົດໄວ້. ຄູ່ຂອງຄໍາຮ້ອງສະຫມັກທົ່ວໄປທີ່ GREIS ມີບົດບາດສໍາຄັນຫຼາຍ, ທໍາອິດ, ການນໍາໃຊ້ຕົວຄວບຄຸມດ້ວຍມືເພື່ອຕິດຕໍ່ສື່ສານກັບຜູ້ຮັບໃນລະຫວ່າງການປະຕິບັດການພາກສະຫນາມໃນການສໍາຫຼວດແລະໂຄງການ RTK ຫຼື, ທີສອງ, ໃນເວລາທີ່ການດາວໂຫຼດຂໍ້ມູນຈາກເຄື່ອງຮັບເຂົ້າໄປໃນລະບົບ desktop ສໍາລັບການຕອບຕໍ່ໄປ. ການປຸງແຕ່ງ. ແອັບພລິເຄຊັນການປະມວນຜົນຫຼັງຕົວມັນເອງບໍ່ໄດ້ໃຊ້ຄໍາສັ່ງ GREIS, ແຕ່ຕ້ອງລະວັງຂໍ້ຄວາມ GREIS ເພື່ອສະກັດຂໍ້ມູນຈາກຂໍ້ມູນ. files.
ລັກສະນະທີ່ສໍາຄັນອັນຫນຶ່ງຂອງ GREIS ແມ່ນວ່າມັນສາມາດຖືກນໍາໃຊ້ຢ່າງມີປະສິດທິພາບທັງສໍາລັບການຄວບຄຸມອັດຕະໂນມັດແລະຄູ່ມືຂອງ JAVAD GNSS receivers. ສໍາລັບການຄວບຄຸມດ້ວຍມື, ຜູ້ໃຊ້ຈະໃສ່ຄໍາສັ່ງ GREIS ທີ່ຈໍາເປັນເຂົ້າໄປໃນເຄື່ອງຮັບຜ່ານ terminal. ນີ້ແມ່ນບັນລຸໄດ້ຢ່າງງ່າຍດາຍຍ້ອນວ່າ GREIS ຖືກອອກແບບມາເພື່ອເປັນການໂຕ້ຕອບຂໍ້ຄວາມທີ່ມະນຸດອ່ານໄດ້. ໃນທາງກົງກັນຂ້າມ, GREIS ປະຕິບັດຕາມກົດລະບຽບທີ່ເຄັ່ງຄັດທີ່ເຮັດໃຫ້ມັນງ່າຍຕໍ່ການນໍາໃຊ້ໂດຍແອັບພລິເຄຊັນ.
ລາຍການ
GREIS ນໍາໃຊ້ແນວຄວາມຄິດຂອງບັນຊີລາຍຊື່ຢ່າງຫຼວງຫຼາຍ. ລາຍການຖືກໃຊ້ທັງໃນພາສາປ້ອນເຂົ້າຂອງຕົວຮັບ ແລະໃນຂໍ້ຄວາມມາດຕະຖານ.
ແນະນຳວັດຖຸ
ລາຍຊື່ໃນ GREIS ແມ່ນສະແດງໂດຍລຳດັບຂອງອົງປະກອບທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດ (,, ລະຫັດ ASCII 44), ແລະຕິດຢູ່ໃນວົງເລັບ ({}, ລະຫັດ ASCII 123 ແລະ 125):
{element1,element2,element3}
ໃນທາງກັບກັນ, ອົງປະກອບຂອງບັນຊີລາຍຊື່ອາດຈະເປັນລາຍຊື່:
{e1,{ee21,ee22},e3}
ດັ່ງນັ້ນຄໍານິຍາມຂ້າງເທິງແມ່ນ recursive, ດັ່ງນັ້ນບັນຊີລາຍຊື່ຂອງຄວາມເລິກຂອງຮັງ arbitrary ແມ່ນອະນຸຍາດໃຫ້. ອົງປະກອບທີ່ບໍ່ແມ່ນບັນຊີລາຍຊື່ແມ່ນເອີ້ນວ່າອົງປະກອບຂອງໃບ, ຫຼືພຽງແຕ່ໃບ. ອົງປະກອບຂອງລາຍຊື່ອາດຈະຫວ່າງເປົ່າ, ໃນກໍລະນີທີ່ພວກເຮົາເວົ້າວ່າອົງປະກອບຖືກລະເວັ້ນ. ຕົວຢ່າງample, ໃນບັນຊີລາຍຊື່ຂ້າງລຸ່ມນີ້, ອົງປະກອບທີສອງຖືກລະເວັ້ນ:
{e1,,e3}
ຊ່ອງຫວ່າງກ່ອນ ແລະຫຼັງຕົວຂັ້ນແມ່ນອະນຸຍາດ ແລະຖືກລະເລີຍ. ຖ້າອົງປະກອບຂອງລາຍຊື່ທັງໝົດມີສະຕຣິງຍ່ອຍດຽວກັນ (ຄຳນຳໜ້າ) ໃນຕອນຕົ້ນ, ສະຕຣິງຍ່ອຍນີ້ສາມາດຖືກຍ້າຍອອກຈາກວົງເລັບທີ່ຢູ່ອ້ອມຮອບລາຍຊື່, ຕົວຢ່າງ:
elem{1,2,3}
ເປັນຮູບແບບສັ້ນກວ່າຂອງ
{elem1,elem2,elem3}
ອົງປະກອບສາມາດຖືກຫຸ້ມເຂົ້າໄປໃນວົງຢືມຄູ່ (“, ລະຫັດ ASCII 34) ທີ່ຖືກລອກອອກໃນລະຫວ່າງການວິເຄາະ. ພາຍໃນອົງປະກອບທີ່ອ້າງອີງ, ສັນຍາລັກພິເສດ (ວົງເລັບ, ເຄື່ອງໝາຍຈຸດ, ແລະອື່ນໆ) ຂາດບົດບາດຂອງມັນ ແລະຖືວ່າເປັນຕົວລະຄອນປົກກະຕິ. ການນໍາໃຊ້ຄໍາເວົ້າອີກຢ່າງຫນຶ່ງແມ່ນການຈໍາແນກລະຫວ່າງ "ອົງປະກອບບໍ່ໄດ້ລະບຸໄວ້" ແລະ "ອົງປະກອບທີ່ລະບຸໄວ້ຫວ່າງເປົ່າ". ອະດີດແມ່ນໝາຍເຖິງໂດຍການຍົກເວັ້ນອົງປະກອບໃດໜຶ່ງອອກຈາກລາຍຊື່, ແລະອັນສຸດທ້າຍແມ່ນໝາຍເຖິງໂດຍການໃສ່ຄູ່ຂອງວົງຢືມຄູ່ລະຫວ່າງເຄື່ອງໝາຍຈຸດ. ການອ້າງອິງຍັງເປັນປະໂຫຍດເມື່ອຄົນເຮົາຕ້ອງການໃຫ້ມີຊ່ອງແຖວທາງໜ້າ ຫຼື ຕິດຕາມໃນສະຕຣິງ. ເພື່ອວາງ double-quote ເຂົ້າໄປໃນອົງປະກອບ, quote ອົງປະກອບນີ້ແລະຫນີ double-quote ພາຍໃນທີ່ມີຕົວອັກສອນ backslash (, ASCII code 92). ເພື່ອເອົາ backslash ດ້ວຍຕົວມັນເອງເຂົ້າໄປໃນສະຕຣິງທີ່ອ້າງອີງ, ຫນີມັນດ້ວຍ backslash ອື່ນ, ສໍາລັບການຍົກຕົວຢ່າງample:
Example: “String with “quotes”, backslash \, ແລະຕົວອັກສອນພິເສດ, {}”
1.4 ວັດຖຸ
ໃນສະພາບການຂອງແບບຈໍາລອງທີ່ GREIS ແມ່ນອີງໃສ່, ເຄື່ອງຮັບ JAVAD GNSS ຖືກລະບຸດ້ວຍຊຸດຂອງວັດຖຸທີ່ມີຊື່.
GREIS
www.javad.com
20
ແນະນຳວັດຖຸ
ຕົວລະບຸວັດຖຸ
ວັດຖຸແມ່ນກໍານົດເປັນຫນ່ວຍງານຮາດແວຫຼືຊອບແວຂອງຕົວຮັບທີ່ສາມາດແກ້ໄຂ, ກໍານົດ, ຫຼືສອບຖາມ. ຫນ່ວຍງານຮາດແວແມ່ນໂດຍທົ່ວໄປແລ້ວເອີ້ນວ່າອຸປະກອນ, ໃນຂະນະທີ່ວັດຖຸເຟີມແວແມ່ນປົກກະຕິ files ແລະຕົວກໍານົດການ. ພອດຕົວຮັບແລະໂມດູນຫນ່ວຍຄວາມຈໍາແມ່ນດີທັງຫມົດ examples ຂອງອຸປະກອນ. ອຸປະກອນທັງຫມົດ, files ແລະພາລາມິເຕີຖືກປະຕິບັດໃນແບບດຽວກັນໂດຍ GREIS. ທຸກໆວັດຖຸມີຊຸດຄຸນລັກສະນະທີ່ກ່ຽວຂ້ອງທີ່ສາມາດເຂົ້າຫາ, ກໍານົດ, ແລະ/ຫຼືປ່ຽນແປງຜ່ານ GREIS.
1.4.1 ຕົວລະບຸວັດຖຸ
ມັນໄດ້ຖືກກ່າວເຖິງແລ້ວວ່າເຄື່ອງຮັບແມ່ນຖືວ່າເປັນຊຸດຂອງວັດຖຸ (ອຸປະກອນ, files, ຂໍ້ຄວາມ, ພາລາມິເຕີ, ແລະອື່ນໆ) ໃນສະພາບການຂອງຕົວແບບ GREIS. ສໍາລັບຈຸດປະສົງຂອງການແກ້ໄຂວັດຖຸໃນຄໍາສັ່ງຂອງຕົວຮັບ, ຄວນກໍານົດຕົວລະບຸທີ່ເປັນເອກະລັກໃຫ້ກັບທຸກວັດຖຸ.
ວັດຖຸຢູ່ໃນຕົວຮັບແມ່ນຈັດເປັນກຸ່ມຢ່າງມີເຫດຜົນ. ກຸ່ມຕົວມັນເອງຍັງເປັນວັດຖຸແລະເປັນຂອງກຸ່ມອື່ນເວັ້ນເສຍແຕ່ວ່າມັນເປັນກຸ່ມຮາກ. ດັ່ງນັ້ນ, ວັດຖຸທັງໝົດຢູ່ໃນຕົວຮັບໄດ້ຖືກຈັດເປັນລຳດັບທີ່ຄ້າຍຄືຕົ້ນໄມ້ເລີ່ມຕົ້ນຈາກກຸ່ມຮາກດຽວ. ການເປັນຕົວແທນນີ້ resembles ອົງການຈັດຕັ້ງຂອງ files ເຂົ້າໄປໃນໄດເລກະທໍລີ (ໂຟນເດີ້) ທີ່ຜູ້ໃຊ້ຄອມພິວເຕີສ່ວນໃຫຍ່ຄຸ້ນເຄີຍກັບ.
ໃນ GREIS, ກຸ່ມວັດຖຸຖືກສະແດງເປັນລາຍຊື່ຂອງຊື່ວັດຖຸທີ່ສອດຄ້ອງກັນ. ຊື່ວັດຖຸແມ່ນເປັນເອກະລັກພາຍໃນລາຍການທີ່ວັດຖຸເປັນ. ຕົວລະບຸວັດຖຸທີ່ເປັນເອກະລັກທົ່ວໂລກແມ່ນຖືກກໍານົດເປັນຊື່ວັດຖຸທັງໝົດຢູ່ໃນເສັ້ນທາງຜ່ານຕົ້ນໄມ້ວັດຖຸຈາກລາຍການຮາກໄປຫາວັດຖຸ, delimited ດ້ວຍ slash ໄປຂ້າງຫນ້າ (/). ບັນຊີລາຍຊື່ຮາກຕົວມັນເອງແມ່ນຖືກກໍານົດໂດຍ slash ໄປຂ້າງຫນ້າດຽວ.
Examples ຂອງຕົວລະບຸວັດຖຸແມ່ນ:
Example: ກຸ່ມຮາກ:
/
Example: ID ເອເລັກໂຕຣນິກຜູ້ຮັບ:
/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 ສະເຫມີ. ບາງວັດຖຸອາດມີຄຸນສົມບັດເພີ່ມເຕີມ, ຕົວຢ່າງເຊັ່ນample: Example: 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 = ໄລຍະ
(1)
Tout = N ຂັ້ນຕອນ (2)
GREIS
ບ່ອນທີ່ N ເປັນຈໍານວນເຕັມທີ່ເອົາຄ່າ [0,1,2,…,(86400/ຂັ້ນຕອນ)-1].
ສົມຜົນທໍາອິດກໍານົດກົດລະບຽບພື້ນຖານຂອງຜົນຜະລິດຂໍ້ຄວາມ, ແລະອັນທີສອງກໍານົດຂໍ້ຈໍາກັດເພີ່ມເຕີມທີ່ກ່ຽວຂ້ອງກັບໄລຍະເວລາຂອງຕົວຮັບພາຍໃນ. ໃຫ້ສັງເກດວ່າໃນກໍລະນີປົກກະຕິທີ່ສຸດ, ເມື່ອທັງສອງໄລຍະເວລາແລະໄລຍະແມ່ນຄູນຂອງຂັ້ນຕອນ, ສົມຜົນທີສອງຈະພໍໃຈໂດຍອັດຕະໂນມັດທຸກຄັ້ງທີ່ສົມຜົນທໍາອິດພໍໃຈ. ຍັງສັງເກດວ່າຖ້າ
86400 (ໄລຍະເວລາ mod) 0,
www.javad.com
23
ການແນະນໍາຜົນຜະລິດແຕ່ລະໄລຍະ
ຈຳນວນຜົນຜະລິດ
Example:
Example: Example:
ໄລຍະຫ່າງຕົວຈິງລະຫວ່າງຂໍ້ຄວາມສຸດທ້າຍທີ່ສົ່ງກ່ອນການເລື່ອນມື້ ແລະຂໍ້ຄວາມທຳອິດຫຼັງຈາກມື້ມ້ວນທ້າຍຈະແຕກຕ່າງຈາກຄ່າຂອງໄລຍະເວລາ.
ພິຈາລະນາສອງສາມ examples ສະແດງໃຫ້ເຫັນກົນໄກນີ້:
ສົມມຸດວ່າໄລຍະເວລາແມ່ນ 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 bit ຕັ້ງໄວ້.
2. ເມື່ອການນັບຖືກຕັ້ງເປັນຄ່າໃນຂອບເຂດ [-256…-1], ຜົນໄດ້ຮັບຂອງຂໍ້ຄວາມບໍ່ໄດ້ຖືກສະກັດກັ້ນ, ແລະຊ່ອງການນັບໃຫ້ບໍລິການຈຸດປະສົງທີ່ແຕກຕ່າງກັນທັງໝົດ. ມັນເຮັດໃຫ້ການຫໍ່ຂໍ້ຄວາມເປັນ [>>] ຂໍ້ຄວາມພິເສດກ່ອນທີ່ຈະອອກ (ເບິ່ງ “[>>] Wrapper” ໃນຫນ້າ 132). ຫຼັງຈາກນັ້ນ, ຄ່າຂອງການນັບຖືກໃຊ້ເພື່ອກໍານົດຊ່ອງຂໍ້ມູນ id ໃນຂໍ້ຄວາມ [>>] ທີ່ສ້າງຂຶ້ນເພື່ອໃຫ້ id ເປັນຕົວເລກເທົ່າກັບ (-1 – ນັບ).
ຄຸນນະສົມບັດການຫໍ່ແມ່ນເປັນປະໂຫຍດ, ສໍາລັບການຍົກຕົວຢ່າງample, ສໍາລັບຄໍາຮ້ອງສະຫມັກເຊີຟເວີທີ່ໄດ້ຮັບຂໍ້ຄວາມຈາກຜູ້ຮັບແລະສົ່ງຕໍ່ໄປຫາລູກຄ້າຫຼາຍໆຄົນ. ມັນສາມາດຮ້ອງຂໍການຫໍ່ຂໍ້ຄວາມທີ່ຕົນເອງໄດ້ເຂົ້າໄປໃນ [>>] ຂໍ້ຄວາມທີ່ມີຕົວລະບຸທີ່ແຕກຕ່າງກັນ, unwrap ຂໍ້ຄວາມທີ່ໄດ້ຮັບ, ແລະສົ່ງຂໍ້ມູນໃຫ້ລູກຄ້າສະເພາະໂດຍອີງໃສ່ 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 ຖ້າທຸງນີ້ຖືກຕັ້ງ, ຂໍ້ຄວາມທໍາອິດຫຼັງຈາກການຮຽກຮ້ອງຂອງຄໍາສັ່ງທີ່ສອດຄ້ອງກັນຈະຖືກສົ່ງອອກໃນ epoch ຂອງຕົວຮັບພາຍໃນທີ່ໃກ້ທີ່ສຸດກັບເວລາປະຕິບັດຄໍາສັ່ງບໍ່ວ່າສິ່ງທີ່ກໍານົດໂດຍພາລາມິເຕີການກໍານົດໄລຍະເວລາ.
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
ພາສາຂາເຂົ້າຂາເຂົ້າ
ບົດນີ້ອະທິບາຍ syntax ແລະ semantics ຂອງພາສາປ້ອນຂໍ້ມູນຂອງຕົວຮັບ. ພວກເຮົາເລີ່ມຕົ້ນດ້ວຍ examples ເພື່ອໃຫ້ຜູ້ອ່ານມີຄວາມຮູ້ສຶກຂອງພາສາ, ຫຼັງຈາກນັ້ນຫັນໄປຫາຄໍານິຍາມ syntax ລະອຽດ, ແລະຫຼັງຈາກນັ້ນອະທິບາຍຄໍາສັ່ງທັງຫມົດທີ່ກໍານົດພ້ອມກັບ semantics ຂອງເຂົາເຈົ້າ.
2.1 ພາສາ Examples
ນີ້ແມ່ນບາງ examples of real statements receiver ເຂົ້າໃຈພ້ອມກັບການຕອບຮັບຂອງຜູ້ຮັບ. ເຈົ້າຈະພົບເຫັນຫຼາຍ examples ຂອງການໃຊ້ຄໍາສັ່ງໂດຍສະເພາະໃນສ່ວນຍ່ອຍທີ່ສອດຄ້ອງກັນ. ການປ້ອນຂໍ້ມູນໃສ່ເຄື່ອງຮັບແມ່ນໝາຍດ້ວຍຕົວອັກສອນ, ໃນຂະນະທີ່ຜົນຜະລິດຂອງຕົວຮັບຖືກໝາຍດ້ວຍຕົວອັກສອນ:
Example: ຂໍໃຫ້ຜູ້ຮັບພິມ ID ເອເລັກໂຕຣນິກຂອງມັນ. ຜູ້ຮັບຈະສ້າງຂໍ້ຄວາມຕອບກັບທີ່ສະແດງ:
Example:
ພິມ,/par/rcv/id RE00C QP01234TR45
ຂໍໃຫ້ຜູ້ຮັບກໍານົດອັດຕາ baud ຂອງພອດ serial ຂອງຕົນ A ເປັນ 9600. ຜູ້ຮັບປະຕິບັດຄໍາສັ່ງສົບຜົນສໍາເລັດແລະບໍ່ມີການຕອບໃດໆ.
ຕັ້ງ,/par/dev/ser/a/rate,9600
Example: ໃຊ້ຄໍາສັ່ງດຽວກັນກັບໃນ ex ທີ່ຜ່ານມາample, ແຕ່ບັງຄັບໃຫ້ຜູ້ຮັບສ້າງການຕອບກັບໂດຍໃຊ້ຕົວລະບຸຄຳຖະແຫຼງ.
Example:
%set_rate%set,/par/dev/ser/a/rate,9600 RE00A%set_rate%
ພະຍາຍາມກໍານົດອັດຕາ baud ສູງເກີນໄປ. ຜູ້ຮັບຕອບກັບດ້ວຍຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດເຖິງແມ່ນວ່າພວກເຮົາບໍ່ໄດ້ໃຊ້ຕົວລະບຸຄໍາຖະແຫຼງ.
ຕັ້ງ,/par/dev/ser/a/rate, 1000000 ER016{4,value out of range}
ໝາຍເຫດ:
ຜູ້ຮັບສະເຫມີເຮັດໃຫ້ການຕອບແບບປົກກະຕິແລະຄວາມຜິດພາດຂອງມັນເຂົ້າໄປໃນສອງຂໍ້ຄວາມມາດຕະຖານ, [RE] ແລະ [ER], ຕາມລໍາດັບ. ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບຮູບແບບຂອງຂໍ້ຄວາມ GREIS, ເບິ່ງ "ຮູບແບບທົ່ວໄປຂອງຂໍ້ຄວາມ" ໃນຫນ້າ 64. ຂໍ້ຄວາມ [RE] ແລະ [ER] ໄດ້ຖືກອະທິບາຍໄວ້ໃນ "ຂໍ້ຄວາມໂຕ້ຕອບ" ໃນຫນ້າ 129.
GREIS
www.javad.com
27
RECEIVER INPUT LANGUAGE Syntax ພາສາ
2.2 Syntax ພາສາ
GREIS ກຳນົດເສັ້ນຂອງຕົວອັກສອນ ASCII ຂອງຄວາມຍາວ arbitrary1, ຈຳກັດໂດຍ carriage-return ( , ລະຫັດທົດສະນິຍົມ ASCII 13), ຫຼື line-feed ( , ASCII ລະຫັດທົດສະນິຍົມ 10) ຕົວອັກສອນ, ເພື່ອເປັນອົງປະກອບ syntax ລະດັບສູງສຸດຂອງພາສາ. ເສັ້ນຫວ່າງຖືກອະນຸຍາດ ແລະຖືກລະເລີຍໃນ GREIS. ດັ່ງນັ້ນ, ເສັ້ນສາມາດຖືກຈໍາກັດໂດຍການປະສົມປະສານໃດໆ ແລະ/ຫຼື ຕົວອັກສອນ. ມັນອະນຸຍາດໃຫ້ GREIS ສະຫນັບສະຫນູນສົນທິສັນຍາ WindowsTM, MacTM, ແລະ UNIXTM ຢ່າງຕໍ່ເນື່ອງ.
ພາສາປ້ອນເຄື່ອງຮັບແມ່ນຕົວພິມນ້ອຍໃຫຍ່. ມັນຫມາຍຄວາມວ່າ, ສໍາລັບການຍົກຕົວຢ່າງample, ສະຕຣິງ GREIS, greis, ແລະ gReIs, ເປັນສະຕຣິງທີ່ແຕກຕ່າງກັນ, ຖືກພິຈາລະນາຢ່າງແທ້ຈິງໂດຍຜູ້ຮັບ.
ເຄື່ອງຫມາຍຕົວເລກ (#, ລະຫັດ ASCII 35) ແມ່ນຕົວອັກສອນແນະນໍາ. ຜູ້ຮັບບໍ່ສົນໃຈທຸກຢ່າງເລີ່ມຕົ້ນຈາກຕົວລະຄອນນີ້ຈົນຮອດທ້າຍແຖວ.
ຫຼັງຈາກຄໍາຄິດຄໍາເຫັນ (ຖ້າມີ) ຖືກຖອດອອກຈາກແຖວ, ຜູ້ຮັບຈະເອົາຊ່ອງທີ່ນໍາຫນ້າແລະຕໍ່ຫນ້າ, ແລະຫຼັງຈາກນັ້ນແຍກສາຍເຂົ້າໄປໃນຄໍາຖະແຫຼງການ. ຄໍາຖະແຫຼງການແມ່ນ delimited ດ້ວຍ semicolon (;, ASCII code 59), ຫຼືສອງ ampersands (&&, ລະຫັດ ASCII 38), ຫຼືມີສອງແຖບຕັ້ງ (||, ລະຫັດ ASCII 124). ຫຼັງຈາກນັ້ນ, ຄໍາສັ່ງໃນແຖວຖືກປະຕິບັດຕາມລໍາດັບ, ຈາກຊ້າຍຫາຂວາ. ຖ້າຄຳຖະແຫຼງທີ່ລົງທ້າຍດ້ວຍຕົວຂັ້ນ && ເຮັດໃຫ້ເກີດຄວາມຜິດພາດ, ຂໍ້ຄວາມທີ່ເຫຼືອຢູ່ໃນແຖວຈະບໍ່ຖືກປະຕິບັດ. ຖ້າຄຳຖະແຫຼງທີ່ລົງທ້າຍດ້ວຍ || delimiter ປະຕິບັດຢ່າງສໍາເລັດຜົນ, ສ່ວນທີ່ເຫຼືອຂອງຄໍາຖະແຫຼງທີ່ຢູ່ໃນເສັ້ນບໍ່ໄດ້ຖືກປະຕິບັດ. ຖະແຫຼງການທີ່ສິ້ນສຸດດ້ວຍ semicolon ບໍ່ເຄີຍຢຸດການປະຕິບັດລໍາດັບຂອງຄໍາຖະແຫຼງການ. ໃຫ້ສັງເກດວ່າຈຸດສິ້ນສຸດຂອງເສັ້ນແມ່ນຕົວສິ້ນສຸດຂອງຄໍາຖະແຫຼງທີ່ຕົວມັນເອງ, ດັ່ງນັ້ນທ່ານບໍ່ຈໍາເປັນຕ້ອງໃສ່ຕົວຂັ້ນຄໍາຖະແຫຼງທີ່ຊັດເຈນຫນຶ່ງຢູ່ທ້າຍແຖວ.
ຮູບແບບຂອງຄໍາຖະແຫຼງການແມ່ນດັ່ງຕໍ່ໄປນີ້:
[%ID%][COMMAND][@CS] ບ່ອນທີ່ວົງເລັບສີ່ຫຼ່ຽມສະແດງເຖິງຊ່ອງຂໍ້ມູນທາງເລືອກ, ແລະຈໍານວນຊ່ອງຫວ່າງໃດກໍໄດ້ອະນຸຍາດໃຫ້ຢູ່ກ່ອນ ແລະຫຼັງທຸກຊ່ອງຂໍ້ມູນ. ຊ່ອງຫວ່າງດັ່ງກ່າວຖືກລະເລີຍ, ຍົກເວັ້ນຈຸດປະສົງຂອງການຄິດໄລ່ checksum, ເບິ່ງຂ້າງລຸ່ມນີ້. ທົ່ງນາແມ່ນ:
ຕົວລະບຸຄຳຖະແຫຼງ %ID%, ບ່ອນທີ່ ID ໝາຍເຖິງສະຕຣິງທີ່ມັກ, ອາດຈະຫວ່າງເປົ່າ. ຕົວລະບຸ, ຖ້າມີ, ຈະຖືກຄັດລອກບໍ່ປ່ຽນແປງໂດຍຜູ້ຮັບເຂົ້າໄປໃນຂໍ້ຄວາມຕອບສະຫນອງສໍາລັບຄໍາຖະແຫຼງການ. ຄໍາຖະແຫຼງໃດໆທີ່ມີຕົວລະບຸຈະສ້າງຄໍາຕອບຈາກຜູ້ຮັບ. ຖະແຫຼງການທີ່ມີພຽງແຕ່ຕົວລະບຸເທົ່ານັ້ນຍັງອະນຸຍາດ; ໃນກໍລະນີດັ່ງກ່າວ, ຜູ້ຮັບພຽງແຕ່ຈະສ້າງຂໍ້ຄວາມຕອບສະຫນອງ.
ຄໍາສັ່ງບັນຊີລາຍຊື່ (ອາດຈະຫວ່າງເປົ່າ) ບ່ອນທີ່ອົງປະກອບທໍາອິດເອີ້ນວ່າຊື່ຄໍາສັ່ງ. ມັນຫມາຍເຖິງການດໍາເນີນການທີ່ຈະປະຕິບັດ. ສ່ວນທີ່ເຫຼືອຂອງອົງປະກອບ (ຖ້າມີ) ແມ່ນຄໍາສັ່ງ
GREIS
1. ການປະຕິບັດ GREIS ໃນປະຈຸບັນຢູ່ໃນເຄື່ອງຮັບສະຫນັບສະຫນູນສາຍທີ່ມີຄວາມຍາວເຖິງ 256 ຕົວອັກສອນ.
www.javad.com
28
RECEIVER INPUT LANGUAGE Syntax ພາສາ
ການໂຕ້ຖຽງ. ວົງເລັບທີ່ລາຍຊື່ຄຳສັ່ງອ້ອມຮອບສາມາດຖືກລະເວັ້ນ. ເບິ່ງ “ລາຍການ” ໃນໜ້າ 19 ສໍາລັບ syntax ຂອງລາຍຊື່. @CS checksum, ບ່ອນທີ່ CS ແມ່ນ 8-bit checksum ຟໍແມັດເປັນເລກຖານສິບຫົກ 2-byte. ກ່ອນທີ່ຈະປະຕິບັດຄໍາຖະແຫຼງການທີ່ມີ checksum, ຜູ້ຮັບຈະປຽບທຽບ checksum CS ກັບທີ່ຄໍານວນໂດຍເຟີມແວແລະຈະປະຕິເສດທີ່ຈະປະຕິບັດຄໍາຖະແຫຼງທີ່ checksum ເຫຼົ່ານີ້ບໍ່ກົງກັນ. Checksum ໄດ້ຖືກຄິດໄລ່ໂດຍເລີ່ມຕົ້ນດ້ວຍຕົວອັກສອນທີ່ບໍ່ແມ່ນຕົວອັກສອນທໍາອິດຂອງຄໍາຖະແຫຼງຈົນກ່ວາແລະລວມທັງຕົວອັກສອນ @. ເບິ່ງ “ການກວດກາການຄິດໄລ່” ຢູ່ໜ້າ 579 ສໍາລັບລາຍລະອຽດ.
ຕົວລະບຸຄຳຖະແຫຼງ, %ID%, ຮັບໃຊ້ຈຸດປະສົງຕໍ່ໄປນີ້:
1. ບັງຄັບໃຫ້ຜູ້ຮັບຕອບສະໜອງຕໍ່ຄຳສັ່ງ. 2. ອະນຸຍາດໃຫ້ສົ່ງຫຼາຍຄໍາສັ່ງທີ່ມີຕົວລະບຸທີ່ແຕກຕ່າງກັນໄປຫາຜູ້ຮັບ
ໂດຍບໍ່ມີການລໍຖ້າການຕອບສະຫນອງສໍາລັບທຸກຄໍາສັ່ງ, ຫຼັງຈາກນັ້ນໄດ້ຮັບການຕອບສະຫນອງແລະບອກວ່າການຕອບໂຕ້ກັບຄໍາສັ່ງໃດ. 3. ຊ່ວຍສ້າງ synchronization ກັບ receiver ໂດຍອະນຸຍາດໃຫ້ກວດສອບການຕອບສະຫນອງຂອງ receiver ໂດຍສະເພາະກົງກັບຄໍາສັ່ງໂດຍສະເພາະ, ແລະບໍ່ແມ່ນບາງຄໍາສັ່ງອື່ນໆທີ່ອອກກ່ອນຫຼືຫຼັງຈາກ.
ບັນຊີລາຍຊື່ທີ່ເອີ້ນວ່າທາງເລືອກສາມາດຖືກຕໍ່ທ້າຍກັບອົງປະກອບໃດໆຂອງຄໍາສັ່ງຫຼັງຈາກຈໍ້າສອງເມັດ (:, 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
RECEIVER INPUT LANGUAGE Syntax ພາສາ
ສໍາລັບການອ້າງອິງ, ຂ້າງລຸ່ມນີ້ແມ່ນຕາຕະລາງທີ່ປະກອບດ້ວຍລໍາດັບຕົວອັກສອນທັງຫມົດທີ່ມີຄວາມຫມາຍພິເສດໃນພາສາປ້ອນຂໍ້ມູນຂອງຜູ້ຮັບ:
ຕາຕະລາງ 2-1. ພາສາປ້ອນຕົວອັກສອນພິເສດ
ລະຫັດ ASCII ຕົວເລກຕົວເລກຕົວເລກ
ຄວາມຫມາຍ
10
ຕົວແຍກເສັ້ນ
13
ຕົວແຍກເສັ້ນ
#
35
;
59
ການເລີ່ມຕົ້ນຂອງຄໍາຄິດເຫັນເຄື່ອງຫມາຍການແຍກອອກ
&&
38
||
124
%
37
ຖະແຫຼງການ ແລະ ຖະແຫຼງການຕົວແຍກ ຫຼື ຖະແຫຼງການຕົວລະບຸຕົວແຍກ
@
64
{
123
}
125
,
44
:
58
checksum ເຄື່ອງໝາຍຈຸດເລີ່ມຕົ້ນຂອງລາຍຊື່ເຄື່ອງໝາຍຈຸດສິ້ນສຸດຂອງລາຍການເຄື່ອງໝາຍລາຍຊື່ອົງປະກອບຕົວເລືອກເຄື່ອງໝາຍ
”
34
ເຄື່ອງໝາຍວົງຢືມ
92
ຫນີ
GREIS
www.javad.com
30
ຄໍາສັ່ງຂອງ RECEIVER INPUT LANGUAGE
2.3 ຄໍາສັ່ງ
ໃນພາກນີ້ພວກເຮົາອະທິບາຍຄໍາສັ່ງທັງຫມົດທີ່ກໍານົດໃນ GREIS. ຂໍ້ກໍານົດຂອງ syntax ແລະ semantics ຂອງທຸກໆຄໍາສັ່ງແມ່ນມາພ້ອມກັບຄໍາອະທິບາຍ examples. ສໍາລັບລາຍລະອຽດຂອງວັດຖຸທີ່ໃຊ້ເປັນການໂຕ້ຖຽງໃນ examples, ກະລຸນາເບິ່ງບົດທີ 4 ໃນໜ້າ 181.
GREIS
www.javad.com
31
2.3.1 ຊຸດ
ຕັ້ງຄ່າຄໍາສັ່ງ RECEIVER INPUT LANGUAGE
ຊື່
ກໍານົດຄ່າທີ່ກໍານົດໄວ້ຂອງວັດຖຸ.
ບົດສະຫຼຸບ
ຮູບແບບ: set,object,value Options: none
ການໂຕ້ຖຽງ
ຄັດຄ້ານຕົວລະບຸວັດຖຸເປົ້າໝາຍ. ຖ້າວັດຖຸບໍ່ຂຶ້ນຕົ້ນດ້ວຍ “/”, ຫຼັງຈາກນັ້ນ “/par/” ຄໍານໍາໜ້າຈະຖືກໃສ່ໃສ່ອັດຕະໂນມັດກ່ອນວັດຖຸກ່ອນທີ່ຈະປະຕິບັດຄໍາສັ່ງ.
ໃຫ້ຄຸນຄ່າຂອງມູນຄ່າທີ່ຈະມອບໃຫ້ວັດຖຸເປົ້າຫມາຍ. ຊ່ວງຂອງຄ່າທີ່ອະນຸຍາດເຊັ່ນດຽວກັນກັບ semantics ຂອງການມອບຫມາຍແມ່ນຂຶ້ນກັບປະເພດຂອງວັດຖຸແລະຖືກລະບຸຕໍ່ມາໃນຄູ່ມືນີ້ສໍາລັບທຸກໆວັດຖຸທີ່ສະຫນັບສະຫນູນ.
ທາງເລືອກ
ບໍ່ມີ.
ລາຍລະອຽດ
ຄຳສັ່ງນີ້ກຳນົດຄ່າໃຫ້ກັບວັດຖຸ. ບໍ່ມີການຕອບສະໜອງໃດໆ ເວັ້ນເສຍແຕ່ມີຄວາມຜິດພາດ ຫຼືການຕອບສະໜອງຖືກບັງຄັບໂດຍຕົວລະບຸຄຳຖະແຫຼງ.
Examples
Example: ກໍານົດອັດຕາ baud ຂອງພອດ serial C ເປັນ 115200. ບໍ່ວ່າຈະເປັນ:
ຊຸດ,/par/dev/ser/c/rate, 115200 ຊຸດ, dev/ser/c/rate, 115200
Example: ກໍານົດອັດຕາ baud ຂອງພອດ serial A ຫາ 9600 ແລະບັງຄັບຕອບ:
%% ຕັ້ງ,dev/ser/a/rate,9600 RE002%%
GREIS
www.javad.com
32
2.3.2 ພິມ
ພິມຄໍາສັ່ງ RECEIVER INPUT LANGUAGE
ຊື່
ພິມມູນຄ່າການພິມຂອງວັດຖຸ.
ບົດສະຫຼຸບ
ຮູບແບບ: ພິມ, ຕົວເລືອກວັດຖຸ: {names}
ການໂຕ້ຖຽງ
object ຕົວລະບຸວັດຖຸຂອງວັດຖຸທີ່ຈະອອກ. ຖ້າວັດຖຸບໍ່ຂຶ້ນຕົ້ນດ້ວຍ “/”, ຫຼັງຈາກນັ້ນ “/par/” ຄໍານໍາໜ້າຈະຖືກໃສ່ໃສ່ອັດຕະໂນມັດກ່ອນວັດຖຸກ່ອນທີ່ຈະປະຕິບັດຄໍາສັ່ງ.
ທາງເລືອກ
ຕາຕະລາງ 2-2. ສະຫຼຸບຕົວເລືອກການພິມ
ປະເພດຊື່
ຄຸນຄ່າ
ຊື່ boolean ເປີດ, ປິດ
ຄ່າເລີ່ມຕົ້ນ
ປິດ
ຊື່ຖ້າປິດ, ສົ່ງອອກພຽງແຕ່ຄ່າວັດຖຸ. ເມື່ອເປີດ, ສົ່ງອອກຊື່ວັດຖຸນອກເໜືອໄປຈາກຄ່າວັດຖຸໃນຮູບແບບ NAME=VALUE.
ລາຍລະອຽດ
ຄໍາສັ່ງນີ້ພິມຄ່າຂອງວັດຖຸ, ທາງເລືອກທີ່ຈະນໍາຫນ້າຄ່າທີ່ມີຊື່ຂອງວັດຖຸທີ່ສອດຄ້ອງກັນ. ການຕອບສະ ໜອງ ແມ່ນຖືກສ້າງຂື້ນຢູ່ສະ ເໝີ, ແລະຫຼາຍກວ່າ ໜຶ່ງ ຂໍ້ຄວາມ [RE] ສາມາດຖືກສ້າງຂື້ນເພື່ອຕອບສະ ໜອງ ຕໍ່ ຄຳ ສັ່ງພິມດຽວ.
ຄ່າຂອງວັດຖຸຂອງລາຍການປະເພດຖືກພິມອອກເປັນລາຍການຂອງຄ່າສໍາລັບທຸກວັດຖຸໃນລາຍການ. ອັນນີ້ຖືກນຳໃຊ້ຊ້ຳໆຈົນກວ່າວັດຖຸໃບຈະບັນລຸໄດ້, ສະນັ້ນການພິມວັດຖຸປະເພດທີ່ບໍ່ມີໃບຈຶ່ງໄດ້ຜົນອອກມາຈາກຕົ້ນໄມ້ຍ່ອຍທັງໝົດເລີ່ມຈາກວັດຖຸທີ່ກຳນົດໄວ້. ໃນກໍລະນີຂອງການພິມບັນຊີລາຍການ, ຫຼາຍ [RE] ຂໍ້ຄວາມສາມາດໄດ້ຮັບການຜະລິດໄດ້. ຢ່າງໃດກໍ່ຕາມ, ການແຍກຜົນຜະລິດອາດຈະເກີດຂຶ້ນທັນທີຫຼັງຈາກລາຍຊື່ຕົວແຍກ.
GREIS
www.javad.com
33
ພິມຄໍາສັ່ງ RECEIVER INPUT LANGUAGE
Examples
Example: ພິມໄລຍະເວລາປະຈຸບັນຂອງຕາຕະລາງເວລາຮັບພາຍໃນ. ບໍ່ວ່າຈະເປັນ:
ພິມ,/par/raw/curmsint RE004 100 ພິມ, raw/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 receiver version information:
ພິມ,rcv/ver RE028{“2.5 ກັນຍາ,13,2006 p2″,0,71,MGGDT_5,none, RE00D {none,none}}
Example: Print receiver version information ພ້ອມກັບຊື່ທີ່ສອດຄ້ອງກັນ:
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: ພິມຂໍ້ຄວາມທັງຫມົດທີ່ເປີດໃຫ້ໃຊ້ງານສໍາລັບການສົ່ງອອກ serial port 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},0, jps/ET={01×1.00,0.00,0,0}, RE0D nmea/GGA={01×10.00,5.00,0,0}}
GREIS
www.javad.com
34
2.3.3 ບັນຊີລາຍຊື່
ລາຍຊື່ຄໍາສັ່ງຂອງ RECEIVER INPUT LANGUAGE
ຊື່
ລາຍຊື່ເນື້ອຫາຂອງວັດຖຸ.
ບົດສະຫຼຸບ
ຮູບແບບ: list[,object] ທາງເລືອກ: none
ການໂຕ້ຖຽງ
object ຕົວລະບຸວັດຖຸຂອງວັດຖຸທີ່ຈະອອກ. ຖ້າວັດຖຸຖືກລະເວັ້ນ, /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
ລາຍຊື່ຄໍາສັ່ງຂອງ 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/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/IO,040jps/, GE jps/NA,jps/WE,jps/WA,jps/WO}
GREIS
www.javad.com
36
GREIS
2.3.4 em & ອອກ
RECEIVER INPUT LANGUAGE ຄໍາສັ່ງ em & out
ຊື່
em, ອອກເປີດໃຫ້ຜົນຜະລິດແຕ່ລະໄລຍະຂອງຂໍ້ຄວາມ.
ບົດສະຫຼຸບ
ຮູບແບບ: ຮູບແບບ: ທາງເລືອກ:
em,[ເປົ້າໝາຍ],ຂໍ້ຄວາມອອກ,[ເປົ້າໝາຍ],ຂໍ້ຄວາມ {ໄລຍະເວລາ,ໄລຍະ,ນັບ,ທຸງ}
ການໂຕ້ຖຽງ
ເປົ້າໝາຍກະແສຜົນຜະລິດ ຫຼືຂໍ້ຄວາມທີ່ຕັ້ງໄວ້. ຖ້າບໍ່ມີການລະບຸເປົ້າຫມາຍ, terminal ໃນປັດຈຸບັນ, /cur/term, ແມ່ນສົມມຸດ.
ສົ່ງຂໍ້ຄວາມໃນບັນຊີລາຍຊື່ (ບໍ່ວ່າຈະມີຫຼືບໍ່ມີວົງເລັບອ້ອມຮອບ) ຂອງຊື່ຂໍ້ຄວາມແລະ / ຫຼືຂໍ້ຄວາມຕັ້ງຊື່ທີ່ຈະເປີດໃຊ້. ຖ້າບາງຊື່ທີ່ລະບຸບໍ່ໄດ້ຂຶ້ນຕົ້ນດ້ວຍ “/”, ຫຼັງຈາກນັ້ນ “/msg/” ຄຳນຳໜ້າຈະຖືກໃສ່ໃສ່ໂດຍອັດຕະໂນມັດກ່ອນຊື່ດັ່ງກ່າວ ກ່ອນທີ່ຈະດຳເນີນການຄຳສັ່ງ.
ທາງເລືອກ
ຕາຕະລາງ 2-3. em ແລະ out ສະຫຼຸບທາງເລືອກ
ປະເພດຊື່
ຄຸນຄ່າ
ຄ່າເລີ່ມຕົ້ນ
ໄລຍະເວລາເລື່ອນ [0…86400)
–
ໄລຍະລອຍ [0…86400)
–
count integer [-256…32767] 0 for em 1 for out
ທຸງ integer [0…0xFFFF] –
ໄລຍະເວລາ, ໄລຍະ, ນັບ, ທຸງຕົວກໍານົດການກໍານົດເວລາຂໍ້ຄວາມ.
ລາຍລະອຽດ
ຄໍາສັ່ງເຫຼົ່ານີ້ເຮັດໃຫ້ຜົນໄດ້ຮັບແຕ່ລະໄລຍະຂອງຂໍ້ຄວາມທີ່ລະບຸໄວ້ໃນເປົ້າຫມາຍ, ບັງຄັບໃຫ້ພາລາມິເຕີການກໍານົດເວລາຂໍ້ຄວາມເປັນທີ່ລະບຸໄວ້ໂດຍທາງເລືອກ. ບໍ່ມີການຕອບສະໜອງໃດໆທີ່ສ້າງຂຶ້ນເວັ້ນເສຍແຕ່ມີຄວາມຜິດພາດ, ຫຼືການຕອບສະໜອງຖືກບັງຄັບໂດຍຕົວລະບຸຄຳຖະແຫຼງ.
ຄໍາສັ່ງ em ແລະອອກແມ່ນຄືກັນຍົກເວັ້ນຄ່າເລີ່ມຕົ້ນຂອງຕົວເລືອກການນັບຖືກຕັ້ງເປັນ 0 ສໍາລັບ em, ແລະ 1 ສໍາລັບອອກ. ຄໍາສັ່ງອອກແມ່ນພຽງແຕ່ວິທີທີ່ສະດວກກວ່າທີ່ຈະຮ້ອງຂໍ
www.javad.com
37
RECEIVER INPUT LANGUAGE ຄໍາສັ່ງ em & out
ໝາຍເຫດ:
ຜົນໄດ້ຮັບຄັ້ງດຽວຂອງຂໍ້ຄວາມ. ພວກເຮົາຈະເວົ້າພຽງແຕ່ກ່ຽວກັບ em ໃນຄໍາອະທິບາຍນີ້ເຖິງແມ່ນວ່າທຸກສິ່ງທຸກຢ່າງໃຊ້ກັບອອກເຊັ່ນດຽວກັນ.
ຄໍາອະທິບາຍຂ້າງລຸ່ມນີ້ຄາດວ່າຜູ້ອ່ານຈະຄຸ້ນເຄີຍກັບເອກະສານໃນພາກ "ຜົນໄດ້ຮັບແຕ່ລະໄລຍະ" ໃນຫນ້າ 22.
ສໍາລັບການສະຕຣີມຜົນຜະລິດທຸກ, ມີບັນຊີລາຍການຜົນຜະລິດທີ່ສອດຄ້ອງກັນຂອງຂໍ້ຄວາມ 1,2 ທີ່ໄດ້ຖືກເປີດໃຫ້ໃຊ້ງານໃນປັດຈຸບັນເພື່ອໃຫ້ໄດ້ຮັບການສະຕຣີມໄດ້ຮັບ. ເມື່ອຂໍ້ຄວາມທີ່ຜ່ານເປັນ argument ກັບຄໍາສັ່ງ em ບໍ່ໄດ້ຢູ່ໃນລາຍການຜົນຜະລິດ, ຄໍາສັ່ງ em ຈະເພີ່ມຂໍ້ຄວາມທີ່ລະບຸໄວ້ໃນຕອນທ້າຍຂອງບັນຊີລາຍຊື່. ເມື່ອຂໍ້ຄວາມທີ່ສົ່ງໄປຫາຄໍາສັ່ງ em ຢູ່ໃນລາຍການຜົນຜະລິດແລ້ວ, ຄໍາສັ່ງ em ພຽງແຕ່ປ່ຽນຕົວກໍານົດການກໍານົດເວລາຂອງຂໍ້ຄວາມນີ້ແລະບໍ່ໄດ້ດັດແປງຕໍາແຫນ່ງຂອງຂໍ້ຄວາມພາຍໃນລາຍການ.
ໃນຂະນະທີ່ຄໍາສັ່ງ em ຮວມຂໍ້ຄວາມທີ່ລະບຸໄວ້ໃນລາຍການຜົນຜະລິດ, ມັນມັກຈະເປັນຄວາມຄິດທີ່ດີທີ່ຈະໃຊ້ຄໍາສັ່ງ dm ເພື່ອລຶບລ້າງລາຍການຜົນຜະລິດສໍາລັບກະແສທີ່ໃຫ້ມາກ່ອນທີ່ຈະອອກຄໍາສັ່ງ em.
ຄໍາສັ່ງ em ດໍາເນີນການລາຍການຂໍ້ຄວາມຫນຶ່ງຄັ້ງຕໍ່ຫນຶ່ງ, ຈາກຊ້າຍໄປຂວາ, ແລະຈາກຂໍ້ຄວາມທໍາອິດທີ່ຕັ້ງໄປຫາຂໍ້ຄວາມສຸດທ້າຍຂອງຂໍ້ຄວາມທີ່ກໍານົດໄວ້. ຖ້າມັນພົບກັບຊື່ທີ່ບໍ່ກົງກັບຂໍ້ຄວາມຜູ້ຮັບທີ່ຮອງຮັບຫຼືຊຸດຂໍ້ຄວາມ, ມັນຈື່ໄດ້ວ່າມີຂໍ້ຜິດພາດໃນລະຫວ່າງການປະຕິບັດ, ແຕ່ບໍ່ໄດ້ຢຸດການປະມວນຜົນລາຍການຂໍ້ຄວາມ. ດ້ວຍວິທີນີ້, ຂໍ້ຄວາມທັງໝົດຈາກລາຍຊື່ຂໍ້ຄວາມທີ່ສາມາດເປີດໃຊ້ໄດ້ຈະຖືກເປີດໃຊ້ງານ, ແລະມີພຽງຂໍ້ຜິດພາດດຽວເທົ່ານັ້ນຈະຖືກລາຍງານເມື່ອໜຶ່ງ ຫຼືຫຼາຍກວ່າໜຶ່ງຂໍ້ຄວາມທີ່ກຳນົດໄວ້ບໍ່ສາມາດເປີດໃຊ້ງານໄດ້.
ເມື່ອຄໍາສັ່ງ em ປະມວນຜົນຂໍ້ຄວາມຢູ່ໃນມື, ຕົວກໍານົດການກໍານົດເວລາຂໍ້ຄວາມປະຕິບັດການສຸດທ້າຍໃນບັນຊີລາຍຊື່ຜົນຜະລິດທີ່ສອດຄ້ອງກັນຂອງຂໍ້ຄວາມຈະຖືກຄິດໄລ່ໂດຍພິຈາລະນາແຫຼ່ງຂໍ້ມູນຫຼາຍອັນກ່ຽວກັບຕົວກໍານົດການກໍານົດເວລາ, ໂດຍສະເພາະ:
1. ຄ່າທີ່ລະບຸຢ່າງຊັດເຈນໃນຕົວເລືອກຂອງຄໍາສັ່ງ em.
2. ຄ່າເລີ່ມຕົ້ນຂອງທາງເລືອກຂອງຄໍາສັ່ງ em.
3. ຕົວກໍານົດການກໍານົດເວລາກໍານົດສໍາລັບຂໍ້ຄວາມທີ່ໃຫ້ເປັນສ່ວນຫນຶ່ງຂອງຊຸດຂໍ້ຄວາມທີ່ສອດຄ້ອງກັນ. ສິ່ງເຫຼົ່ານີ້ຖືກພິຈາລະນາພຽງແຕ່ເມື່ອເປີດໃຊ້ຂໍ້ຄວາມໂດຍການລະບຸຊຸດຂໍ້ຄວາມ, ບໍ່ແມ່ນຂໍ້ຄວາມສ່ວນບຸກຄົນ.
4. ຕົວກໍານົດການກໍານົດເວລາປະຈຸບັນຂອງຂໍ້ຄວາມໃນລາຍການຜົນຜະລິດທີ່ສອດຄ້ອງກັນ (ຖ້າມີ).
5. ຕົວກໍານົດການກໍານົດເວລາເລີ່ມຕົ້ນທີ່ລະບຸໄວ້ສໍາລັບຂໍ້ຄວາມທີ່ໃຫ້ເປັນສ່ວນຫນຶ່ງຂອງກຸ່ມຂໍ້ຄວາມທີ່ສອດຄ້ອງກັນ.
ແຫຼ່ງທີ່ມາຂອງພາລາມິເຕີຂ້າງເທິງແມ່ນໄດ້ລະບຸໄວ້ຕາມລຳດັບຄວາມສຳຄັນຂອງພວກມັນ, ອັນທຳອິດທີ່ມີລັກສະນະກ່ອນໜ້າສູງສຸດ, ແລະຖືກນຳໃຊ້ເປັນແຕ່ລະຕົວຕໍ່ແຕ່ລະຕົວກໍານົດການກຳນົດເວລາສີ່ອັນ. ດັ່ງນັ້ນ, ຄ່າຈາກ (1) override ຄ່າຈາກ (2), ຄ່າຜົນໄດ້ຮັບ
GREIS
1. ສໍາລັບ stream NAME, ລາຍການຜົນຜະລິດທີ່ສອດຄ້ອງກັນເອີ້ນວ່າ /par/out/NAME 2. ເຟີມແວປະຈຸບັນມີຂອບເຂດຈໍາກັດສໍາລັບຈໍານວນຂໍ້ຄວາມສູງສຸດໃນລາຍການຜົນຜະລິດທີ່ຕັ້ງເປັນ 49.
www.javad.com
38
RECEIVER INPUT LANGUAGE ຄໍາສັ່ງ em & out
overrides ຄ່າຈາກ (3), ແລະອື່ນໆ. ແນວໃດກໍ່ຕາມ, ຖ້າບາງ F_FIX_PERIOD, F_FIX_PHASE, F_FIX_COUNT, ຫຼື F_FIX_FLAGS ບິດຖືກຕັ້ງຢູ່ໃນຊ່ອງ flags ຂອງແຫຼ່ງຕໍ່ໄປ, ຊ່ອງຂໍ້ມູນທີ່ສອດຄ້ອງກັນຂອງແຫຼ່ງຕໍ່ໄປນີ້ຈະບໍ່ຖືກ overrided.
Examples
Example: ເປີດໃຊ້ການສົ່ງອອກຄັ້ງດຽວຂອງຂໍ້ຄວາມ NMEA GGA ໄປຫາ terminal ປັດຈຸບັນ:
em,,nmea/GGA:{,,1}
ຄືກັນກັບຂ້າງເທິງ, ແຕ່ໃຊ້ອອກແທນ em:
ອອກ,,nmea/GGA
Example: ເປີດໃຊ້ງານຜົນຜະລິດຂອງຊຸດຂໍ້ຄວາມໃນຕອນຕົ້ນຂອງການບັນທຶກປະຈຸບັນ-file A ໂດຍໃຊ້ຕົວກໍານົດການຜົນຜະລິດເລີ່ມຕົ້ນ. ບໍ່ວ່າຈະເປັນ:
Example:
em,/cur/file/a,/msg/def em,/cur/file/a, def
ເປີດໃຊ້ຜົນໄດ້ຮັບຂອງຊຸດຂໍ້ຄວາມເລີ່ມຕົ້ນໄປຫາບັນທຶກປັດຈຸບັນfile A ທຸກໆ 10 ວິນາທີ ສໍາລັບຕົວກໍານົດການຜົນຜະລິດອື່ນໆ, ຄ່າເລີ່ມຕົ້ນຂອງພວກມັນຈະຖືກໃຊ້:
em,/cur/file/a, def:10
Example: ເປີດໃຊ້ຜົນໄດ້ຮັບຂອງຊຸດຂໍ້ຄວາມເລີ່ມຕົ້ນໄປຫາ terminal ໃນປັດຈຸບັນໂດຍໃຊ້ຕົວກໍານົດການຜົນຜະລິດເລີ່ມຕົ້ນ. ບໍ່ວ່າຈະເປັນ:
Example:
em,/cur/term,/msg/def em,,/msg/def em,,def
ເປີດໃຊ້ການສົ່ງອອກຂອງຂໍ້ຄວາມ GREIS [~~](RT) ແລະ [RD] ໄປຫາເຄື່ອງປະຈຸບັນ. ບໍ່ວ່າຈະເປັນ:
Example:
em,,/msg/jps/RT,/msg/jps/RD em,,jps/{RT,RD}
ເປີດໃຊ້ຜົນໄດ້ຮັບຂອງຂໍ້ຄວາມ NMEA GGA ແລະ ZDA ໄປຫາເຄື່ອງປະຈຸບັນທຸກໆ 20 ວິນາທີ:
Example:
em,,nmea/{GGA,ZDA}:20
ເປີດໃຊ້ຜົນໄດ້ຮັບຂອງຂໍ້ຄວາມ [SI], [EL] ແລະ [AZ] ໄປຫາພອດ serial 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 ໄປຫາພອດ serial 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[,[target][,messages]] ທາງເລືອກ: none
ການໂຕ້ຖຽງ
ເປົ້າໝາຍກະແສຜົນຜະລິດ ຫຼືຂໍ້ຄວາມທີ່ຕັ້ງໄວ້. ຖ້າບໍ່ມີການລະບຸເປົ້າຫມາຍ, terminal ໃນປັດຈຸບັນ, /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: ປິດການໃຊ້ງານຜົນຜະລິດແຕ່ລະໄລຍະທັງຫມົດເຂົ້າໄປໃນ terminal ປະຈຸບັນ. ບໍ່ວ່າຈະເປັນ:
dm,/cur/term dm
Example: ປິດການທໍາງານຜົນຜະລິດຂອງຂໍ້ຄວາມ GREIS [~~](RT) ເຂົ້າໄປໃນພອດ serial 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 ເຂົ້າໄປໃນ terminal ປະຈຸບັນ. ບໍ່ວ່າຈະເປັນ:
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
ຄໍາສັ່ງ RECEIVER INPUT LANGUAGE init
ຊື່
init ເລີ່ມຕົ້ນວັດຖຸ.
ບົດສະຫຼຸບ
ຮູບແບບ: init,object[/] ທາງເລືອກ: none
ການໂຕ້ຖຽງ
ຄັດຄ້ານວັດຖຸທີ່ຈະເລີ່ມຕົ້ນ. / ຖ້າປະຈຸບັນ ແລະວັດຖຸເປັນລາຍການປະເພດ, ເລີ່ມຕົ້ນທຸກສິ່ງທີ່ມີຢູ່ໃນນັ້ນແທນ
ຂອງວັດຖຸນັ້ນເອງ.
ທາງເລືອກ
ບໍ່ມີ.
ໝາຍເຫດ: ໝາຍເຫດ:
ລາຍລະອຽດ
ຄໍາສັ່ງນີ້ເລີ່ມຕົ້ນວັດຖຸທີ່ລະບຸໄວ້. ບໍ່ມີການຕອບສະໜອງໃດໆທີ່ສ້າງຂຶ້ນເວັ້ນເສຍແຕ່ມີຄວາມຜິດພາດ, ຫຼືການຕອບສະໜອງຖືກບັງຄັບໂດຍຕົວລະບຸຄຳຖະແຫຼງ.
ຄວາມຫມາຍທີ່ແນ່ນອນຂອງການເລີ່ມຕົ້ນແມ່ນຂຶ້ນກັບວັດຖຸທີ່ຖືກເລີ່ມຕົ້ນ, ແຕ່ໂດຍທົ່ວໄປສາມາດຖືກພິຈາລະນາເປັນການຫັນວັດຖຸໄປສູ່ສະຖານະ "ຄ່າເລີ່ມຕົ້ນ" ຫຼື "ສະອາດ". ຕົວຢ່າງample, ສໍາລັບພາລາມິເຕີມັນຫມາຍເຖິງການກໍານົດຄ່າຂອງພວກເຂົາໃຫ້ກັບຄ່າເລີ່ມຕົ້ນທີ່ສອດຄ້ອງກັນ, ສໍາລັບ fileອຸປະກອນການເກັບຮັກສາມັນຫມາຍເຖິງການຈັດຮູບແບບສື່ມວນຊົນທີ່ຕິດພັນໃຫມ່, ແລະອື່ນໆ.
ການເລີ່ມຕົ້ນບາງວັດຖຸຈະສົ່ງຜົນໃຫ້ຜູ້ຮັບປິດເປີດໃໝ່. ໃນປັດຈຸບັນນີ້ແມ່ນກໍລະນີສໍາລັບການເລີ່ມຕົ້ນຂອງຫນ່ວຍຄວາມຈໍາທີ່ບໍ່ລະເຫີຍຂອງຕົວຮັບ (/dev/nvm/a).
ເຖິງແມ່ນວ່າມັນອາດຈະມີການປ່ຽນແປງໃນອະນາຄົດ, ການປະຕິບັດໃນປະຈຸບັນຂອງຄໍາສັ່ງທົ່ວໄປນີ້ຢູ່ໃນເຄື່ອງຮັບແມ່ນຈໍາກັດຫຼາຍ. ໃນຄວາມເປັນຈິງພຽງແຕ່ການເລີ່ມຕົ້ນຂອງວັດຖຸທີ່ພົບເຫັນຢູ່ໃນ examples ຂ້າງລຸ່ມນີ້ແມ່ນສະຫນັບສະຫນູນໃນປັດຈຸບັນ.
Examples
Example: ລຶບ NVRAM ແລະ reboot receiver. ຂໍ້ມູນທັງຫມົດທີ່ເກັບໄວ້ໃນ NVRAM (almanacs, ephemeris, ແລະອື່ນໆ) ຈະສູນເສຍໄປ, ຕົວກໍານົດການທັງຫມົດຈະຖືກຕັ້ງເປັນຄ່າເລີ່ມຕົ້ນຂອງພວກເຂົາຫຼັງຈາກ reboot:
init,/dev/nvm/a
Example: Clear ephemeris:
init,/eph/
GREIS
www.javad.com
43
ຄໍາສັ່ງ RECEIVER INPUT LANGUAGE init
Example: ຕັ້ງຕົວກໍານົດການຮັບທັງໝົດເປັນຄ່າເລີ່ມຕົ້ນຂອງພວກມັນ:
init,/par/
Example: ຕັ້ງພາຣາມິເຕີ WLAN ທັງໝົດເປັນຄ່າເລີ່ມຕົ້ນຂອງພວກມັນ. ຕ້ອງປິດເປີດເຄື່ອງຄືນໃໝ່ເພື່ອໃຫ້ການປ່ຽນແປງມີຜົນ:
init,/par/net/wlan/
Example: ເລີ່ມຕົ້ນການ file ລະບົບ (ເຊັ່ນ, ປະຕິຮູບສື່ກາງ). ທັງໝົດ files ເກັບໄວ້ໃນການຮັບຈະສູນເສຍໄປ:
init,/dev/blk/a
Example: ເລີ່ມຕົ້ນຊຸດຂໍ້ຄວາມທັງໝົດເປັນຄ່າເລີ່ມຕົ້ນຂອງພວກມັນ:
init,/msg/
GREIS
www.javad.com
44
2.3.7 ສ້າງ
ຄໍາສັ່ງ RECEIVER INPUT LANGUAGE ສ້າງ
ຊື່
ສ້າງສ້າງວັດຖຸໃຫມ່.
ບົດສະຫຼຸບ
ຮູບແບບ: ສ້າງ[,object] ທາງເລືອກ: {log}
ການໂຕ້ຖຽງ
ວັດຖຸຕົວລະບຸວັດຖຸຂອງວັດຖຸທີ່ຈະສ້າງ. ຖ້າວັດຖຸບໍ່ຂຶ້ນຕົ້ນດ້ວຍ “/”, ຫຼັງຈາກນັ້ນ “/log/” ຄໍານໍາໜ້າຈະຖືກໃສ່ໃສ່ອັດຕະໂນມັດກ່ອນວັດຖຸກ່ອນທີ່ຈະປະຕິບັດຄໍາສັ່ງ. ຖ້າຖືກລະເວັ້ນ, ຫຼັງຈາກນັ້ນ, ການສ້າງ a 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 ໃນປະຈຸບັນສະຫນັບສະຫນູນທັງຫນຶ່ງຫຼືສອງບັນທຶກພ້ອມກັນ.files ຂຶ້ນກັບຜູ້ຮັບໂດຍສະເພາະ.
www.javad.com
45
ຄໍາສັ່ງ RECEIVER INPUT LANGUAGE ສ້າງ
ການສ້າງ Files
ເມື່ອສ້າງ files, ອາກິວເມັນຂອງວັດຖຸຖືກຍົກເລີກ ຫຼືມີຮູບແບບ /log/NAME, ເຊິ່ງ NAME ແມ່ນຊື່ຂອງ file ຈະຖືກສ້າງຂື້ນ, ແລະ /log/ ແມ່ນທາງເລືອກ. ໃນກໍລະນີໃນອະດີດຜູ້ຮັບອັດຕະໂນມັດຈະເລືອກເອົາຊື່ເປັນເອກະລັກສໍາລັບການ file. ໃນກໍລະນີສຸດທ້າຍ NAME ທີ່ລະບຸຄວນຈະເປັນສະຕຣິງສູງສຸດ 31 ຕົວອັກສອນ ແລະບໍ່ຄວນມີຍະຫວ່າງ ຫຼືຕົວອັກສອນຕໍ່ໄປນີ້: “,{}()@&”/”.
ຖ້າ file /log/NAME ມີຢູ່ແລ້ວ, ຄຳສັ່ງສ້າງຈະລົ້ມເຫລວ ແລະສ້າງຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດ. ດັ່ງນັ້ນ, ບໍ່ມີທາງທີ່ຈະ clobber ບາງສ່ວນຂອງທີ່ມີຢູ່ແລ້ວ 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
Example: ສ້າງໃຫມ່ file ດ້ວຍຊື່ທີ່ສ້າງຂຶ້ນໂດຍອັດຕະໂນມັດ ແລະມອບໝາຍໃຫ້ກັບບັນທຶກປັດຈຸບັນfile A (/cur/file/a). ບໍ່ວ່າຈະເປັນ:
ສ້າງ ສ້າງ,: ກ
Example: ສ້າງບັນທຶກໃຫມ່-file ດ້ວຍຊື່ “my_file”. ບໍ່ວ່າຈະເປັນ:
ສ້າງ,/log/my_file: ສ້າງ, my_file
Example: ສ້າງ files “file1” ແລະ “file2”, ແລະມອບຫມາຍໃຫ້ເຂົາເຈົ້າເພື່ອ /cur/file/a ແລະ /cur/file/b:
ສ້າງ,file1:ກ; ສ້າງ,file2: ຂ
GREIS
www.javad.com
46
ຄໍາສັ່ງ RECEIVER INPUT LANGUAGE ສ້າງ
ການສ້າງຕົວລະບຸຂໍ້ຄວາມ
Example: ເພີ່ມ /msg/jps/ET ໄປຫາຊຸດຂໍ້ຄວາມເລີ່ມຕົ້ນ:
ສ້າງ,/msg/def/jps/ET
Example: ເພີ່ມຂໍ້ຄວາມ NMEA GGA ໃສ່ຊຸດຂໍ້ຄວາມເລີ່ມຕົ້ນ ແລະບັງຄັບໄລຍະເວລາ ແລະໄລຍະຂອງມັນໃຫ້ເປັນ 10 ແລະ 5 ສະເໝີ, ຕາມລຳດັບ, ບໍ່ວ່າຄ່າຂອງພວກມັນຈະຖືກລະບຸໄວ້ໃນຄຳສັ່ງ em ຫຼືອອກ:
ສ້າງ,/msg/def/nmea/GGA ຕັ້ງ,/msg/def/nmea/GGA,{10,5,,0×30}
GREIS
www.javad.com
47
2.3.8 ເອົາອອກ
ຄຳສັ່ງ RECEIVER INPUT LANGUAGE ເອົາອອກ
ຊື່
ເອົາສິ່ງຂອງອອກ.
ບົດສະຫຼຸບ
ຮູບແບບ: ເອົາອອກ, ວັດຖຸ[/] ທາງເລືອກ: none
ການໂຕ້ຖຽງ
ວັດຖຸຕົວລະບຸວັດຖຸຂອງວັດຖຸທີ່ຈະເອົາອອກ. ຖ້າວັດຖຸບໍ່ຂຶ້ນຕົ້ນດ້ວຍ “/”, ຫຼັງຈາກນັ້ນ “/log/” ຄໍານໍາໜ້າຈະຖືກໃສ່ໃສ່ອັດຕະໂນມັດກ່ອນວັດຖຸກ່ອນທີ່ຈະປະຕິບັດຄໍາສັ່ງ.
/ ຖ້າປະຈຸບັນແລະວັດຖຸເປັນລາຍການປະເພດ, ເອົາເນື້ອຫາວັດຖຸທັງຫມົດແທນທີ່ຈະເປັນວັດຖຸຂອງມັນເອງ.
ທາງເລືອກ
ບໍ່ມີ.
ລາຍລະອຽດ
ຄໍາສັ່ງນີ້ເອົາ (ລຶບ) ວັດຖຸທີ່ມີຢູ່ແລ້ວ. ບໍ່ມີການຕອບສະໜອງໃດໆທີ່ສ້າງຂຶ້ນເວັ້ນເສຍແຕ່ມີຄວາມຜິດພາດ, ຫຼືການຕອບສະໜອງຖືກບັງຄັບໂດຍຕົວລະບຸຄຳຖະແຫຼງ. ຖ້າຫາກວ່າບໍ່ມີວັດຖຸທີ່ລະບຸໄວ້ໂດຍວັດຖຸ, ຫຼືຖ້າຫາກວ່າວັດຖຸທີ່ບໍ່ສາມາດເອົາອອກໄດ້, ຄວາມຜິດພາດຈະຖືກສ້າງຂຶ້ນ. ສາມາດເອົາວັດຖຸສອງປະເພດອອກໄດ້:
1. Files ຖ້າຫາກວ່າ 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/min/
GREIS
www.javad.com
49
2.3.9 ເຫດການ
ເຫດການຄໍາສັ່ງຂອງ RECEIVER INPUT LANGUAGE
ຊື່
ເຫດການສ້າງເຫດການແບບຟອມຟຣີ.
ບົດສະຫຼຸບ
ຮູບແບບ: event,string Options: none
ການໂຕ້ຖຽງ
string a arbitrary1 string ປະກອບມີເຖິງ 63 ຕົວອັກສອນ.
ທາງເລືອກ
ບໍ່ມີ.
ໝາຍເຫດ: ຕົວຢ່າງample:
ລາຍລະອຽດ
ຄໍາສັ່ງນີ້ສ້າງເຫດການແບບຟອມຟຣີ. ບໍ່ມີການຕອບສະໜອງໃດໆທີ່ສ້າງຂຶ້ນເວັ້ນເສຍແຕ່ມີຄວາມຜິດພາດ, ຫຼືການຕອບສະໜອງຖືກບັງຄັບໂດຍຕົວລະບຸຄຳຖະແຫຼງ.
ສະຕຣິງທີ່ໃຫ້ພ້ອມກັບເວລາຮັບຄໍາສັ່ງເຫດການຈະຖືກເກັບໄວ້ໃນຕົວຮັບໃນ buffer2 ເຫດການພິເສດ. ເນື້ອໃນຂອງບັຟເຟີນີ້ແມ່ນສົ່ງອອກໄປຫາທຸກສະຕຣີມຜົນຜະລິດທີ່ຂໍ້ຄວາມ GREIS ມາດຕະຖານ [==](EV) (ອະທິບາຍໃນໜ້າ 131) ຖືກເປີດນຳໃຊ້.
ກົນໄກເຫດການແບບຟອມຟຣີແມ່ນມີຈຸດປະສົງສໍາລັບບັນດາໂຄງການຄວບຄຸມເພື່ອສົ່ງຕໍ່ຂໍ້ມູນຂໍ້ຄວາມທີ່ຕົນເອງມັກໄປຫາແອັບພລິເຄຊັນຫຼັງການປະມວນຜົນໂດຍບໍ່ມີການຕີຄວາມຫມາຍຂໍ້ມູນນີ້ຢູ່ໃນຕົວຮັບ. ຫຼັກຂອງເຟີມແວຂອງຕົວຮັບບໍ່ເຄີຍສ້າງເຫດການທີ່ມີຮູບແບບຟຣີດ້ວຍຕົວມັນເອງ, ແລະບໍ່ແປຂໍ້ມູນທີ່ສົ່ງຜ່ານຄໍາສັ່ງເຫດການ.
ສະຕຣິງທັງໝົດທີ່ເລີ່ມຕົ້ນດ້ວຍຕົວອັກສອນຂີດກ້ອງ (ASCII 0x5F) ແມ່ນສະຫງວນໄວ້ສຳລັບແອັບພລິເຄຊັນ JAVAD GNSS. ຄວນລະວັງວ່າສາຍສະຕຣິງດັ່ງກ່າວບໍ່ຖືກໃຊ້ກັບຄໍາສັ່ງເຫດການເວັ້ນເສຍແຕ່ວ່າທ່ານບໍ່ສາມາດເຮັດສໍາເລັດວຽກງານຂອງເຈົ້າຫຼືຕັ້ງໃຈທີ່ຈະຮ່ວມມືກັບບາງຊອບແວ JAVAD GNSS. ໃນກໍລະນີສຸດທ້າຍ, ກະລຸນາເບິ່ງລາຍລະອຽດຂອງເຫດການແບບຟອມຟຣີທີ່ສະຫງວນໄວ້ສໍາລັບຄໍາຮ້ອງສະຫມັກ JAVAD GNSS ໃນຄູ່ມື "ຮູບແບບກອບສໍາລັບເຫດການແບບຟອມຟຣີ", ມີຢູ່ໃນ http://www.javad.com.
ສ້າງເຫດການແບບຟລີທີ່ມີສະຕຣິງ “Info1″:
ເຫດການ, ຂໍ້ມູນ 1
GREIS
1. ຈົ່ງຈື່ໄວ້ວ່າຖ້າສະຕຣິງໃດນຶ່ງມີຕົວອັກສອນທີ່ສະຫງວນໄວ້ສໍາລັບພາສາປ້ອນຂອງຕົວຮັບ, ທ່ານຄວນໃສ່ສາຍສະຕຣິງນີ້ໄວ້ໃນວົງຢືມຄູ່.
2. ເຟີມແວໃນປະຈຸບັນສະຫນອງ buffer ຂະຫນາດໃຫຍ່ພຽງພໍທີ່ຈະເກັບຮັກສາເຖິງສິບຫົກ 64 byte ເຫດການທີ່ບໍ່ມີຮູບແບບ.
www.javad.com
50
ເຫດການຄໍາສັ່ງຂອງ RECEIVER INPUT LANGUAGE
Example: ສ້າງເຫດການແບບບໍ່ເສຍຄ່າທີ່ມີຕົວອັກສອນທີ່ສະຫງວນໄວ້:
ເຫດການ,”EVENT{DATA,SENT}”
Example: ສ້າງເຫດການແບບຟອມຟຣີທີ່ສະຫງວນໄວ້ສໍາລັບຊອບແວແອັບພລິເຄຊັນ JAVAD GNSS (ເຫດການນີ້ແຈ້ງເຕືອນແອັບພລິເຄຊັນຫຼັງການປະມວນຜົນກ່ຽວກັບການປ່ຽນແປງຂອງນະໂຍບາຍດ້ານ):
ເຫດການ,”_DYN=STATIC”
Example: ສ້າງແບບຟອມຟຣີດ້ວຍສະຕຣິງຫວ່າງເປົ່າ:
ເຫດການ,””
Example: ສ້າງເຫດການຮູບແບບຟຣີຈຳນວນໜຶ່ງ ແລະຮັບເອົາຂໍ້ຄວາມ [==](EV) ກັບຄືນມາ (ໃນເນື້ອໃນຂອງ [==] ຂໍ້ຄວາມທີ່ບໍ່ສາມາດພິມໄດ້ແມ່ນຖືກແທນທີ່ດ້ວຍຈຸດໃນ example):
em,,jps/EV %accepted% event,”ບາງສະຕຣິງ” RE00A%ຍອມຮັບ% ==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,attempts}
ການໂຕ້ຖຽງ
object identifier ຂອງ file ທີ່ຈະຖືກດຶງມາ. ຖ້າວັດຖຸບໍ່ຂຶ້ນຕົ້ນດ້ວຍ “/”, ຫຼັງຈາກນັ້ນ “/log/” ຄໍານໍາໜ້າຈະຖືກໃສ່ໃສ່ອັດຕະໂນມັດກ່ອນວັດຖຸກ່ອນທີ່ຈະປະຕິບັດຄໍາສັ່ງ. ຖ້າວັດຖຸບໍ່ມີຢູ່ ຫຼືບໍ່ສາມາດດຶງຂໍ້ມູນໄດ້, ຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດຈະຖືກສ້າງຂຶ້ນ.
offset ຊົດເຊີຍໃນ bytes ຈາກຈຸດເລີ່ມຕົ້ນຂອງ file ເພື່ອເລີ່ມຕົ້ນການດຶງຂໍ້ມູນ. ຖ້າຍົກເວັ້ນ, 0 ແມ່ນສົມມຸດ.
ທາງເລືອກ
ຕາຕະລາງ 2-5. ໄດ້ຮັບສະຫຼຸບທາງເລືອກ
ຊື່
ປະເພດ
ຄຸນຄ່າ
ໝົດເວລາ
ຈຳນວນເຕັມ [0…86400], ວິນາທີ
block_size integer [1…163841]
ໄລຍະເວລາ
ລອຍ [0…86400), ວິນາທີ
ໄລຍະ
ລອຍ [0…86400), ວິນາທີ
trys integer [-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 ເຂົ້າໄປໃນຄອມພິວເຕີໂຮດໂດຍໃຊ້ Data Transfer Protocol (DTP) ຫຼືຮູບແບບຜົນຜະລິດດິບ. ບໍ່ມີການຕອບສະໜອງໃດໆທີ່ສ້າງຂຶ້ນເວັ້ນເສຍແຕ່ມີຄວາມຜິດພາດ, ຫຼືການຕອບສະໜອງຖືກບັງຄັບໂດຍຕົວລະບຸຄຳຖະແຫຼງ.
ເມື່ອຢູ່ໃນໂຫມດ DTP, ຫຼັງຈາກຄໍາສັ່ງ get ສໍາເລັດ, ເຄື່ອງສົ່ງ DTP ເລີ່ມຕົ້ນຢູ່ໃນເຄື່ອງຮັບແລະລໍຖ້າເຄື່ອງຮັບ DTP ດໍາເນີນການຢູ່ໃນໂຮດ. ດັ່ງນັ້ນ, ເພື່ອເອົາຂໍ້ມູນຕົວຈິງ, ຄົນເຮົາຕ້ອງການການປະຕິບັດຕົວຮັບ DTP ໃນໂຮດ.
ການໂຕ້ຖຽງຊົດເຊີຍທາງເລືອກອະນຸຍາດໃຫ້ເຈົ້າພາບປະຕິບັດການສະຫນັບສະຫນູນສໍາລັບການສືບຕໍ່ການໂອນຂໍ້ມູນທີ່ຖືກລົບກວນ. ໃຫ້ສັງເກດວ່າການຊອກຫາການຊົດເຊີຍຂະຫນາດໃຫຍ່ອາດຈະຕ້ອງການເວລາດົນຫຼາຍເພື່ອປະຕິບັດຢູ່ໃນຕົວຮັບ. ເພື່ອປະຕິບັດການເລີ່ມຕົ້ນຄືນໃຫມ່ໃນຊອບແວໂຮດຢ່າງຖືກຕ້ອງ, ບັງຄັບໃຫ້ຜູ້ຮັບຕອບສະຫນອງຄໍາສັ່ງ get ໂດຍໃຊ້ຕົວລະບຸຄໍາຖະແຫຼງແລະລໍຖ້າການຕອບກັບຈາກຜູ້ຮັບກ່ອນທີ່ຈະດໍາເນີນການ DTP ໃນໂຮດ. ວິທີການນີ້ໃຊ້ເວລາ advantage ຂອງຄວາມຈິງທີ່ວ່າຜູ້ຮັບຕອບກັບຄໍາສັ່ງ get ຫຼັງຈາກການຊອກຫາໄດ້ຖືກປະຕິບັດ.
ເມື່ອຕົວເລືອກຄວາມພະຍາຍາມຖືກຕັ້ງເປັນ 1, ເຄື່ອງສົ່ງສັນຍານ DTP ຈະຖືກນໍາໄປໃສ່ໃນອັນທີ່ເອີ້ນວ່າຮູບແບບການຖ່າຍທອດ. ໃນໂຫມດນີ້, ຫຼັງຈາກໄດ້ຮັບ NACK ທໍາອິດຈາກເຄື່ອງຮັບ DTP, ເຄື່ອງສົ່ງຂໍ້ມູນ DTP ຈະຖ່າຍທອດຂໍ້ມູນ blocks ໂດຍບໍ່ຕ້ອງລໍຖ້າ ACKs ຈາກເຄື່ອງຮັບ DTP, ແລະເຄື່ອງສົ່ງຈະຍົກເລີກການໂອນຂໍ້ມູນທັນທີຄວນໄດ້ຮັບ NACK. ວິທີການນີ້ຊ່ວຍໃຫ້ການໂອນຂໍ້ມູນໄວຂຶ້ນຢ່າງຫຼວງຫຼາຍຜ່ານການເຊື່ອມຕໍ່ທີ່ເຊື່ອຖືໄດ້ທີ່ມີເວລາແພັກເກັດທີ່ສູງ (ເຊັ່ນ: TCP) ຫຼືສະຫຼັບທິດທາງທີ່ຂ້ອນຂ້າງສູງ (ເຊັ່ນ: USB). ການປະຕິບັດຢ່າງຖືກຕ້ອງໄດ້ຮັບສ່ວນຫນຶ່ງຂອງໂປໂຕຄອນບໍ່ຈໍາເປັນຕ້ອງມີການດູແລພິເສດເພື່ອສະຫນັບສະຫນູນວິທີການນີ້.
ເມື່ອຕົວເລືອກໄລຍະເວລາແມ່ນຮູບແບບການກັ່ນຕອງພິເສດທີ່ບໍ່ແມ່ນສູນຈະຖືກເປີດໃຊ້. ຕົວຢ່າງample, ມັນອະນຸຍາດໃຫ້ດາວໂຫລດຂໍ້ມູນ 1Hz ຈາກ a file ທີ່ຖືກຂຽນໂດຍໃຊ້ອັດຕາການປັບປຸງ 10Hz. ໂດຍສະເພາະ, ຜູ້ຮັບຈະສົ່ງຂໍ້ມູນພຽງແຕ່ສໍາລັບ epochs ທີ່ modulo ເວລາຮັບໃນມື້ຫນຶ່ງ (Tr) ຕອບສະຫນອງສົມຜົນດັ່ງຕໍ່ໄປນີ້:
Tr {mod period} = ໄລຍະ
ເພື່ອເຮັດສິ່ງນີ້, ຜູ້ຮັບຈະວິເຄາະເນື້ອໃນຂອງ file ແລະການກັ່ນຕອງອອກບາງສ່ວນຂອງຂໍ້ຄວາມ. ໃຫ້ສັງເກດວ່າການປະຕິບັດການສືບຕໍ່ການດາວໂຫຼດທີ່ຂັດຂວາງແມ່ນຍາກຫຼາຍຖ້າ
GREIS
www.javad.com
53
RECEIVER INPUT LANGUAGE ຄໍາສັ່ງໄດ້ຮັບ
ບໍ່ເປັນໄປບໍ່ໄດ້ໃນກໍລະນີນີ້ເນື່ອງຈາກຄວາມຈິງທີ່ວ່າເຈົ້າພາບບໍ່ມີຄວາມຄິດໃນສິ່ງທີ່ຊົດເຊີຍຂອງຜູ້ຮັບ file ການດາວໂຫຼດຖືກຂັດຈັງຫວະ.
ປະເພດຂອງການໂອນໃດໆສາມາດຖືກຍົກເລີກໂດຍການຮັບຂໍ້ມູນໃນຕອນທ້າຍໂດຍການສົ່ງສັນຍາລັກຂໍ້ຜິດພາດ DTP (ເຊັ່ນ: ASCII '#').
ເມື່ອໂອນຂໍ້ມູນໃນ [RE] ຂໍ້ຄວາມ, ມູນຄ່າຂອງ block_size ຈະກໍານົດຂະຫນາດສູງສຸດຂອງ payload ຂໍ້ມູນສໍາລັບທຸກໆ [RE] ຂໍ້ຄວາມ (ຍັງຈໍາກັດໂດຍຂະຫນາດຂອງ firmware buffer ພາຍໃນ). ຕາມປົກກະຕິ, ທຸກໆຂໍ້ຄວາມ [RE] ຈະຖືກເລີ່ມຕົ້ນດ້ວຍ ID ຄໍາສັ່ງ (ຖ້າມີ).
ໃນເວລາທີ່ການໂອນຂໍ້ມູນໃນ [>>] ຂໍ້ຄວາມ, ມູນຄ່າຂອງທາງເລືອກການພະຍາຍາມຈະກໍານົດພາກສະຫນາມ id ຂອງ [>>] ຂໍ້ຄວາມດັ່ງຕໍ່ໄປນີ້:
id = -1 – ຄວາມພະຍາຍາມ
ແລະຄ່າຂອງ "block_size" ຈະກໍານົດຂະຫນາດສູງສຸດຂອງຂໍ້ມູນ payload ສໍາລັບທຸກໆ [>>] ຂໍ້ຄວາມ (ຍັງຈໍາກັດໂດຍຂະຫນາດຂອງ firmware buffer ພາຍໃນ).
byte ຕໍ່ໄປຫຼັງຈາກ id ( byte ທໍາອິດຂອງພາກສະຫນາມຂໍ້ມູນ) ໃນ [>>] ຂໍ້ຄວາມຫຼັງຈາກນັ້ນຈະເປັນຕົວອັກສອນລໍາດັບເລີ່ມຕົ້ນດ້ວຍສັນຍາລັກ ASCII 0 ແລະຖືກເພີ່ມ modulo 64 ສໍາລັບທຸກໆຂໍ້ຄວາມ, ສົ່ງຜົນໃຫ້ລໍາດັບຂອງສັນຍາລັກ ASCII ຈາກ 0 ຫາ o, ລວມທັງ:
seq = 0 loop { seq_char = '0' + (seq++ % 64) }
ຕົວອັກສອນລໍາດັບອະນຸຍາດໃຫ້ການສິ້ນສຸດການກວດສອບການສູນເສຍຂອງ [>>] ຂໍ້ຄວາມໃນລໍາດັບ.
ຫຼັງຈາກນັ້ນ, payload ຂໍ້ມູນວັດຖຸຂອງເຖິງ block_size bytes ຈະປະຕິບັດຕາມ, ແລະຫຼັງຈາກນັ້ນຜົນລວມເຊັກ, ອີງຕາມຮູບແບບຂອງ [>>] ຂໍ້ຄວາມ.
ຜົນຜະລິດທີ່ປະສົບຜົນສໍາເລັດໃນຮູບແບບຫໍ່ຈະຖືກສະຫຼຸບສະເຫມີໂດຍ [>>] ຂໍ້ຄວາມທີ່ບໍ່ມີ payload ຂໍ້ມູນ, ເພື່ອເຮັດໃຫ້ການໄດ້ຮັບໃນຕອນທ້າຍສາມາດກໍານົດການສິ້ນສຸດຂອງການໂອນ.
Examples
Example: ເລີ່ມການດຶງເນື້ອໃນຂອງ file NAME ໃຊ້ DTP. ບໍ່ວ່າຈະເປັນ:
Example:
get,/log/NAME get,NAME
ເລີ່ມການດຶງເນື້ອໃນຂອງ file NAME ເລີ່ມຈາກເລກໄບທີ 3870034 (ນັບໄບຕ໌ຈາກສູນ). ຄາດຫວັງວ່າໃຊ້ເວລາດົນຫຼາຍທີ່ຈະຜ່ານລະຫວ່າງຄໍາສັ່ງແລະການຕອບຄືນ:
%%get,NAME,3870034 RE002%%
GREIS
www.javad.com
54
RECEIVER INPUT LANGUAGE ຄໍາສັ່ງໄດ້ຮັບ
Example: ເລີ່ມການດຶງເນື້ອໃນຂອງ file my_logfile ເລີ່ມຈາກ byte 3000 ໂດຍໃຊ້ timeout 50 ວິນາທີ ແລະ block size 8192 bytes:
ໄດ້ຮັບ, my_logfile:{50,8192},3000
Example: ເລີ່ມການດຶງເນື້ອໃນຂອງ file NAME ກໍາລັງກັ່ນຕອງອອກ epochs ເພື່ອໃຫ້ຜົນໄດ້ຮັບກັບຄືນມາ file ຈະເປັນຂໍ້ມູນ 0.1Hz:
ໄດ້,NAME:{,,10}
Example: ເລີ່ມການດຶງເນື້ອໃນຂອງ file NAME ໂດຍໃຊ້ໂໝດສະຕີມ (ຕົວເລືອກຄວາມພະຍາຍາມຕັ້ງເປັນ 1):
ໄດ້,NAME:{,,,,1}
Example: ສົ່ງເນື້ອໃນຂອງ file NAME ຫໍ່ເຂົ້າໄປໃນ [>>] ຂໍ້ຄວາມທີ່ມີ id 61 (ເປັນສັນຍາລັກ ASCII '='), ໂດຍໃຊ້ເຖິງ 128 bytes ຂອງຂໍ້ມູນຕໍ່ຂໍ້ຄວາມ:
ໄດ້,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}
ການໂຕ້ຖຽງ
object identifier ຂອງ file ເພື່ອຂຽນຂໍ້ມູນໃສ່. ຖ້າວັດຖຸບໍ່ຂຶ້ນຕົ້ນດ້ວຍ “/”, ຫຼັງຈາກນັ້ນ “/log/” ຄໍານໍາໜ້າຈະຖືກໃສ່ໃສ່ອັດຕະໂນມັດກ່ອນວັດຖຸກ່ອນທີ່ຈະປະຕິບັດຄໍາສັ່ງ.
offset ຊົດເຊີຍໃນ bytes ຈາກຈຸດເລີ່ມຕົ້ນຂອງ file ເພື່ອເລີ່ມຕົ້ນການຂຽນ. ຖ້າຍົກເວັ້ນ, 0 ແມ່ນສົມມຸດ.
ທາງເລືອກ
ຕາຕະລາງ 2-6. ໃສ່ສະຫຼຸບທາງເລືອກ
ຊື່
ປະເພດ
ຄຸນຄ່າ
ຄ່າເລີ່ມຕົ້ນ
ໝົດເວລາ
ຈຳນວນເຕັມ [0…86400], ວິນາທີ 10
block_size integer [1…163841]
512
1. 2048 ສໍາລັບເຄື່ອງຮັບທີ່ບໍ່ຮອງຮັບ TCP ຫຼື USB.
ໝົດເວລາໝົດເວລາສຳລັບ DTP. block_size ຂະຫນາດຂອງບລັອກຂໍ້ມູນ DTP.
ລາຍລະອຽດ
ຄໍາສັ່ງນີ້ເລີ່ມຕົ້ນການອັບໂຫຼດຂໍ້ມູນຈາກຄອມພິວເຕີແມ່ຂ່າຍເຂົ້າໄປໃນ a file ໃນຕົວຮັບໂດຍໃຊ້ Data Transfer Protocol (DTP). ບໍ່ມີການຕອບສະໜອງໃດໆທີ່ສ້າງຂຶ້ນເວັ້ນເສຍແຕ່ມີຄວາມຜິດພາດ, ຫຼືການຕອບສະໜອງຖືກບັງຄັບໂດຍຕົວລະບຸຄຳຖະແຫຼງ.
ຫຼັງຈາກຄໍາສັ່ງວາງສໍາເລັດ, ເຄື່ອງຮັບ DTP ເລີ່ມຕົ້ນຢູ່ໃນຕົວຮັບແລະລໍຖ້າເຄື່ອງສົ່ງ DTP ດໍາເນີນການຢູ່ໃນໂຮດ. ດັ່ງນັ້ນ, ເພື່ອອັບໂຫລດຂໍ້ມູນໃດໆຢ່າງແທ້ຈິງ, ຜູ້ຫນຶ່ງຕ້ອງການການປະຕິບັດເຄື່ອງສົ່ງສັນຍານ DTP ໃນເຈົ້າພາບ.
1. ເບິ່ງ “ພິທີການໂອນຂໍ້ມູນ” ໃນໜ້າ 580.
GREIS
www.javad.com
56
RECEIVER INPUT LANGUAGE ຄໍາສັ່ງໃສ່
ການໂຕ້ຖຽງຊົດເຊີຍທາງເລືອກອະນຸຍາດໃຫ້ເຈົ້າພາບປະຕິບັດການສະຫນັບສະຫນູນສໍາລັບການສືບຕໍ່ການໂອນຂໍ້ມູນທີ່ຖືກລົບກວນ. ຄ່າຊົດເຊີຍທີ່ບໍ່ແມ່ນສູນອະນຸຍາດໃຫ້ແມ່ຂ່າຍສາມາດຮ້ອງຂໍຂໍ້ມູນຕໍ່ທ້າຍຂອງອັນທີ່ມີຢູ່ແລ້ວໄດ້ file ຂະຫນາດທີ່ກົງກັນ.
ຖ້າຊົດເຊີຍແມ່ນ 0 ແລະ file ບໍ່ມີວັດຖຸ, ຜູ້ຮັບຈະພະຍາຍາມສ້າງແລະເປີດສໍາລັບການຂຽນໃຫມ່ file ກັບຊື່ທີ່ກໍານົດໂດຍວັດຖຸ. ໃນກໍລະນີນີ້ຄໍາສັ່ງຈະລົ້ມເຫລວຖ້າມີ a file ດ້ວຍຊື່.
ຖ້າຊົດເຊີຍແມ່ນໃຫຍ່ກວ່າ 0, ແລະມີ a file ວັດຖຸ, ແລະ file ຂະຫນາດເທົ່າກັບມູນຄ່າຂອງ offset, ຫຼັງຈາກນັ້ນຄໍາສັ່ງ put ຈະເປີດ file ຈຸດປະສົງສໍາລັບການຕໍ່ທ້າຍ. ໃນກໍລະນີນີ້ຄໍາສັ່ງຈະລົ້ມເຫລວຖ້າຫາກວ່າບໍ່ມີທີ່ມີຢູ່ແລ້ວ file ກັບຊື່ທີ່ໃຫ້ຫຼືຖ້າຂະຫນາດຂອງທີ່ມີຢູ່ແລ້ວ file ບໍ່ກົງກັບທີ່ລະບຸໄວ້ໂດຍການຊົດເຊີຍ.
Examples
Example: ເລີ່ມການອັບໂຫຼດຂໍ້ມູນໃໝ່ file “NAME” ໂດຍໃຊ້ DTP. ບໍ່ວ່າຈະເປັນ:
Example:
put,/log/NAME put,NAME
ເລີ່ມການອັບໂຫລດຂໍ້ມູນ ແລະເພີ່ມພວກມັນໃສ່ກັບທີ່ມີຢູ່ແລ້ວ file “NAME”. ໃຊ້ DTP timeout ເລີ່ມຕົ້ນແລະ DTP block ຂະຫນາດ 4096 bytes. ໄດ້ຮັບຂະຫນາດຂອງ file ກ່ອນທີ່ຈະເລີ່ມຕົ້ນການອັບໂຫລດ (ສັງເກດວ່າ file ຂະຫນາດແມ່ນຕ້ອງການຢູ່ໃນໂຮດຢ່າງໃດກໍ່ຕາມເພື່ອໃຫ້ມັນສາມາດຂ້າມຈໍານວນ bytes ນີ້ຈາກຂໍ້ມູນແຫຼ່ງຂອງມັນ file):
Example:
ພິມ,/log/NAME&size RE008 3870034 put,/log/NAME:{,4096},3870034
ເລີ່ມການອັບໂຫຼດຂໍ້ມູນໃໝ່ file “my_logfile” ໃຊ້ເວລາຫມົດເວລາ 50 ວິນາທີແລະຂະຫນາດບລັອກຂອງ 8192 bytes:
ໃສ່, my_logfile:{50,8192}
GREIS
www.javad.com
57
2.3.12 fld
ຄໍາສັ່ງຂອງ RECEIVER INPUT LANGUAGE fld
ຊື່
fld ການໂຫຼດເຟີມແວ.
ບົດສະຫຼຸບ
ຮູບແບບ: fld,id,object Options: {timeout, block_size}
ການໂຕ້ຖຽງ
id string ທີ່ບັນຈຸຕົວຮັບອີເລັກໂທຣນິກ ID1. ຖ້າ ID ທີ່ລະບຸບໍ່ກົງກັບ ID ເອເລັກໂຕຣນິກຕົວຈິງຂອງຕົວຮັບ, ຄໍາສັ່ງຈະລົ້ມເຫລວແລະສ້າງຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດ.
ວັດຖຸຕົວລະບຸແຫຼ່ງທີ່ມາຂອງເຟີມແວທີ່ຈະໂຫລດ. ບໍ່ວ່າຊື່ຂອງຜູ້ຮັບ file, ຫຼືຊື່ຂອງຜອດປ້ອນຂໍ້ມູນ. ເມື່ອມັນເປັນຊື່ຂອງຜອດປ້ອນເຂົ້າ, ຄວນໃຫ້ /cur/term ຫຼືຊື່ຕົວຈິງຂອງພອດປັດຈຸບັນ, ຖ້າບໍ່ດັ່ງນັ້ນຄວາມຜິດພາດຈະຖືກລາຍງານ.
ທາງເລືອກ
ຕາຕະລາງ 2-7. fld ສະຫຼຸບທາງເລືອກ
ຊື່
ປະເພດ
ຄຸນຄ່າ
ໝົດເວລາ
ຈຳນວນເຕັມ [0…86400], ວິນາທີ
block_size integer [1…163841] 1. 2048 ສໍາລັບເຄື່ອງຮັບທີ່ບໍ່ຮອງຮັບ TCP ຫຼື USB.
ຄ່າເລີ່ມຕົ້ນ
10 512
ໝົດເວລາໝົດເວລາສຳລັບ DTP. block_size ຂະຫນາດຂອງບລັອກຂໍ້ມູນ DTP.
ລາຍລະອຽດ
ຄຳສັ່ງນີ້ໂຫລດເຟີມແວຈາກວັດຖຸທີ່ລະບຸໄວ້ໃນຕົວຮັບ ແລະຈາກນັ້ນຣີເຊັດຕົວຮັບ. ບໍ່ມີການຕອບສະໜອງໃດໆທີ່ສ້າງຂຶ້ນເວັ້ນເສຍແຕ່ມີຄວາມຜິດພາດ, ຫຼືການຕອບສະໜອງຖືກບັງຄັບໂດຍຕົວລະບຸຄຳຖະແຫຼງ.
1. ID ສາມາດໄດ້ຮັບໂດຍໃຊ້ຄໍາສັ່ງ print,/par/rcv/id.
GREIS
www.javad.com
58
ຄໍາສັ່ງຂອງ RECEIVER INPUT LANGUAGE fld
ຄຳເຕືອນ:
ຖ້າຄວາມລົ້ມເຫຼວຂອງພະລັງງານຫຼືການຂັດຂວາງທີ່ຮ້າຍແຮງຂອງການໂອນເຟີມແວຜ່ານພອດເກີດຂື້ນໃນລະຫວ່າງການໂຫຼດ, ເຄື່ອງຮັບອາດຈະເຂົ້າໄປໃນສະພາບເຄິ່ງເຮັດວຽກທີ່ມີພຽງແຕ່ການໂຫຼດເຟີມແວຜ່ານພອດ RS-232 ໂດຍໃຊ້ວິທີການ "ເປີດການຈັບພາບ" ທີ່ເປັນໄປໄດ້.
ຖ້າວັດຖຸກໍານົດສິ່ງທີ່ມີຢູ່ແລ້ວ file1, ຜູ້ຮັບທໍາອິດຈະກວດເບິ່ງວ່າມີ file ມີເຟີມແວທີ່ຖືກຕ້ອງສໍາລັບຕົວຮັບ (ມັນໃຊ້ເວລາຫຼາຍວິນາທີເພື່ອໃຫ້ສໍາເລັດ). ຖ້າການກວດສອບປະສົບຜົນສໍາເລັດ, ຜູ້ຮັບຈະໂຫລດເຟີມແວແລະຫຼັງຈາກນັ້ນດໍາເນີນການປັບຕົວໃຫມ່. ໃຫ້ສັງເກດວ່າການຕອບກັບຄໍາສັ່ງ (ຖ້າມີ) ຈະຖືກສົ່ງຫຼັງຈາກການກວດສອບແຕ່ກ່ອນທີ່ຈະໂຫລດເຟີມແວເລີ່ມຕົ້ນ. ຕົວເລືອກການໝົດເວລາ ແລະ block_size ແມ່ນຖືກລະເລີຍໃນກໍລະນີນີ້.
ຖ້າວັດຖຸກໍານົດການປ້ອນຂໍ້ມູນ, ຄໍາສັ່ງຈະສົ່ງຄໍາຕອບ (ຖ້າມີ) ແລະຫຼັງຈາກນັ້ນເລີ່ມຕົ້ນເຄື່ອງຮັບ DTP ທີ່ຈະລໍຖ້າເຄື່ອງສົ່ງ DTP ດໍາເນີນການຢູ່ໃນໂຮດ. ດັ່ງນັ້ນ, ເພື່ອອັບໂຫລດ firmware ຕົວຈິງ, ຄົນເຮົາຕ້ອງການການປະຕິບັດເຄື່ອງສົ່ງສັນຍານ DTP ໃນໂຮດ. ການຕັ້ງຄ່າດ້ວຍຕົນເອງ (reboot) ຈະຖືກປະຕິບັດໂດຍຜູ້ຮັບຫຼັງຈາກການໂຫຼດສໍາເລັດຫຼືຖືກລົບກວນ.
Examples
Example: ໂຫລດ firmware ຈາກ file “firmware.ldp” ເຂົ້າໄປໃນຕົວຮັບດ້ວຍ ID ເອເລັກໂຕຣນິກ 123456789AB. ຄາດຫວັງວ່າສອງສາມວິນາທີຈະຜ່ານລະຫວ່າງການສົ່ງຄໍາສັ່ງແລະການຕອບຮັບ, ໃນຂະນະທີ່ຜູ້ຮັບຈະກວດເບິ່ງ file ສໍາລັບຄວາມຖືກຕ້ອງຂອງເຟີມແວ:
%%fld,123456789AB,/log/firmware.ldp RE002%%
Example: ເລີ່ມການອັບໂຫລດເຟີມແວຈາກພອດ USB ໂດຍໃຊ້ຂະໜາດບລັອກ 16384 ໄບຕ໌ ແລະໝົດເວລາ 20 ວິນາທີ. ໄດ້ຮັບ ID ເອເລັກໂຕຣນິກກ່ອນທີ່ຈະອອກຄໍາສັ່ງ:
print,rcv/id RE00C 8PZFM10IL8G fld,8PZFM10IL8G,/dev/usb/a:{20,16384}
GREIS
1. ຄາດວ່າຈະມີ file ບັນຈຸມີເຟີມແວຖືກອັບໂຫລດໄປຫາຜູ້ຮັບລ່ວງຫນ້າ, ຕົວຢ່າງ, ການນໍາໃຊ້ຄໍາສັ່ງໃສ່.
www.javad.com
59
ຄໍາສັ່ງຂອງ RECEIVER INPUT LANGUAGE fld
GREIS
www.javad.com
60
ບົດທີ 3
ຂໍ້ຄວາມຜູ້ຮັບ
ບົດນີ້ອະທິບາຍຮູບແບບທົ່ວໄປຂອງຂໍ້ຄວາມມາດຕະຖານ GREIS ເຊັ່ນດຽວກັນກັບຮູບແບບສະເພາະຂອງຂໍ້ຄວາມທັງໝົດທີ່ກຳນົດໄວ້ລ່ວງໜ້າ. ນອກເໜືອໄປຈາກຂໍ້ຄວາມມາດຕະຖານ GREIS, ຜູ້ຮັບຍັງຮອງຮັບຂໍ້ຄວາມບາງຮູບແບບທີ່ແຕກຕ່າງກັນ, ເຊັ່ນ: NMEA ຫຼື BINEX. ຮູບແບບຂອງຂໍ້ຄວາມ "ຕ່າງປະເທດ" ເຫຼົ່ານັ້ນແມ່ນໄດ້ອະທິບາຍໃນຕອນທ້າຍຂອງບົດນີ້.
3.1 ສົນທິສັນຍາ
3.1.1 ການກໍານົດຮູບແບບ
ເພື່ອອະທິບາຍບາງຮູບແບບເປັນລໍາດັບຂອງ bytes1 ໃນຮູບແບບທີ່ຫນາແຫນ້ນ, ພວກເຮົາກໍານົດຮູບແບບສໍາລັບປະເພດພາກສະຫນາມຕົ້ນຕໍຈໍານວນຫນຶ່ງແລະຫຼັງຈາກນັ້ນນໍາໃຊ້ notation ໃກ້ຄຽງກັບທີ່ໃຊ້ໃນພາສາການຂຽນໂປຼແກຼມ C ເພື່ອສ້າງຄໍານິຍາມຂອງຮູບແບບທີ່ສັບສົນຫຼາຍ:
struct NAME {LENGTH} { TYPE FIELD[COUNT]; // DESCRIPTION … ປະເພດ Field[COUNT]; // ລາຍລະອຽດ
};
ບ່ອນທີ່:
NAME ຊື່ທີ່ຖືກມອບໝາຍໃຫ້ກັບຮູບແບບນີ້. ມັນສາມາດຖືກນໍາໃຊ້ໃນຄໍານິຍາມຮູບແບບອື່ນເປັນປະເພດຂອງຊ່ອງຂໍ້ມູນ.
LENGTH ຄວາມຍາວເປັນ bytes ຂອງລໍາດັບທັງຫມົດ. ສໍາລັບຮູບແບບຄວາມຍາວຄົງທີ່, ມັນເປັນຕົວເລກ, ສໍາລັບຂໍ້ຄວາມຄວາມຍາວຕົວແປ, ມັນອາດຈະເປັນການສະແດງອອກເລກເລກຂຶ້ນຢູ່ກັບຕົວກໍານົດການຕົວແປອື່ນໆຫຼືພຽງແຕ່ string var.
TYPE FIELD[COUNT] ຕົວອະທິບາຍຊ່ອງຂໍ້ມູນ. ມັນອະທິບາຍລໍາດັບຂອງ COUNT ອົງປະກອບຂອງ TYPE ດຽວກັນທີ່ຖືກກໍານົດໃຫ້ຊື່ FIELD. TYPE ອາດຈະເປັນຫນຶ່ງໃນປະເພດພາກສະຫນາມຕົ້ນຕໍທີ່ອະທິບາຍຂ້າງລຸ່ມນີ້, ຫຼື NAME ຂອງຮູບແບບອື່ນ. ເມື່ອບໍ່ມີ [COUNT], ຊ່ອງຂໍ້ມູນປະກອບດ້ວຍອົງປະກອບອັນດຽວ. ເມື່ອ COUNT ບໍ່ຢູ່ (ເຊັ່ນ: ມີພຽງແຕ່ວົງເລັບສີ່ຫຼ່ຽມຫວ່າງເປົ່າ, []), ມັນຫມາຍຄວາມວ່າພາກສະຫນາມປະກອບດ້ວຍຈໍານວນອົງປະກອບທີ່ບໍ່ລະບຸ.
GREIS
1. ໃນສະພາບການຂອງບົດນີ້, "byte" ຫມາຍຄວາມວ່າ 8-bit entity. ໜ້ອຍສຸດຂອງ byte ທີ່ມີດັດຊະນີສູນ.
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
ເພື່ອກໍານົດຮູບແບບສະເພາະທັງຫມົດ, ພວກເຮົາຍັງຕ້ອງກໍານົດຄໍາສັ່ງ bytes ໃນຊ່ອງຂໍ້ມູນຕົ້ນຕໍທີ່ບໍ່ແມ່ນການລວບລວມທີ່ມີຫຼາຍໄບ (i2, i4, u2, u4, f4, f8). ສໍາລັບຂໍ້ຄວາມ GREIS ຄໍາສັ່ງນີ້ຖືກກໍານົດໂດຍຂໍ້ຄວາມ [MF], ເບິ່ງ “[MF] Messages Format” ໃນຫນ້າ 74 ສໍາລັບລາຍລະອຽດ.
ການນໍາໃຊ້ຄໍານິຍາມຂ້າງເທິງນີ້ມັນເປັນໄປໄດ້ທີ່ຈະ (recursively) ຂະຫຍາຍການສະເພາະຮູບແບບໃດຫນຶ່ງກັບລໍາດັບທີ່ສອດຄ້ອງກັນຂອງ bytes. ຕົວຢ່າງample, ຮູບແບບ
ໂຄງສ້າງ Example {9} { u1 n1; f4 n2; i2 n3[2];
};
ຂະຫຍາຍໄປສູ່ລໍາດັບຕໍ່ໄປນີ້ຂອງ bytes ໂດຍສົມມຸດວ່າຄໍາສັ່ງ byte ທໍາອິດທີ່ສໍາຄັນ (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
RECEIVER MESSAGES ການຖ່າຍທອດຂໍ້ຄວາມມາດຕະຖານ
ຄຸນຄ່າພິເສດ
ແລະລໍາດັບຕໍ່ໄປນີ້ຂອງ bytes ສົມມຸດວ່າຄໍາສັ່ງ byte ທໍາອິດທີ່ສໍາຄັນ (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 ຂອງພາກສະຫນາມ x.
3.1.2 ຄ່າພິເສດ
ສໍາລັບຂໍ້ຄວາມຄູ່, ບາງຊ່ອງຂໍ້ມູນຈໍານວນເຕັມແລະຈຸດລອຍຂອງພວກມັນອາດມີຄ່າພິເສດ, ເຊິ່ງຖືກນໍາໃຊ້ແທນຂໍ້ມູນຕົວຈິງໃນເວລາທີ່ບໍ່ມີຂໍ້ມູນສໍາລັບພາກສະຫນາມ. ຊ່ອງຂໍ້ມູນຖານສອງທີ່ຕ້ອງກວດສອບຄ່າພິເສດໃນລະຫວ່າງການສະກັດເອົາຂໍ້ມູນຈະຖືກໝາຍດ້ວຍເຄື່ອງໝາຍ exclamation, “!” ໃນຖັນທໍາອິດຂອງຄໍານິຍາມພາກສະຫນາມ.
ຕາຕະລາງຕໍ່ໄປນີ້ກໍານົດຄ່າພິເສດສໍາລັບປະເພດຂໍ້ມູນຕ່າງໆ:
ຕາຕະລາງ 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
RECEIVER MESSAGES ຮູບແບບທົ່ວໄປຂອງຂໍ້ຄວາມ
ຂໍ້ຄວາມມາດຕະຖານ
sages, ແລະເພື່ອເຮັດໃຫ້ມັນເປັນໄປໄດ້ສໍາລັບຄໍາຮ້ອງສະຫມັກທີ່ຈະປະສິດທິພາບຂ້າມຂໍ້ຄວາມທີ່ຄໍາຮ້ອງສະຫມັກບໍ່ຮູ້ກ່ຽວກັບຫຼືບໍ່ສົນໃຈໃນ.
ສະຫນັບສະຫນູນຂໍ້ຄວາມທີ່ບໍ່ແມ່ນມາດຕະຖານ, ທີ່ຄວນຈະຍັງຄົງປະຕິບັດຕາມຮູບແບບທີ່ກໍານົດໄວ້ສໍາລັບພວກເຂົາໃນຄູ່ມືນີ້, ເຮັດໃຫ້ມັນເປັນໄປໄດ້ທີ່ຈະປະສົມຂໍ້ຄວາມມາດຕະຖານ GREIS ກັບຂໍ້ຄວາມຂອງບາງຮູບແບບອື່ນໆໃນນ້ໍາຂໍ້ມູນ GREIS ມາດຕະຖານ. ອະດີດample ຂອງຮູບແບບດັ່ງກ່າວແມ່ນຂໍ້ຄວາມ NMEA.
ຂໍ້ຄວາມທີ່ບໍ່ແມ່ນມາດຕະຖານຂອງກໍລະນີພິເສດ, ຂໍ້ຄວາມທີ່ມີພຽງແຕ່ ASCII ແລະ/ຫຼື ຕົວອັກສອນ, ຖືກໃສ່ໂດຍເຄື່ອງຈັກການຈັດຮູບແບບຂໍ້ຄວາມຢູ່ໃນເຄື່ອງຮັບລະຫວ່າງຂໍ້ຄວາມມາດຕະຖານ GREIS ເພື່ອເຮັດໃຫ້ຂໍ້ຄວາມທີ່ອອກມານັ້ນສາມາດອ່ານໄດ້ຫຼາຍຂຶ້ນເມື່ອມັນຖືກສົ່ງໄປຫາເຄື່ອງໝາຍປາຍທາງ ຫຼືຂໍ້ຄວາມທົ່ວໄປ. viewer ຫຼືຄໍາຮ້ອງສະຫມັກບັນນາທິການ.
ນອກເຫນືອຈາກຂໍ້ຄວາມມາດຕະຖານ GREIS ແລະຂໍ້ຄວາມທີ່ບໍ່ແມ່ນມາດຕະຖານ, ເຄື່ອງຮັບ JAVAD GNSS ປົກກະຕິສະຫນັບສະຫນູນຮູບແບບອື່ນຫຼາຍ (ເຊັ່ນ: RTCM, BINEX, CMR). ແນວໃດກໍ່ຕາມ, ຮູບແບບເຫຼົ່ານັ້ນບໍ່ເຂົ້າກັນກັບຮູບແບບຂອງຂໍ້ຄວາມ GREIS ມາດຕະຖານ. ຖ້າການຖ່າຍທອດມີຂໍ້ຄວາມຂອງຮູບແບບເຫຼົ່ານັ້ນ, ມັນບໍ່ສາມາດເອີ້ນວ່າການຖ່າຍທອດຂໍ້ຄວາມມາດຕະຖານ GREIS ໄດ້ອີກຕໍ່ໄປ, ແລະບໍ່ສາມາດແຍກວິເຄາະໄດ້ຕາມກົດລະບຽບດຽວກັນກັບສະຕຣີມມາດຕະຖານ.1
3.3 ຮູບແບບທົ່ວໄປຂອງຂໍ້ຄວາມ
3.3.1 ຂໍ້ຄວາມມາດຕະຖານ
ຮູບແບບຂອງທຸກຂໍ້ຄວາມມາດຕະຖານມີດັ່ງນີ້:
ໂຄງສ້າງ StdMessage {var} {
a1 id[2];
// ຕົວລະບຸ
a1 ຄວາມຍາວ[3];
// ຄວາມຍາວຂອງເລກຖານສິບຫົກ, [000…FFF]
u1 ຮ່າງກາຍ[ຄວາມຍາວ]; // ຮ່າງກາຍ
};
ແຕ່ລະຂໍ້ຄວາມມາດຕະຖານເລີ່ມຕົ້ນດ້ວຍຕົວລະບຸຂໍ້ຄວາມທີ່ເປັນເອກະລັກທີ່ປະກອບດ້ວຍສອງຕົວອັກສອນ ASCII. ຕົວອັກສອນໃດໆຈາກຊຸດຍ່ອຍ “0” ເຖິງ “~” (ເຊັ່ນ: ລະຫັດ ASCII ທົດສະນິຍົມໃນໄລຍະ [48…126]) ແມ່ນອະນຸຍາດໃຫ້ຢູ່ໃນຕົວລະບຸ.
GREIS
1. ໃນຄວາມເປັນຈິງ, ຮູບແບບຂອງຂໍ້ຄວາມມາດຕະຖານ GREIS ແມ່ນມີຄວາມຍືດຫຍຸ່ນຫຼາຍທີ່ມັນສາມາດລວມເອົາການຖ່າຍທອດຂໍ້ມູນໃດໆເຂົ້າໄປໃນກະແສຂໍ້ມູນ GREIS ມາດຕະຖານ, ແຕ່ຫຼັງຈາກນັ້ນການຖ່າຍທອດຕົ້ນສະບັບທີ່ບໍ່ເຂົ້າກັນຄວນຖືກຫໍ່ເຂົ້າໄປໃນລໍາດັບຂອງຂໍ້ຄວາມ GREIS ພິເສດ. ຂໍ້ຄວາມທີ່ກຳນົດໄວ້ລ່ວງໜ້າດ້ວຍຕົວລະບຸ “>>” ຮັບໃຊ້ຈຸດປະສົງນີ້.
www.javad.com
64
RECEIVER MESSAGES ຮູບແບບທົ່ວໄປຂອງຂໍ້ຄວາມ
ຂໍ້ຄວາມທີ່ບໍ່ແມ່ນມາດຕະຖານ
ຕົວລະບຸຂໍ້ຄວາມແມ່ນຕິດຕາມດ້ວຍຄວາມຍາວຂອງຊ່ອງເນື້ອໃນຂໍ້ຄວາມ. ຊ່ອງຂໍ້ມູນນີ້, ເຊິ່ງປະກອບດ້ວຍສາມຕົວເລກສູງສຸດຂອງເລກຖານສິບຫົກ, ລະບຸຄວາມຍາວຂອງຂໍ້ຄວາມໃນໄບຕ໌. ດັ່ງນັ້ນຄວາມຍາວຂອງຂໍ້ຄວາມສູງສຸດແມ່ນ 4095 (0xFFF) bytes.
ເນື້ອໃນຂໍ້ຄວາມປະຕິບັດຕາມທັນທີຫຼັງຈາກຊ່ອງຂໍ້ມູນຄວາມຍາວແລະປະກອບດ້ວຍຈໍານວນ bytes ທີ່ລະບຸໂດຍຊ່ອງຂໍ້ມູນຄວາມຍາວ. ບໍ່ມີຂໍ້ຈໍາກັດກ່ຽວກັບເນື້ອໃນຂອງຂໍ້ຄວາມທີ່ຊີ້ໃຫ້ເຫັນໂດຍຮູບແບບທົ່ວໄປ. ຮູບແບບຂອງເນື້ອໃນຂໍ້ຄວາມໃນຂໍ້ຄວາມແມ່ນຖືກກໍານົດໂດຍຕົວລະບຸຂໍ້ຄວາມ. ຮູບແບບຂອງເນື້ອໃນຂອງຂໍ້ຄວາມທັງໝົດຂອງຂໍ້ຄວາມທີ່ກຳນົດໄວ້ລ່ວງໜ້າ
3.3.2 ຂໍ້ຄວາມທີ່ບໍ່ແມ່ນມາດຕະຖານ
ຮູບແບບຂອງຂໍ້ຄວາມທີ່ບໍ່ໄດ້ມາດຕະຖານມີດັ່ງນີ້:
struct NonStdTextMessage {var} {
a1 id;
// ຕົວລະບຸ, [!…/]
a1 ຮ່າງກາຍ[];
// ຮ່າງກາຍຂອງຄວາມຍາວໂດຍຕົນເອງ, [0…)
a1 eom;
// ສິ້ນສຸດຂໍ້ຄວາມ ( ຫຼື )
};
ຕົວລະບຸຂໍ້ຄວາມແມ່ນຕົວອັກສອນໃດນຶ່ງໃນຂອບເຂດ [!… /] (ລະຫັດທົດສະນິຍົມ ASCII ໃນຊ່ວງ [33…47]). ຕົວລະບຸຂໍ້ຄວາມເປັນທາງເລືອກ. ຖ້າບໍ່ມີ, ເນື້ອໃນຂໍ້ຄວາມຄວນມີຄວາມຍາວສູນ (ເຊັ່ນ, ຄວນຈະຂາດເຊັ່ນກັນ).
ເນື້ອໃນຂໍ້ຄວາມແມ່ນລໍາດັບຂອງຕົວອັກສອນ ASCII ຍົກເວັ້ນ (ລະຫັດທົດສະນິຍົມ 13) ແລະ (ລະຫັດທົດສະນິຍົມ 10) ຕົວອັກສອນ. ບໍ່ມີຂໍ້ຈໍາກັດກ່ຽວກັບຄວາມຍາວຂອງຮ່າງກາຍແມ່ນ imposed ໂດຍຮູບແບບ.
ຈຸດສິ້ນສຸດຂອງເຄື່ອງໝາຍຂໍ້ຄວາມແມ່ນຄືກັນ ຫຼື ລັກສະນະ.
ໃຫ້ສັງເກດວ່າຮູບແບບອະນຸຍາດໃຫ້ສໍາລັບຂໍ້ຄວາມທີ່ບໍ່ແມ່ນມາດຕະຖານທີ່ປະກອບດ້ວຍຕົວອັກສອນ CR ຫຼື LF ເທົ່ານັ້ນ. ຄຸນສົມບັດນີ້ເຮັດໃຫ້ການຖ່າຍທອດຂໍ້ຄວາມ GREIS ມາດຕະຖານເບິ່ງເປັນມະນຸດອ່ານໄດ້ຫຼາຍຂຶ້ນເມື່ອສົ່ງຂໍ້ມູນໄປຍັງເຄື່ອງໃຊ້ທົ່ວໄປ ຫຼື viewໂດຍມີຂໍ້ຄວາມທົ່ວໄປ viewer ຫຼືບັນນາທິການ.
ຫນຶ່ງໃນຕົວລະບຸຂໍ້ຄວາມທີ່ບໍ່ແມ່ນມາດຕະຖານ, ຕົວອັກສອນ “$”, ຖືກສະຫງວນໄວ້ແລ້ວເປັນຕົວລະບຸສໍາລັບຂໍ້ຄວາມ NMEA ມາດຕະຖານ. ບໍ່ມີຂໍ້ຄວາມອື່ນທີ່ບໍ່ແມ່ນມາດຕະຖານຄວນໃຊ້ “$” ເປັນຕົວລະບຸ.
3.3.3 Parsing Message Stream
ໃນພາກນີ້, ທ່ານຈະພົບເຫັນຄໍາແນະນໍາແລະຄໍາແນະນໍາບາງຢ່າງກ່ຽວກັບວິທີການຂຽນລະຫັດທີ່ມີຈຸດປະສົງເພື່ອວິເຄາະການຖ່າຍທອດຂໍ້ຄວາມຂອງຜູ້ຮັບ GREIS. ເຖິງແມ່ນວ່າພວກເຮົາຈະບໍ່ສົນທະນາເລື່ອງນີ້ຢ່າງລະອຽດໃນຄູ່ມືການອ້າງອິງນີ້, ພວກເຮົາຕ້ອງການເນັ້ນຫນັກຢູ່ທີ່ນີ້ວ່າຂໍ້ຄວາມມາດຕະຖານ.
GREIS
www.javad.com
65
RECEIVER MESSAGES ຮູບແບບທົ່ວໄປຂອງຂໍ້ຄວາມ
Parsing Message Stream
ຮູບແບບຈະຊ່ວຍໃຫ້ທ່ານສາມາດປະມວນຜົນ / ວິເຄາະເກືອບທຸກກະແສຂໍ້ຄວາມ GREIS ທີ່ທ່ານອາດຈະພົບໃນການປະຕິບັດ.
ໝາຍເຫດ:
ການຊິ້ງຂໍ້ມູນ
ໃນເວລາທີ່ແຍກສະຕຣີມຂໍ້ຄວາມ, ທໍາອິດທ່ານຈໍາເປັນຕ້ອງຊອກຫາຂອບເຂດຂໍ້ຄວາມທີ່ໃກ້ທີ່ສຸດ. ນີ້ແມ່ນສິ່ງທີ່ມັກຈະເອີ້ນວ່າ "ການຊິ້ງຂໍ້ມູນ". ການຊິ້ງຂໍ້ມູນຂໍ້ຄວາມແມ່ນດຳເນີນເມື່ອເລີ່ມການແຍກວິເຄາະ ຫຼືເມື່ອການຊິ້ງຂໍ້ມູນເສຍໄປເນື່ອງຈາກເກີດຄວາມຜິດພາດໃນການຖ່າຍທອດຂໍ້ມູນ. ໃນຄວາມເປັນຈິງ, ເພື່ອເຮັດໃຫ້ວິທີການງ່າຍຂຶ້ນ, ທ່ານອາດຈະພິຈາລະນາວ່າທ່ານໄດ້ synchronized ແລ້ວໃນເວລາທີ່ທ່ານເລີ່ມຕົ້ນການແຍກນ້ໍາຂໍ້ມູນ. ຖ້າມັນເກີດຂື້ນວ່າມັນບໍ່ແມ່ນກໍລະນີ, ຄວາມຜິດພາດຂອງການວິເຄາະຄວນເກີດຂື້ນ. ຈາກນັ້ນທ່ານຂ້າມຕົວລະຄອນໜຶ່ງຕົວອອກຈາກກະແສການປ້ອນຂໍ້ມູນ ແລະທຳທ່າວ່າທ່ານຖືກ synchronized ອີກຄັ້ງ. ວິທີການດັ່ງກ່າວໄດ້ປະສິດທິຜົນກໍາຈັດວຽກງານ synchronization ເປັນສ່ວນແຍກຕ່າງຫາກຂອງ parsing algorithm.
ເນື່ອງຈາກຄວາມຈິງທີ່ວ່າອັດຕາຄວາມຜິດພາດໃນການຖ່າຍທອດຂໍ້ມູນທີ່ເປັນປະໂຫຍດທີ່ສົມເຫດສົມຜົນຄວນຈະຕ່ໍາ, ການ synchronization ບໍ່ຄວນເປັນວຽກເລື້ອຍໆ. ນອກຈາກນັ້ນ, ການຖ່າຍທອດຂໍ້ມູນ GREIS ໂດຍປົກກະຕິປະກອບດ້ວຍຂໍ້ຄວາມສັ້ນ, ສະນັ້ນໄລຍະຫ່າງຂອງຂໍ້ຄວາມທີ່ໃກ້ທີ່ສຸດແມ່ນປົກກະຕິຫນ້ອຍ. ຄໍານຶງເຖິງການພິຈາລະນາເຫຼົ່ານີ້, ບໍ່ມີຂໍ້ກໍານົດສໍາລັບການ synchronization algorithm ທີ່ຈະໄວຫຼາຍ.
ໝາຍເຫດ:
ຂ້າມໄປຫາຂໍ້ຄວາມຕໍ່ໄປ
ມີຄວາມຍາວໃນຮູບແບບທົ່ວໄປຂອງຂໍ້ຄວາມ GREIS ມາດຕະຖານອະນຸຍາດໃຫ້ທ່ານສາມາດລະເລີຍຂໍ້ຄວາມໄດ້ຢ່າງງ່າຍດາຍໂດຍບໍ່ຮູ້ຮູບແບບຂອງຮ່າງກາຍຂອງເຂົາເຈົ້າ. ພວກເຮົາຂໍແນະນໍາຢ່າງແຂງແຮງໃຫ້ຂຽນ parsers ເພື່ອໃຫ້ເຂົາເຈົ້າຂ້າມຂໍ້ຄວາມທີ່ບໍ່ຮູ້ຈັກ.
ເພື່ອໄປຈາກຂໍ້ຄວາມປັດຈຸບັນໄປຫາອັນຕໍ່ໄປ, ໃຫ້ເຮັດຕາມຂັ້ນຕອນຕໍ່ໄປນີ້:
1. ສົມມຸດວ່າຂໍ້ຄວາມປັດຈຸບັນເລີ່ມຕົ້ນຢູ່ຕຳແໜ່ງ “N”. ກໍານົດຄວາມຍາວຂອງຂໍ້ຄວາມໃນປະຈຸບັນ (ຖອດລະຫັດຕົວອັກສອນ ## N+2, N+3, N+4). ສົມມຸດວ່າຄວາມຍາວຂອງຂໍ້ຄວາມເທົ່າກັບ L. ຂ້າມຕົວອັກສອນ L+5 ທຳອິດເລີ່ມຈາກຕຳແໜ່ງ “N”.
2. ຂ້າມທັງຫມົດຂອງ ແລະ ຕົວອັກສອນ (ຖ້າມີ).
ເວົ້າຢ່າງເຂັ້ມງວດ, ພວກເຮົາບໍ່ແນະນໍາໃຫ້ທ່ານໃຊ້ໃນລະຫັດການວິເຄາະຂອງທ່ານກ່ຽວກັບຂໍ້ມູນ apriori ກ່ຽວກັບຂະຫນາດແລະເນື້ອໃນຂອງຂໍ້ຄວາມ. ຖ້າທ່ານເຄົາລົບຄໍາແນະນໍານີ້, ທ່ານຈະບໍ່ມີບັນຫາກັບໂຄງການວິເຄາະບາງຂໍ້ຄວາມຄວນຖືກປ່ຽນແປງ.
ກົດລະບຽບແລະຄໍາແນະນໍາກ່ຽວກັບການແຍກສານຂໍ້ຄວາມຂອງຂໍ້ຄວາມ GREIS ມາດຕະຖານທີ່ໄດ້ກໍານົດໄວ້ລ່ວງຫນ້າແມ່ນສົນທະນາຕໍ່ມາໃນ "Pparsing Message Bodies" ໃນຫນ້າ 67.
GREIS
www.javad.com
66
GREIS
RECEIVER MESSAGES ຂໍ້ຄວາມມາດຕະຖານທີ່ກຳນົດລ່ວງໜ້າ
ການແຍກສານຂໍ້ຄວາມ
3.4 ຂໍ້ຄວາມທີ່ກຳນົດໄວ້ລ່ວງໜ້າມາດຕະຖານ
ໃນພາກນີ້ພວກເຮົາຈະເຮັດຄວາມຄຸ້ນເຄີຍກັບຜູ້ອ່ານທີ່ກໍານົດໄວ້ລ່ວງຫນ້າຂອງຂໍ້ຄວາມ GREIS ມາດຕະຖານ. ເມື່ອກ່າວເຖິງຂໍ້ຄວາມທີ່ມີຕົວລະບຸ XX, ພວກເຮົາໃຊ້ຫມາຍເຫດ [XX]. ໃນຂະນະທີ່ຂໍ້ຄວາມສ່ວນໃຫຍ່ຖືກເອີ້ນໂດຍຕົວລະບຸຂໍ້ຄວາມຂອງພວກເຂົາໃນ GREIS, ບາງສ່ວນຂອງພວກເຂົາ, ໂດຍສະເພາະຂໍ້ຄວາມທີ່ມີຕົວລະບຸທີ່ບໍ່ແມ່ນຕົວເລກ, ມີຊື່ທີ່ແຕກຕ່າງກັນ. ສໍາລັບຂໍ້ຄວາມດັ່ງກ່າວ, ຫມາຍເຫດ [XX](NN) ຖືກນໍາໃຊ້, ບ່ອນທີ່ XX ແມ່ນຕົວລະບຸຂໍ້ຄວາມ, ແລະ NN ແມ່ນຊື່ຂໍ້ຄວາມທີ່ຈະໃຊ້ໃນຄໍາສັ່ງ GREIS. ຕົວຢ່າງample ຂໍ້ຄວາມ [~~](RT) ມີສ່ວນຫົວ “~~” ແລະເອີ້ນວ່າ /msg/jps/RT ໃນຄໍາສັ່ງ GREIS.
ພາກນີ້ກໍານົດຮູບແບບຂອງອົງການຈັດຕັ້ງສໍາລັບທຸກຂໍ້ຄວາມມາດຕະຖານທີ່ກໍານົດໄວ້ລ່ວງຫນ້າ. ຈົ່ງຈື່ໄວ້ວ່າໃນກະແສຂໍ້ມູນທຸກໆຂໍ້ຄວາມມີສ່ວນຫົວມາດຕະຖານທີ່ກໍານົດໂດຍຮູບແບບທົ່ວໄປເຊັ່ນກັນ.
3.4.1 Parsing Message Bodies
ອະນຸຍາດໃຫ້ຂະຫຍາຍຮູບແບບ
ຮູບແບບຂອງຂໍ້ຄວາມຄູ່ທີ່ມີຂະຫນາດຂໍ້ຄວາມຄົງທີ່ອະນຸຍາດໃຫ້ເພີ່ມຊ່ອງຂໍ້ມູນເພີ່ມເຕີມໃນອະນາຄົດ. ຊ່ອງຂໍ້ມູນໃຫມ່ແມ່ນອະນຸຍາດໃຫ້ໃສ່ຢູ່ໃນຕອນທ້າຍຂອງເນື້ອໃນຂໍ້ຄວາມກ່ອນພາກສະຫນາມ 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
RECEIVER MESSAGES ຂໍ້ຄວາມມາດຕະຖານທີ່ກຳນົດລ່ວງໜ້າ
ຫມາຍເຫດທົ່ວໄປ
3. ແກ້ໄຂຊ່ອງຂໍ້ມູນອື່ນໆທີ່ກ່ຽວຂ້ອງກັບຈຸດເລີ່ມຕົ້ນຂອງຂໍ້ຄວາມ. 4. ພິຈາລະນາກົດລະບຽບຂ້າງເທິງສໍາລັບການຂະຫຍາຍຂໍ້ຄວາມໃນເວລາທີ່
ການຂຽນຕົວສະກັດຂໍ້ມູນສໍາລັບຂໍ້ຄວາມ.
ເຊັກsums
ຫຼັງຈາກຂໍ້ຄວາມໄດ້ຖືກສະກັດອອກຈາກການຖ່າຍທອດຂໍ້ມູນໂດຍໃຊ້ເຕັກນິກທີ່ອະທິບາຍໄວ້ໃນ "Parsing Message Stream" ໃນໜ້າ 65, ແລະຕົວລະບຸຂໍ້ຄວາມເບິ່ງຄືວ່າເປັນອັນໜຶ່ງທີ່ແອັບພລິເຄຊັນສົນໃຈ, ເນື້ອໃນຂໍ້ຄວາມຄວນຖືກວິເຄາະເພື່ອສະກັດຂໍ້ມູນ. . ກ່ອນທີ່ຈະສະກັດເນື້ອໃນ, checksum ຂໍ້ຄວາມຄວນໄດ້ຮັບການຄິດໄລ່ແລະປຽບທຽບກັບ checksum ທີ່ມີຢູ່ໃນຂໍ້ຄວາມ.
ສ່ວນໃຫຍ່ຂອງຂໍ້ຄວາມທີ່ກໍານົດໄວ້ລ່ວງຫນ້າປະກອບດ້ວຍ checksum. Checksum ຖືກຄິດໄລ່ໂດຍໃຊ້ທັງສ່ວນຫົວຂໍ້ຄວາມ (ເຊັ່ນ: "ຕົວລະບຸຂໍ້ຄວາມ" ບວກກັບ "ຄວາມຍາວຂອງຂໍ້ຄວາມ") ແລະຕົວຂອງມັນເອງ. ເບິ່ງ “ການຄິດໄລ່ຄອມພິວເຕີ” ຢູ່ໃນຫນ້າ 579 ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບການຄິດໄລ່ checksum.
checksum ແມ່ນຖືກໃສ່ຢູ່ໃນຕອນທ້າຍຂອງຂໍ້ຄວາມ. ຖ້າໂຄງສ້າງຂອງຂໍ້ຄວາມຖືກແກ້ໄຂໂດຍການເພີ່ມຊ່ອງຂໍ້ມູນໃຫມ່, ຊ່ອງຂໍ້ມູນໃຫມ່ຈະຖືກເພີ່ມກ່ອນຊ່ອງຂໍ້ມູນ checksum. ນີ້ອະທິບາຍວ່າເປັນຫຍັງມັນຖືກແນະນໍາໃຫ້ແກ້ໄຂພາກສະຫນາມ checksum ທີ່ກ່ຽວຂ້ອງກັບສ່ວນທ້າຍຂອງຂໍ້ຄວາມ.
3.4.2 ບັນທຶກທົ່ວໄປ
ຕາຕະລາງເວລາ
ມີຫ້າຂະຫນາດເວລາທີ່ຜູ້ຮັບຂອງທ່ານສາມາດຈັດການ:
ເວລາຮັບສັນຍານ Tg ເວລາລະບົບ GPS Tu UTC(USNO). ເວລາປະສານງານທົ່ວໂລກສະຫນັບສະຫນູນໂດຍ US Naval Observer-
vatory. ເວລາລະບົບ Tn GLONASS. Ts UTC(SU). ເວລາປະສານງານທົ່ວໄປສະຫນັບສະຫນູນໂດຍເວລາຂອງລັດແລະການຟຣີ
quency Service, ລັດເຊຍ.
“ເວລາຜູ້ຮັບ” ເປັນຕາໜ່າງເວລາດຽວທີ່ມີໃຫ້ຢູ່ໃນເຄື່ອງຮັບຂອງທ່ານສະເໝີ (ເຊັ່ນ, ຕາຕະລາງເວລາອື່ນຈາກລາຍການຂ້າງເທິງນັ້ນອາດມີ ຫຼືອາດຈະບໍ່ມີຢູ່ໃນຂະນະນີ້).
ໃນຄວາມເປັນຈິງ, ເຄື່ອງຮັບ JAVAD GNSS ສະເຫມີ synchronizes ເວລາຮັບຂອງຕົນກັບຫນຶ່ງໃນສີ່ຂະຫນາດຂອງໂລກ: ເວລາ GPS, UTC(USNO), ເວລາ GLONASS, ຫຼື UTC(SU). ໄດ້
GREIS
www.javad.com
68
GREIS
RECEIVER MESSAGES ຂໍ້ຄວາມມາດຕະຖານທີ່ກຳນົດລ່ວງໜ້າ
ຫມາຍເຫດທົ່ວໄປ
ຕາໜ່າງເວລາທີ່ຖືກເລືອກນັ້ນເອີ້ນວ່າ “ເວລາອ້າງອີງຜູ້ຮັບ” (Trr) ຕໍ່ມາໃນພາກທີ 1 ນີ້.
ລະບົບເວລາທີ່ແຕກຕ່າງກັນອາດຈະມີຫມາຍເຫດເວລາທີ່ແຕກຕ່າງກັນ (ຮູບແບບ) ທີ່ກ່ຽວຂ້ອງກັບພວກມັນ (ຕົວຢ່າງ, ສໍາລັບເວລາ GPS, ພວກເຮົາໃຊ້ຄໍາສັບຕ່າງໆເຊັ່ນ "ຈໍານວນອາທິດ", "ເວລາຂອງອາທິດ", ແລະອື່ນໆ). ຢ່າງໃດກໍຕາມ, ໃຫ້ສັງເກດວ່າການເປັນຕົວແທນ "ເວລາຜູ້ຮັບ" ຈະບໍ່ຂຶ້ນກັບເວລາອ້າງອີງຜູ້ຮັບທີ່ເລືອກແລະຖືກສະແດງເປັນວັນທີແລະເວລາຂອງມື້ຂອງຜູ້ຮັບ.
ຂໍ້ຄວາມທີ່ກຳນົດໄວ້ລ່ວງໜ້າສ່ວນໃຫຍ່ບໍ່ມີຂໍ້ມູນເວລາອ້າງອີງພາຍໃນ. ໃນຂອງພວກເຮົາ view, ມັນຈະເປັນການຫຼາຍເກີນໄປທີ່ຈະໃຊ້ຫນຶ່ງແລະເວລາດຽວກັນ tag ດ້ວຍຂໍ້ຄວາມທັງໝົດທີ່ຜູ້ຮັບໄດ້ສ້າງຂຶ້ນໃນຍຸກປັດຈຸບັນ. ເມື່ອອອກຂໍ້ມູນຜູ້ຮັບທີ່ມີໃຫ້ສໍາລັບຍຸກປະຈຸບັນ, ປົກກະຕິແລ້ວທ່ານຈະໄດ້ຮັບຂໍ້ຄວາມຕ່າງໆ. ແທນທີ່ຈະສະຫນອງໃຫ້ເຂົາເຈົ້າແຕ່ລະຄົນໃຊ້ເວລາສ່ວນບຸກຄົນ tag ຊ່ອງຂໍ້ມູນ, ພວກເຮົາໃຊ້ຂໍ້ຄວາມພິເສດທີ່ເອົາຂໍ້ມູນເວລາຂອງຜູ້ຮັບທົ່ວໄປສໍາລັບຂໍ້ຄວາມເຫຼົ່ານີ້. ຂໍ້ຄວາມນີ້ເອີ້ນວ່າ "ເວລາຜູ້ຮັບ" ແລະມີຕົວລະບຸ [~~].
ຢ່າງໃດກໍຕາມ, ມີຮູບແບບການດໍາເນີນງານ, ເອີ້ນວ່າໂຫມດການຊັກຊ້າ RTK, ເມື່ອຢູ່ໃນຕົວຮັບທີ່ກໍານົດອາດຈະຜະລິດການແກ້ໄຂທີ່ອ້າງອີງໃສ່ບາງຍຸກອື່ນໆໃນອະດີດ. ເພື່ອສະຫນອງເວລາ tag ສໍາລັບການແກ້ໄຂດັ່ງກ່າວ, ໄລຍະເວລາການແກ້ໄຂພິເສດ -Tag [ST] ຂໍ້ຄວາມຖືກນໍາໃຊ້. ໃນຄວາມເປັນຈິງ, ຂໍ້ຄວາມນີ້ສະຫນອງເວລາທີ່ຖືກຕ້ອງ tag ສໍາລັບການແກ້ໄຂໃນທຸກຮູບແບບຂອງການດໍາເນີນງານ, ເຖິງແມ່ນວ່າໃນໂຫມດສ່ວນໃຫຍ່ມັນມີເວລາດຽວກັນກັບ [~~].
ມີບາງຂໍ້ຄວາມອື່ນໆທີ່ມີເວລາ tag ຊ່ອງຂໍ້ມູນ. ເຫຼົ່ານີ້ແມ່ນຂໍ້ຄວາມທີ່ມີຂໍ້ມູນທີ່ປາກົດເປັນເອກະລາດຢູ່ໃນຕາຂ່າຍໄຟຟ້າ epoch ຂອງຜູ້ຮັບ. ອະດີດample ຂອງຂໍ້ຄວາມດັ່ງກ່າວແມ່ນ "ເຫດການ" [==].
ຕົວຂັ້ນ
ໃນຄວາມເປັນຈິງ, ຂໍ້ຄວາມ "ເວລາຜູ້ຮັບ" ຄວນຈະນໍາຫນ້າທັງຫມົດຂອງຂໍ້ຄວາມອື່ນໆທີ່ສ້າງຂຶ້ນໃນຍຸກປະຈຸບັນ, ດັ່ງນັ້ນຈຶ່ງກໍານົດຂໍ້ຄວາມທີ່ສອດຄ້ອງກັນກັບຍຸກຕ່າງໆ. ຈາກຈຸດທີ່ເປັນທາງການຂອງ view, ມັນຂຶ້ນກັບຜູ້ໃຊ້ເພື່ອກໍານົດຄໍາສັ່ງຂອງຂໍ້ຄວາມໃນນ້ໍາຜົນຜະລິດ. ຢ່າງໃດກໍ່ຕາມ, ຄວນເອົາໃຈໃສ່ເພື່ອຮັບປະກັນວ່າຄໍາສັ່ງທີ່ຂໍ້ຄວາມຖືກຂຽນເຂົ້າໃນກະແສຜົນຜະລິດບໍ່ໄດ້ທໍາລາຍ "ການ synchronization ຍຸກ", ເຊິ່ງເປັນສິ່ງຈໍາເປັນຫຼາຍສໍາລັບການປຸງແຕ່ງຂໍ້ມູນທີ່ຖືກບັນທຶກກັບຊຸດຊອບແວ JAVAD GNSS. ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມກ່ຽວກັບຊຸດຂໍ້ຄວາມເລີ່ມຕົ້ນ, ເບິ່ງ “ຊຸດຂໍ້ຄວາມ” ໃນໜ້າ 562.
ສໍາລັບຄໍາຮ້ອງສະຫມັກໃນເວລາທີ່ແທ້ຈິງ, ມັນເປັນສິ່ງຈໍາເປັນທີ່ຈະກໍານົດການສິ້ນສຸດຂອງ epoch ໄວເທົ່າທີ່ຈະເປັນໄປໄດ້. ສໍາລັບຄໍາຮ້ອງສະຫມັກດັ່ງກ່າວພຽງແຕ່ delimiting epochs ໂດຍເຄື່ອງຫມາຍ "ເລີ່ມຕົ້ນຂອງ epoch" ແມ່ນບໍ່ສະດວກ. ພວກເຮົາແນະນໍາໃຫ້ໃຊ້ຂໍ້ຄວາມ "ເວລາຂອງຍຸກ" [::](ET) ເປັນເຄື່ອງຫມາຍ "ສິ້ນສຸດຂອງຍຸກ". ຂໍ້ຄວາມນີ້ມີຊ່ອງຂໍ້ມູນເວລາດຽວກັນຂອງມື້ທີ່ພົບຢູ່ໃນຂໍ້ຄວາມ "ເວລາຜູ້ຮັບ" ທີ່ອະນຸຍາດໃຫ້ກວດສອບຄວາມສົມບູນໄດ້ດີຂຶ້ນ. ແນວຄວາມຄິດແມ່ນການປຽບທຽບເວລາ tag
1. ໃນເຟີມແວຂອງຕົວຮັບປັດຈຸບັນ ເວລາອ້າງອີງຂອງຕົວຮັບແມ່ນ GPS ຫຼືເວລາລະບົບ GLONASS, ອ້າງອີງເຖິງ /par/raw/time/ref ໃນໜ້າ 220.
www.javad.com
69
GREIS
RECEIVER MESSAGES ຂໍ້ຄວາມມາດຕະຖານທີ່ກຳນົດລ່ວງໜ້າ
ຫມາຍເຫດທົ່ວໄປ
ຈາກ [::] ຂໍ້ຄວາມຕໍ່ຕ້ານເວລາ tag ຈາກຂໍ້ຄວາມ [~~] ທີ່ສອດຄ້ອງກັນ. ບໍ່ກົງກັນ tags ແມ່ນຕົວຊີ້ບອກເຖິງຍຸກທີ່ແຕກຫັກ.
ທ່ານຈະສັງເກດເຫັນວ່າຂໍ້ຄວາມສ່ວນໃຫຍ່ມີຕົວລະບຸທີ່ປະກອບດ້ວຍຕົວເລກ ແລະ/ຫຼື ຕົວອັກສອນພາສາອັງກິດເທົ່ານັ້ນ. ໃນຄວາມເປັນຈິງ, "ເວລາຜູ້ຮັບ" [~~] ແມ່ນຂໍ້ຄວາມດຽວທີ່ຕົວລະບຸໃຊ້ຕົວອັກສອນ "~". ມັນມີຄວາມຫມາຍຍ້ອນວ່າຂໍ້ຄວາມ [~~] ມີບົດບາດສໍາຄັນຫຼາຍທີ່ຮັບໃຊ້ເປັນຕົວກໍານົດເວລາ. ດັ່ງນັ້ນຈຶ່ງມີຂໍ້ຄວນລະວັງພິເສດເພື່ອຫຼຸດຜ່ອນຄວາມເປັນໄປໄດ້ຂອງການສູນເສຍຂໍ້ຄວາມທີ່ສໍາຄັນນີ້. ເຊັ່ນດຽວກັນ, ຕົວລະບຸຂອງ "ເຫດການ" ([==]) ຂໍ້ຄວາມ, ເຊັ່ນດຽວກັນ, ຈະຕ້ອງມີຄວາມໂດດເດັ່ນທີ່ສຸດເທົ່າທີ່ເປັນໄປໄດ້ເພາະວ່າຊອບແວແອັບພລິເຄຊັນອາດຈະໃຊ້ເຫດການແບບບໍ່ເສຍຄ່າເປັນຕົວກໍານົດ.
ແນວຄວາມຄິດຂອງການໃຊ້ຕົວລະບຸ "ທີ່ໂດດເດັ່ນ" ສໍາລັບຂໍ້ຄວາມທີ່ເຮັດຫນ້າທີ່ເປັນຕົວກໍານົດແມ່ນຈະແຈ້ງຫຼາຍ. ຖ້າ checksum ຂອງຂໍ້ຄວາມຜິດພາດ, ພຽງແຕ່ກວດເບິ່ງຕົວລະບຸຂອງມັນ. ຖ້າທັງສອງຕົວອັກສອນຂອງຕົວລະບຸບໍ່ກົງກັນກັບ “~”, ມັນຄົງຈະບໍ່ເປັນຂໍ້ຄວາມ [~~] ທີ່ເສຍຫາຍ. ດັ່ງນັ້ນ, ທ່ານບໍ່ຈໍາເປັນຕ້ອງຂ້າມໄປຫາຂໍ້ຄວາມ [~~] ຕໍ່ໄປໃນກໍລະນີນີ້.
ໃນທາງກົງກັນຂ້າມ, ຖ້າຂໍ້ຄວາມມີ checksum ທີ່ຖືກຕ້ອງແຕ່ຫນຶ່ງໃນຕົວກໍານົດແມ່ນ "~", ຫຼັງຈາກນັ້ນມັນຈະປອດໄພກວ່າທີ່ຈະປະຕິບັດຂໍ້ຄວາມນີ້ເປັນຂໍ້ຄວາມ [~~] ເສຍຫາຍ. ໃນກໍລະນີນີ້ໃຫ້ຂ້າມໄປຫາຂໍ້ຄວາມ [~~] ຕໍ່ໄປ.
ປະເພດການແກ້ໄຂ
ພາກສະຫນາມ "solType" ທີ່ໃຊ້ໃນຫຼາຍຂໍ້ຄວາມທີ່ກໍານົດໄວ້ກ່ອນກໍານົດປະເພດຂອງການແກ້ໄຂທີ່ສອດຄ້ອງກັນແລະອາດຈະມີມູນຄ່າດັ່ງຕໍ່ໄປນີ້:
ຕາຕະລາງ 3-3. ປະເພດການແກ້ໄຂ
ມູນຄ່າ
ຄວາມຫມາຍ
0
ບໍ່
ເອກະສານ / ຊັບພະຍາກອນ
![]() |
JAVAD GREIS GNSS ຮັບສ່ວນຕິດຕໍ່ພາຍນອກ [pdf] ຄູ່ມືຜູ້ໃຊ້ GREIS GNSS Receiver External Interface, GREIS, GNSS Receiver External Interface, Receiver External Interface, External Interface, Interface |