已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
fx-9860G 基于串列的便携编程数字化计算原理与实现方法*覃 辉 摘要: 应用卡西欧新型图形编程计算器fx-9860G SD,提出了基于串列的编程方法。程序能自动读取预先存储在串列中的已知数据与测量数据,计算结果存入其余串列中,程序运行结束后,将串列文件下传到通讯软件FA-124 并输出为扩展名为CSV 的逗号分隔文件,在PC 机中运行成果整理程序,自动将CSV 格式文件整理成一系列文本格式成果文件,实现了便携机编程计算的数字化。关键词: 数字化测量计算;fx-9860G SD;串列;矩阵;数据通讯;PC 机成果整理程序1 测量便携编程机计算的历史测量的野外作业环境造就了对便携编程计算机的天然需求。最早引入我国并对测量便携编程计算产生深远影响的计算机是PC-1500。PC-1500 于80 年代初进入我国市场,当时的IBM PC 机上市不久,售价上万元,国内的工资收水平入决定了PC 机当时只能是少数单位购买少量台套数供养在安装了空调机房里集中使用的贵重产品,PC 机离真正的个人机并得到普及还有遥远的距离。而PC-1500 机1500 元左右的售价,体积小、对使用环境要求低的便携性极大地刺激了人们的计算消费需求,文献1的出版更加速了PC-1500 机在测量计算中应用的前进步伐。PC-1500 机的固有缺陷是:程序只能记录在磁带上,存取程序的时间太长,磁带容易发霉,不易保存,可靠性低,不能与PC 机进行数据通讯。为此夏普公司于1991 年推出了PC-1500 机的换代机型PC-E500,PC-E500 基本克服了PC-1500 的缺陷,增加了一个标准RS-232C 口及相应的通讯语句,能与PC 机或其它外设进行数据通讯。PC-E500 原厂内存只有32KB,解决了扩容技术难题后最多可以增加到256KB,国内一些测绘公司将自主研发的常用测量记录计算程序固化到ROM 中捆绑销售。由于90 年代初出产的主流全站仪都没有内存,自身不能记忆观测数据,需要借用外挂设备存储数据,用PC-E500 作为全站仪的外业手薄也为PC-E500 找到了一个巨大的应用空间;加上PC-E500 相对低廉的售价使PC-E500 在测量中的应用迅速形成气候,并顺理成章地成为PC-1500 的替代机型。20 世纪末,随着闪存技术的成熟及制造成本的不断下降,主流全站仪开始自带内存,从上世纪90 年代末能存储2000 个点的观测数据发展到现在插一块2GB 的SD 卡存储海量观测数据,将PC-E500 作为全站仪外挂存储器的应用领域自然消失,但在测量便携机计算领域,PC-E500仍然具有强大的生命力。随着 PC 兼容机及笔记本电脑制造成本的下降、应用软件的不断丰富、互联网推动PC 机应用领域的不断扩展等都刺激了PC 机的普及速度。这使得只有单一BASIC 语言功能的PC-E500遭遇发展中的天花板已成必然,PC-E500 在世界市场的萎缩已不可逆转,这也是夏普公司于2003年停产PC-E500 的重要原因。在我国的测量计算领域,虽然PC-E500 仍然具有较大市场需求空间,但中国市场每年区区数千台的销量显然维持不了夏普生产线的正常运转。现在中国市场上销售的PC-E500 主要是从某些贸易公司从日本中学生手中收购的二手翻新机。无论 PC 机如何发展,只要它的功能与性价比满足不了测量野外便携计算的需求,便携机的需求就始终存在,不会消失。在世界便携机计算器制造领域,无论从技术水平、产品线还是销量,卡西欧公司一直位居龙头老大的地位。但在20 世纪末,由于卡西欧公司对中国市场的重视程度远不及夏普公司,从而给了夏普公司在中国近20 年蜜月般的黄金发展期。2 便携编程机计算的现状测量野外需求的多样性与复杂性,造就了测量便携编程机计算鲜明的个性化特点。测量技术人员在工作中遇到的共性计算问题一般都可以使用商业计算软件解决,但许多个性化计算问题是商业计算软件无法企及的,这就需要测量人员根据计算的数学模型与具体需求,自己动手编写程序进行计算。这也是在基于PC 机的商业测量计算软件较发达的今天,掌握一款便携机程序语言进行编程计算仍有广泛市场需求的重要原因。PC-1500 与PC-E500 在测量行业的成功应用证明,作为一名测量工程技术人员,如果不掌握一种便携机语言,要想提高野外工作的效率几乎寸步难行。2以2003 年夏普公司停产PC-E500 并退出便携机制造领域为契机,卡西欧公司开始发力中国市场,其首打产品是它的工程机fx-4800P。fx-4800P 除具有普通计算器的全部功能外,还内置最精简的类BASIC 语言,具有26 个标准变量与可定义的扩充变量,内存4.4KB,可以按文件名存储程序文件,允许主程序调用子程序。fx-4850P 是将fx-4800P 的内存扩充到27.8KB 的改进产品,其核心技术与fx-4800P 完全相同。文献234的出版加速了fx-4800P 在测量工程计算领域的普及速度,文献5将fx-4800P的应用渗透到了测量教学的各章节中,给fx-4800P 在高校测量教学中的应用铺平了道路。近几年,fx-4800P 的销量一路高涨,整个4000 系列机2005 年在中国市场的销量接近9 万台就是一个重要的佐证。fx-4800P 的精简类BASIC 语言仅有赋值语句=,_无条件转移语句LblGoto,条件转移语句 ,计数转移语句Isz 和Dsz,调用子程序语句Prog,连BASIC 语言中最常用的循环语句For-To-Next 都省略了,它是将PC 机的BASIC 语言精简到极致的程序语言,其优点是语句少,便于学习掌握,很适合于编写小型程序。当使用fx-4800P 编写稍大且结构复杂的程序时,就需要频繁地使用无条件转移语句LblGoto,过多的无条件转移语句将使编写的程序变得较难阅读。例如,我们根据收集到的读者信息了解到,文献4的基本型路线平曲线中边桩坐标计算程序HQCS 就很少有读者读懂了。就算是作者本人,过一段时间再去读该程序都很费时间。这不是程序结构设计有问题,而是fx-4800P 的类BASIC 语言的语句太少所致。fx-4800P 没有数据通讯口,机器内的程序只能由用户通过按键一步一步地输入,程序计算的成果也只能由用户手工抄录,这给程序与数据的存储及交流设置了无法越愈的障碍,也使过去用贯了PC-E500 的用户感到很不适应。fx-4800P 的上述缺陷决定了它只能满足测量便携计算的低端需求,离替代PC-E500 的功能还有遥远的距离,这也是在fx-4800P 有如此大销量的情况下,二手翻新PC-E500 机仍有巨大市场需求的重要原因。3 矩阵串列编程计算器fx-9860G SD图 1 所示的fx-9860G SD 是卡西欧公司于2006 年10 月最新引入中国市场的一款高端矩阵串列编程计算器,与fx-4800P 比较,它有如下特点:1) 绘函数坐标图功能。2) 绘数表函数与统计图功能。3) 能直接对矩阵进行连续的,转置,行列式,赋值与求逆等运算,最多可以求250250 阶非奇异方阵的逆阵。34) 内置6 个串列文件,每个串列文件又内置26 个串列,用户可用最大串列数达626=156 个。5 ) 类BASIC 结构化程序语言,易学易用,编写的程序易于阅读。6) 类似于Excel 的电子表格功能。7) 具有62.2KB 主内存,1.5MB 存储器内存,可以插32MB1GB 的标准SD 卡作为外存储器。8) 28 个字母寄存器与多种类型的答案寄存器。9) 使用随机标配的SB-62 3Pin 数据线连接两台计算器的3Pin 口, 可以在两台fx-9860G SD 间进行数据通讯。(10) 使用随机标配的USB口数据线连接fx-9860G SD 与PC 机的USB 口,使用数据通讯软件FA-124 可在PC 机与计算器间进行数据通讯,可以在FA-124 中编写程序并上传到fx-9860G SD 主内存中,提高了输入与编辑程序的效率。11) 在PC 机中直接释放SD 卡中的打包数据文件。(1) 串列功能串列类似于 PC 机BASIC 语言的数组,fx-9860G SD 内置了File 1File 6 六个串列文件,每个串列文件包含List 1List 26 二十六个串列,与数组的使用规则相同,使用串列存取数据前需要先定义其维数,每个串列单元都是使用12 字节存储一个15 位尾数加2 位指数的高精度数值。由于系统定制的串列函数Fill,Seq,Min,Max,Mean,Median,SortA,SortD可以对串列进行操作,所以串列具有比数组更强大的功能。例如Min List 20 为返回串列List 20 的最小值,Mean List 23 为返回串列List 23 的平均值,SortA List 24 为返回串列List 24 排升序的结果等等,这些功能在PC 机的BASIC 语言中需要使用算法编程实现。使用数据线连接好fx-9860G SD 与PC机的通讯口,应用通讯软件FA-124 可以将fx-9860G SD 内存中的串列数据下传到FA-124 中,并输出为.CSV 格式的逗号分隔文件保存,用户可以使用Excel 软件打开该文件。编写测量计算程序时,如果将程序计算所需的已知数据与计算结果存储在串列中,程序计算完成后,使用PC 机的成果整理程序从.CSV 格式的逗号分隔文件中读取数据,就可以根据计算的需要将其整理成文本格式文件,供打印、存档或CASS 坐标展点及上传到全站仪内存使用,从而实现便携机计算的数字化。这是本文提出的一个非常重要的编程理念。(2) 结构化类BASIC 语言与 fx-4800P 的类BASIC 语言比较,fx-9860G SD 的赋值语句由=改为了;子程序中必须有一条Return 语句控制返回调用主程序,而fx-4800P 不需要;条件转移语句由 改为更简单、功能更少的,这是因为fx-9860G SD 新增了功能更强的结构化条件语句IfThenElseIfEnd。计数转移语句Isz,Dsz 仍然保留。fx-9860G SD 新增了下面两类重要的语句,它是构成fx-9860G SD 结构化类BASIC 语言的重要基础。图 1 fx-9860G SD 的键面与主菜单图 2 用SB-62 数据线连接两台fx-9860G SD41) 条件语句:IfThenElseIfEnd2) 循环语句:ForToStepNext;DoLpWhile;WhileWhileEnd下面我们用一个程序案例来说明fx-4800P 与fx-9860G SD 程序编写方法的差异。计算一个起点至任意个端点方向的边长与坐标方位角。fx-4800P 程序,程序名:DB4800AX0=: BY0= 提示输入起点的坐标Lbl 0:XY 循环提示输入端点的坐标C=X-A:D=Y-B 计算起点至端点的坐标差Pol(C,D) 使用极坐标函数计算J0 T=J+360: T=J 计算方位角DIST=:I 显示起点至端点的边长BEAR=:T 显示起点至端点的方位角Z1 CONT,ELSE STOP 输入是否计算下一个端点的控制数值Z=1 Goto 0: END 控制数值为1 时继续,为其余任意数值终止fx-9860G SD 程序,程序名:DB9860X0(m)=? A:Y0(m)=? B 提示输入起点的坐标Do 循环语句Xi(m)=? X:Yi(m)=? Y 提示输入端点的坐标X-A C:Y-B D 计算起点至端点的坐标差Pol(C,D) 使用极坐标函数计算If List Ans20:Then List Ans2+360 T:Else List Ans2 T:IfEndDist(m)=:List Ans1 显示起点至端点的边长Bear(DMS)=:T 显示起点至端点的方位角Cont(1),Stop(Else)=? Z 输入是否计算下一个端点的控制数值LpWhile Z=1 控制数值为1 时继续Do 循环,否则结束程序DB9860 End使用上述程序计算起点1 至端点2,3,4,5 的边长与方位角的结果列于表1,两个程序计算出的结果完全相同。表 1 计算起点1 至2,3,4,5 端点的边长与方位角起点 x(m) y(m) 端点 x(m) y(m) Dist(m) Bear(d)100 1194.861 2325.820 503 1413.199 2063.384 341.386 309.7593272504 1556.742 2096.739 428.294 327.6650223505 1497.772 2350.511 303.916 4.660013434506 1354.229 2317.156 156.603 356.8881931在程序DB4800 中,极坐标函数Pol(C,D)计算出的边长存储在I 变量、角度存储在J 变量,无论Pol(C,D)函数后是否有显示命令,都将自动显示计算结果I 与J 的值。而在程序DB9860中,极坐标函数Pol(C,D)计算出的边长存储在答案串列List Ans1、角度存储在答案串列ListAns2中,当Pol(C,D)后没有显示命令时,不显示计算结果。图 3 用随机标配的USB 口数据线连接fx-9860G SD 与PC 机5比较上述两个程序容易发现,DB9860 的程序结构比DB4800 的程序结构更加清晰;比较两个程序的运行结果可以发现,无论是输入数据还是输出计算结果,fx-4800P 有许多重复显示,而fx-9860G SD 没有这些问题,屏幕显示的输入输出数据内容非常干净。(3) 数据通讯fx-9860G SD 数据通讯的数据类型包括程序、矩阵数据、串列数据、统计数据、电子表格数据、图表数据、26 个字母变量等。数据通讯在两台fx-9860G SD 间进行时,需要用SB-62 数据线连接两台fx-9860G SD 的通讯口,如图2 所示,也通过SD 卡传输数据。数据通讯在fx-9860GSD 与PC 机间进行时,需要使用随机标配的USB 口数据线,通过通讯软件FA-124 进行。4 基于串列的数字化编程计算原理与实现方法可以将任何一个计算程序看作为输入/输出处理器,运行程序时,要求输入程序计算所需要的已知数据,程序对已知数据处理后输出计算结果。因此,数据输入输出方式的选择将对程序的使用效率产生影响。在程序 DB4800 中,用户只能通过屏幕对话的方式输入已知数据,计算器也只能以屏幕显示的方式输出计算结果,没有其他选择,DB9860 程序也是使用DB4800 的输入输出数据方式。以屏幕对话方式输入数据的缺点是,当需要重复计算前一个点的边长与方位角时,需要重复前已输入过的数据;屏幕动态显示输出的计算结果需要用户及时抄录,否则后面计算出的结果将覆盖前已计算的结果。下列程序 DBL9860 是假设起点的点号、x 坐标、y 坐标分别存储在串列单元List 11,List12,List 13中,List 2,List 3,List 4 分别存储端点点号、x 坐标、y 坐标,计算出的边长存储在List 5 中,方位角存储在List 6 中,串列规划列于表2。表2 程序DBL9860 的串列规划行号 List 1 List 2 List 3 List 4 List 5 List 61 100 503 1413.199 2063.384 341.386 309.75932722 1194.861 504 1556.742 2096.739 428.294 327.66502233 2325.820 505 1497.772 2350.511 303.916 4.6600134344 506 1354.229 2317.156 156.603 356.8881931程序名:DBL9860Distant and bearing of side. 显示程序计算标题Norm 1:Dim List 2 N 计算端点的个数N Dim List 5:N Dim List 6 定义存储计算结果串列维数End Point num=:N 显示端点数Start List 10:EndP List 20 为起点与端点串列赋子名Px(m) List 30:Py(m) List 40 为端点坐标串列赋子名Dist(m) List 50: Bear(m) List 60 为平距与方位角串列赋子名For 1 I To N 循环计算起点至端点平距与方位角List 3I-List 12 C:List 4I-List 13 D 计算起点至端点的坐标差Pol(C,D) 使用极坐标函数计算List Ans1 List 5I 输出边长结果到串列单元If List Ans20:Then List Ans2+360 List 6I:Else List Ans2 List 6I:IfEndNextSide(m) List 5 显示边长存储在List 5Bearing(Deg) List 6 显示方位角存储在List 6DBL9860 End程序运行前,先按键进入STAT 模式,按照表2 的要求在List 1List 4 输入已知数据,结果见图4 中图所示。按键进入PRGM 模式,选择运行DBL9860 程序,用户不需要输入任何数据即可完成计算,屏幕显示结果见图4 左图所示。再按键进入STAT 模式,查看List 5 与List 6 的计算结果,见图4 右图所示。与程序 DB9860 动态显示计算结果比较,程序DBL9860 计算的边长与方位角结果静态地保存在串列List 5 与List 6 中,可以进入STAT 模式随时查阅。用户可以随时根据需要方便地编6辑起点与端点的坐标,也可以随意删除或添加端点的坐标,完成已知数据的编辑后,只需运行一次DBL9860 程序就可以在串列List 5 与List 6 中获得修改后的计算结果。通过串列静态输出计算结果的另一个好处是,可以将当前串列文件的数据下传到FA-124 中,再将其输出为filen.CSV 逗号分隔文件(n=16),使用PC 机程序语言编写一个成果整理程序,通过从filen.CSV 文件中读取数据,并整理输出一个文本格式文件供存档或打印,输出一个坐标文件供CASS 展点,从而实现便携机编程计算的数字化。图 5 为成果整理程序DBL9860.exe 的运行界面,它采用True BASIC 语言编写,将源程序编译并汇编后生成的.exe 格式可执行程序文件可以在任意版本的Windows 中运行。运行DBL9860.exe 时,用户只需要输入路径与串列文件名后按回车键,即可在同路径下扩展名为.txt 的成果文件与扩展名为.dat 的坐标数据文件,这两个文件的部分内容见图6 所示。5 便携机数字化测量记录计算程序的研发基于串列的测量计算程序DBL9860.g1m 与成果整理程序DBL9860.exe 配合使用,实现了便携编程的数字化测量计算。按基于串列的编程原理编写的下列常用测量计算程序放置在文献8的随书赠送程序光盘中:1) 高斯投影正算、反算、换带计算与成果整理程序(P6.g1m /G6.exe )2) 高斯平面坐标系正形变换与成果整理程序(P7.g1m /G7.exe )3) 单一图根导线近似平差计算与成果整理程序(P8.g1m /G8.exe )4) 单一闭附合等级导线条件平差计算与成果整理程序(P9.g1m /G9.exe )5) 多点测角后方交会坐标计算与成果整理程序(P10.g1m /G10.exe )6) 水_准网间接平差计算与成果整理程序(P11.g1m /G11.exe )7) 顾及加宽的单圆曲线中边桩坐标计算与成果整理程序(P12.g1m /G12.exe )8) 顾及加宽的非对称基本型曲线中边桩坐标计算与成果整理程序(P13.g1m /G13.exe )我们还将基于串列的编程原理应用于测量记录程序中,实现了野外的数字化记录,主要程序图 4 程序DBL9860 运行提示与串列结果总表图 5 成果整理程序DBL9860.exe 的运行界面图 6 成果文件DBL9860.txt 与坐标数据文件DBL9860.dat 的内容7如下:1) 解析测图法碎部测量记录与成果整理程序(P1.g1m /G1.exe )2) 一、二等水准测量记录与成果整理程序(P2.g1m /G2.exe )3) 中丝读数法的三、四等水
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年潮州辅警协警招聘考试备考题库及参考答案详解1套
- 2025年福州辅警协警招聘考试真题含答案详解(满分必刷)
- 2025年潍坊辅警协警招聘考试真题含答案详解(基础题)
- 2025办公室装修改造合同书
- 2025年锡林郭勒盟辅警协警招聘考试真题及完整答案详解一套
- 2025年锡林郭勒盟辅警招聘考试真题附答案详解ab卷
- 2025年舟山辅警协警招聘考试真题含答案详解
- 2025年齐齐哈尔辅警协警招聘考试真题含答案详解(满分必刷)
- 7月国开(中央电大)小教专科《现代教育思想》期末考试试题及答案
- 2025年淮安辅警协警招聘考试真题及答案详解(典优)
- 2024年长沙卫生职业学院单招职业技能测试题库附答案
- 模型思维(中文版)
- 35KV变电站继电保护课程设计
- 加油加气站日检查记录表2023年
- 《物业装修管理培训》课件
- 道德与法治课学情分析报告
- 护理安全警示教育课件
- 中建制冷机组设备吊装工程专项施工方案冷水机组运输及吊装方案
- 第一单元《口哨与小狗》(课件)人音版音乐一年级上册
- 油罐施工方案方案
- 财务管理实务(第二版)高职PPT完整版全套教学课件
评论
0/150
提交评论