5800多线版解析.docx
- 文档编号:29138886
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:22
- 大小:23.10KB
5800多线版解析.docx
《5800多线版解析.docx》由会员分享,可在线阅读,更多相关《5800多线版解析.docx(22页珍藏版)》请在冰豆网上搜索。
5800多线版解析
一、5800多线版现已发现了一BUG。
当不小心按到“M+”键时。
计算出来的结果不正确。
(按“M+”是快速寄器,会改写M变量值,本程序M代表要素起点桩号)
解决办法
修改FileName:
READDATA平曲线分段要素读取程序
把If G>MAndG ThenReturn 改成If G>MAndG ThenReturn即可修复 二、点线、坡角放样模块 FileName: XFYSET 线放样参数设置程序 Cls: Norm1 Z[C+75]→I: "DZH"? I: I→Z[C+75] Z[C+76]→I: "D-H"? I: I→Z[C+76] Z[C+77]→I: "D-V"? I: I→Z[C+77] FileName: XFY 线放样程序 //: 线放样程,适用于放中线,边线,法线等: // Prog"TURNZH" G-Z[C+75]→D 里程差 B-Z[C+76]→O 横向差 Z[C+43]-Z-Z[C+77]→T 高差 Cls: Fix3 "": Locate1,1,G 显示里程 LOcate11,1,D 显示里程差 "": locate1,2,O 显示横向差 Locate9,2,T 显示横高差 Locate1,3,Z[C+76] 显示设计横向偏距 Locate9,3,Z+Z[C+77] 显示设计高程 Z[C+76]→B Prog"ZBJS" Deg: Pol(X-Z[C+35],Y-Z[C+36]) IfJ<0: ThenJ+360→J: IfEnd Locate1,4,J° 提供放边线角度参考 三、放样方位角与坐标反算 FileName: STATIONSET 测站设置 Cls: Norm1 Z[C+35]→I: "STATION-N"? I: I→Z[C+35] 设置测站N坐标 Z[C+36]→I: "STATION-E"? I: I→Z[C+36] 设置测站E坐标 Z[C+44]→I: "STATION-Z"? I: I→Z[C+44] 设置测站Z坐标 Z[C+45]→I: "STATION-HI"? I: I→Z[C+45] 设置仪高 FileName: SRIN 智能短数输入,用于提高十位数以上相同的坐标输入 Z[C+12]≠1=>Return I=J=>Return IfI>0AndI<1: ThenI+Int(J)→I: Return: IfEnd IfI>1AndI<10: ThenI+10Int(J÷10)→I: Return: IfEnd Return FileName: INNEZ实测坐标输入程序 LblS: Norm1: Cls Z[C+50]=2=>Goto1 Z[C+37]→I I→J "DQD-N"? I 输入待求点N坐标 I<0=>Goto1 Prog"SRIN" I→Z[C+37] Z[C+38]→I I→J "DQD-E"? I 输入待求点E坐标 I<0=>Goto1 Prog"SRIN" I→Z[C+38] Z[C+43]→I: I→J: "DQD-Z"? I输入实测高程 I<0=>Goto1 Prog"SRIN" I→Z[C+43] Z[C+37]→U Z[C+38]→V Return Lbl1 I=-1=>2→Z[C+50] IfI=-2: ThenProg"OPTION": GotoS: IfEnd 进入工作设置 Prog"INFWJDLDH" Z[C+50]=1=>GotoS Z[C+37]→U Z[C+38]→V Return FileName: INFWJDLDH 实测坐标(用方位角,距离,高差)输入程序 LblS: Deg: Norm1: Cls Z[C+46]→J: "DQD-FWJ"? J J<0=>Goto1 J→Z[C+46] Z[C+47]→I: "DQD-DL"? I: I→Z[C+47] Z[C+48]→K: "DQD-DZ"? K: K→Z[C+48] Z[C+49]→P: "RHT"? P: P→Z[C+49] Rec(I,J) Z[C+35]+I→Z[C+37] Z[C+36]+J→Z[C+38] Z[C+44]+Z[C+45]+K-P→Z[C+43] Return Lbl1 IfJ=-2: ThenProg"OPTION": GotoS: IfEnd 进入工作设置 1→Z[C+50] Return FileName: TURNZH(坐标反算) N→X: E→Y: H→F: M→G: 0→B Prog"INNEZ" LblS: Rad U-X→I: V-Y→J IfI=0AndJ=0: ThenGotoA: IfEnd Pol(I,J) LblA: Rec(I,J-F) G+I→G: IFAbs(I)>0.001: ThenProg"ZBJS": GotoS: IfEnd J→B G→Z[C+1] J→Z[C+2] Prog"GCJS" Return 运行STATIONSET对测站坐标进行设置 STATION-N 设置测站N坐标3000.425 STATION-E 设置测站E坐标 3874.658 STATION-Z 设置测站Z坐标39.625 STATION-HI 设置仪高 1.2 运行DISPLAYXYZ 按F1 DQD-N 输入待反算点X坐标3800.009 DQD-E 输入待反算点Y坐标3925.837 DQD-Z 输入待反算点高程40.111,高程不是必须输入的 将得到以下界面 ZH=1130.000 桩号 N=3800.009 X坐标 E=3925.837 Y坐标 Z32.069 1.236高程 横向偏距 按F1 DQD-N 输入-2特殊值 JJ? 输入90 GCJS-ON? 输入1打开高程计算功能,如果不需要高程计算请输入0 SRIN-ON? 输入1打开智能短数输入功能,如果不需要请输入0 DQD-N 输入待反算点X坐标.123 DQD-E 输入待反算点Y坐标4.536 DQD-Z 输入待反算点高程39.124,高程不是必须输入的 将得到以下界面 ZH=1129.534桩号 N=3800.123 X坐标 E=3924.536 Y坐标 Z32.065 0.016高程 横向偏距 按F1 DQD-N 输入-1特殊值 把仪器调到水平角,平距,高差模式,本方法用于仪器反应慢的,可以提前提入水平角,然后等待平距和高差数据。 这样可提高实测坐标输入,对于反应快的仪器本方法意义不大。 DQD-FWJ 输入水平角19°58′12″ DQD-DL 输入平距2826.365 DQD-DZ 输入高差1.6 RHT 输入镜高1.2 会得到错误信息,表示点桩号大于竖曲线最大计算桩号,按EXE跳过 MAX SQX-ERROR 0 将得到以下界面 ZH=3200.238桩号 N=5656.845X坐标 E=4839.941Y坐标 Z0 7.255高程0表示超限 横向偏距 按F1 DQD-FWJ 输入特殊值-2 JJ? 输入90 GCJS-ON? 输入0关闭高程计算 SRIN-ON? 1 DQD-FWJ 输入水平角19°58′12″ DQD-DL输入平距2826.365 DQD-DZ 输入高差1.6 RHT输入镜高1.2 将得到以下界面 ZH=3200.238桩号 N=5656.845X坐标 E=4839.941Y坐标 Z-1 7.255高程-1表示高程计算关闭 横向偏距 按F1 DQD-FWJ 输入特殊值-1 将得到以下界面 ZH=3200.238桩号 N=5656.845X坐标 E=4839.941Y坐标 Z-1 7.255高程-1表示高程计算关闭 横向偏距 按F1 DQD-N 输入待反算点X坐标5656.845119 DQD-E 输入待反算点Y坐标4839.940996 DQD-Z 输入待反算点高程40.125,高程不是必须输入 将得到以下界面 ZH=3200.238桩号 N=5656.845X坐标 E=4839.941Y坐标 Z-1 7.255高程-1表示高程计算关闭 横向偏距 按F3 将得到以下界面 ZH=3200.238桩号 →7.255 -1 横向偏距 高程-1表示高程计算关闭 DL=2826.365 平距 19°58′12″ 水平角(方位角) 按EXE 按F2 ZH 输入特殊值-2 JJ? 输入90GCJS-ON? 输入1打开高程计算 SRIN-ON? 1 ZH 输入桩号1230 JL输入距离-2.5 将得到以下界面 ZH=1230.000 桩号 N=3891.576 X坐标 E=3966.203 Y坐标 Z33.226 -2.5 高程 横向偏距 -1是表示高程计算已经关闭 按F3 将得到以下界面 ZH=1230.000桩号 →-2.500 33.226 横向偏距 高程-1表示高程计算关闭 DL=895.841 平距 5°51′54.84″ 水平角(方位角) 四、坐标正算 FileName: OPTION Cls: Norm1 Z[C+3]→W: 180W÷π°→I: "JJ"? I: Iπ÷180→W: W→Z[C+3]设置坐标横向角度 Z[C+13]→I: "GCJS-ON"? I: I→Z[C+13]高程计算开关,1为开 Z[C+12]→I: "SRIN-ON"? I: I→Z[C+12]智能短数输入开关,1开 JJ? 输入90 GCJS-ON? 输入1打开高程计算功能,如果不需要高程计算请输入0 SRIN-ON? 输入1打开智能短数输入功能,如果不需要请输入0 一口气输完以下三个程序 FileName: READDATA平曲线分段要素读取程序1 Z[C+30]→F If G>MAndG ThenReturn注意090808高显处加入的 Else Lbl1搜索要素 IfG Then If-1=Z[F]: ThenCls: "MIN": GotoE: IfEnd: F-7→F: Goto1 ElseIfG>Z[F+8]: ThenIf1=Z[F+1]: ThenCls: "MAX": GotoE: IfEnd: F+7→F: Goto1: ElseGoto2 IfEnd IfEnd Lbl2 F→Z[C+30] Z[F+1]→M 当前分段要素起点桩号 Z[F+2]→N 当前分段要素N坐标 Z[F+3]→E 当前分段要素E坐标 Z[F+4]→H 当前分段要素起点方位角(正北) Z[F+5]→A 当前分段要素起点曲率有左偏负右偏正(注意不半径) Z[F+6]→R当前分段要素终点曲率有左偏负右偏正(注意不半径) Z[F+8]-Z[F+1]→L当前分段要素长度 IfN+E+H+A+R+L≠Z[F+7]: ThenProg"DATASET": Stop: IFEnd Return IfEnd LblE "PQX-ERROR" Stop FileName: ZBJS坐标计算程序 Prog"READDATA" Rad G-M→Q IFAR=0: ThenIfA=R: Then1→J: Else3→J: IfEnd: ElseIfA=R: Then2→J: Else3→ J: IfEnd: IfEnd判断线元类型 IfJ=1: ThenH→F: N+QCos(H)→X: E+QSin(H)→Y: IfEnd直线段直接计算 IfJ=2: ThenH+QR→F: Rec(Abs(2Sin(Abs(0.5QR))÷R),H+QR÷2): N+I→X: E+J→Y: IfEnd圆弧段直 接计算 IfJ=3: ThenGoto5: IfEnd X+BCos(F+W)→X Y+BSin(F+W)→Y Return Lbl5用五点通用坐标计算计算缓和段 0.5(R-A)÷L→K AQ→I KQ2→J 0.0469100770→P: H+IP+JP2→O 0.2307653449→P: H+IP+JP2→T 0.5→P: H+IP+JP2→D 0.7692346551→P: H+IP+JP2→F 0.9530899230→P: H+IP+JP2→P 0.1184634425→I 0.2393143352→J 0.2844444444→Y N+Q(ICos(O)+JCos(T)+YCos(D)+JCos(F)+ICos(P))→X E+Q(ISin(O)+JSin(T)+YSin(D)+JSin(F)+ISin(P))→Y H+AQ+KQ2→F X+BCos(F+W)→X Y+BSin(F+W)→Y Return FileName: GCJS 高程计算 -1→Z Z[C+13]≠1=>Return Z[C+31]→D LblS D→Z[C+31] Z[D+1]→O Z[D+5]→T Z[D-3]→I Z[D+4]→J Z[D+2]→Z Z[D+3]→P Z[D+6]→K IfO+T+I+J+Z+P+K≠Z[D+7]: ThenCls: "DATA": GotoE: IfEnd G-O→Q IfAbs(Q)>T: Then IfQ<0: Then IfG>Z[D-6]+Z[D-2]: ThenZ+QI→Z: Return: IfEnd If-1=Z[D-4]: ThenCls: "MIN": GotoE: IfEnd D-7→D: GotoS Else IfG ThenZ+QJ→Z: Return: IfEnd If1=Z[D+10]: ThenCls: "MAX": GotoE: IfEnd D+7→D: GotoS IfEnd Else IfQ<0: Then Z+QI+K(T+Q)2÷2÷P→Z: Return Else Z+QJ+K(T-Q)2÷2÷P→Z: Return IfEnd IfEnd LblE "SQX-ERROR" 0→Z Stop FileName: INZHANDZBJS //: 桩号、横距输入程序,桩号输入-2进入工作设置: // LblS Cls: Norm1 Z[C+1]→G: "ZH"? G;桩求桩号 G<0=>Goto1 G→Z[C+1] Z[C+2]→B: "JL"? B;输入横向距离 B→Z[C+2] Prog"ZBJS" Prog"GCJS" Return Lbl1 IfG=-2: ThenProg"OPTION": IfEnd GotoS 到此完成了坐标正算了,运行DISPLAYXYZ 按住“9”约0.5秒 XLSEC? 输入1 按住F2约0.5秒, ZH? 待计算桩号输入1230 JL? 待计算桩号的横向偏距6.25 将得到以下界面 ZH=1230桩号 N=3887.750X坐标 E=3974.072Y坐标 Z33.2266.25高程横向偏距 再按住F2约0.5秒 ZH? 待计算桩号输入-2 JJ? 输入90 GCJS-ON? 输入0 SRIN-ON? 输入1 ZH? 待计算桩号输入1230 JL? 待计算桩号的横向偏距6.25 将得到以下界面 ZH=1230桩号 N=3887.750X坐标 E=3974.072Y坐标 Z-16.25高程横向偏距-1是表示高程计算已经关闭 如果要计算线路2 按住“9” XLSEC? 输入2 五、主显示与定义热键 FileName: KEYLOCK 1000→J;无按键时间,5800设1000时大约为50秒。 LblS 0→I Do: I+1→I: I≥J=>GotoE: LpWhileNot(Getkey=25OrGetkey=26OrGetkey=27OrGetkey=57OrGetkey=73OrGetkey=33) Getkey=73=>Stop;停止全部程序 Getkey=0=>GotoS Getkey→I: Return LblE 57→I: Retrutn;默认按键值为F4 运行KEYLOCK屏幕右上角有一实心方框,键盘将被锁定, “0”,“.”,“x10x”,“(-)”“9”“EXIT”,“AC/ON”,“EXE”可以使用 当按住“0”约0.5秒得到一个数25,为了方便说明程序,以后的程序起别名为F1 当按住“.”约0.5秒得到一个数26,为了方便说明程序,以后的程序起别名为F2 当按住“x10x”约0.5秒得到一个数27,为了方便说明程序,以后的程序起别名为F3 当按住“(-)”约0.5秒得到一个数57,为了方便说明程序,以后的程序起别名为F4 当按住“EXE”约0.5秒得到一个数47 当按住“9”约0.5秒得到一个数33 不按任何键大约50秒左右程序得一个数57 FileName: DISPLAYXYZ LblS: Cls: Fix3 "ZH=": Locate4,1,G "N=": Locate3,2,X "E=": Locate3,3,Y "Z": Locate2,4,Z Locate10,4,B Prog"KEYLOCK" IfI=25: ThenProg"TURNZH": Prog"GCJS": GotoS: IfEnd;定义F1功能 IfI=26: ThenProg"INZHANDZBJS": GotoS: IfEnd;定义F2功能 IfI=27: ThenProg"DISPLAYFWJ": GotoS: IfEnd;定义F3功能 IfI=57: ThenReturn: IfEnd;定义F4功能 IfI=33: ThenProg"XLSEC": GotoS: IfEnd 本程序为标准显示程序,显示: 桩号,N,E,Z,横向偏移。 热键功能 F1快捷坐标反算 F2快捷坐标正算 F3显示,方位角,平距 F4返回 9线路选择 当然此时如果你还没有输入坐标正反算等程序,按这些键都将得到一个“GoERROR"错误,别急,下一篇就开始计坐标正算了。 六、要素输入 FileName: DATASET //: 设要素// Norm1 Prog"OFFSET" LblS Prog"XLSEC" 0→I: "1PQX,2SQX"? I;1输入平曲线要素,2输入竖曲线要素 I≠0=>Prog"DATALOCK" Cls: I=0=>Stop I=1=>Goto1 I=2=>Goto2 Stop Lbl1 Z[C+6]+1→F -1→Z[F]平曲线起点标志 For1→JToZ[C+8] Cls: "PQX": Locate9,1,J Z[F+1]→M: "SZH"? M: M→Z[F+1] 当前分段要素起点桩号 J>1=>Z[F]+M→Z[F]◢简单检错码 Z[F+2]→N: ? N: N→Z[F+2] 当前分段要素N坐标 Z[F+3]→E: ? E: E→Z[F+3] 当前分段要素E坐标 180Z[F+4]÷π→H "SFWJ"? H: Hπ÷180→H: H→Z[F+4] 当前分段要素起点方位角(正北)单位: 度分秒 Z[F+5]→A: "SR-1"? A: A→Z[F+5] 当前分段要素起点曲率有左偏负右偏正(注意是半径的倒数) Z[F+6]→R: "ER-1"? R: R→Z[F+6] 当前分段要素终点曲率有左偏负右偏正(注意是半径倒数) N+E-M+H+A+R→Z[F+7] 简单检错码 F+7→F Next Z[F+1]→M: "EZH"? M: M→Z[F+1] 终点桩号 Z[F]+M→Z[F]◢简单检错码 1→Z[F+2]平曲线终点标志 GotoS Lbi2;竖曲线要素输入部分 Z[C+7]→D -1→Z[D+3] 0→Z[D+5] 0→Z[D+6] 0→Z[D+7]竖曲线起点标志 For1→JToZ[C+9] Cls: "SQX": Locate9,1,J Z[D+1]→I: "BPDZH"? I: I→Z[D+1];请输入变坡点桩号 Z[D+2]→K: "BPDGC"? K: K→Z[D+2];请输入变坡点高程 Z[D+3]→R: ? R: R→Z[D+3];请输入半径R J>1=>(K-Z[D-5])/(I-Z[D-6])→Z[D-3]计算坡度 IfJ>2: Then Z[D-4]Abs(Z[D-10]-Z[D-3])÷2→Z[D-2]计算切线长 1→Z[D-1] Z[D-10]-Z[D-3]>0=>-1→Z[D-1] Z[D-10]+Z[D-6]+Z[D-5]+Z[D-4]+Z[D-3]+Z[D-2]+Z[D-1]→Z[D]简单检错码 IfEnd D+7→D Next 1→Z[D-4]竖曲线终点标志 0→Z[D-3] 0→Z[D-2] 0→Z[D-1] 0→Z[D] Goto
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 5800 多线版 解析