您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > fx-9860G基于串列的便携编程数字化计算原理与实现方法
fx-9860G基于串列的便携编程数字化计算原理与实现方法*覃辉qh-506@163.com摘要:应用卡西欧新型图形编程计算器fx-9860GSD,提出了基于串列的编程方法。程序能自动读取预先存储在串列中的已知数据与测量数据,计算结果存入其余串列中,程序运行结束后,将串列文件下传到通讯软件FA-124并输出为扩展名为CSV的逗号分隔文件,在PC机中运行成果整理程序,自动将CSV格式文件整理成一系列文本格式成果文件,实现了便携机编程计算的数字化。关键词:数字化测量计算;fx-9860GSD;串列;矩阵;数据通讯;PC机成果整理程序1测量便携编程机计算的历史测量的野外作业环境造就了对便携编程计算机的天然需求。最早引入我国并对测量便携编程计算产生深远影响的计算机是PC-1500。PC-1500于80年代初进入我国市场,当时的IBMPC机上市不久,售价上万元,国内的工资收水平入决定了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完全相同。文献[2][3][4]的出版加速了fx-4800P在测量工程计算领域的普及速度,文献[5]将fx-4800P的应用渗透到了测量教学的各章节中,给fx-4800P在高校测量教学中的应用铺平了道路。近几年,fx-4800P的销量一路高涨,整个4000系列机2005年在中国市场的销量接近9万台就是一个重要的佐证。fx-4800P的精简类BASIC语言仅有赋值语句=,__________无条件转移语句Lbl~Goto,条件转移语句~~,计数转移语句Isz和Dsz,调用子程序语句Prog,连BASIC语言中最常用的循环语句For-To-Next都省略了,它是将PC机的BASIC语言精简到极致的程序语言,其优点是语句少,便于学习掌握,很适合于编写小型程序。当使用fx-4800P编写稍大且结构复杂的程序时,就需要频繁地使用无条件转移语句Lbl~Goto,过多的无条件转移语句将使编写的程序变得较难阅读。例如,我们根据收集到的读者信息了解到,文献[4]的基本型路线平曲线中边桩坐标计算程序HQCS就很少有读者读懂了。就算是作者本人,过一段时间再去读该程序都很费时间。这不是程序结构设计有问题,而是fx-4800P的类BASIC语言的语句太少所致。fx-4800P没有数据通讯口,机器内的程序只能由用户通过按键一步一步地输入,程序计算的成果也只能由用户手工抄录,这给程序与数据的存储及交流设置了无法越愈的障碍,也使过去用贯了PC-E500的用户感到很不适应。fx-4800P的上述缺陷决定了它只能满足测量便携计算的低端需求,离替代PC-E500的功能还有遥远的距离,这也是在fx-4800P有如此大销量的情况下,二手翻新PC-E500机仍有巨大市场需求的重要原因。3矩阵串列编程计算器—fx-9860GSD图1所示的fx-9860GSD是卡西欧公司于2006年10月最新引入中国市场的一款高端矩阵串列编程计算器,与fx-4800P比较,它有如下特点:1)绘函数坐标图功能。2)绘数表函数与统计图功能。3)能直接对矩阵进行连续的+,-,×,转置,行列式,赋值与求逆等运算,最多可以求250×250阶非奇异方阵的逆阵。34)内置6个串列文件,每个串列文件又内置26个串列,用户可用最大串列数达6×26=156个。5)类BASIC结构化程序语言,易学易用,编写的程序易于阅读。6)类似于Excel的电子表格功能。7)具有62.2KB主内存,1.5MB存储器内存,可以插32MB~1GB的标准SD卡作为外存储器。8)28个字母寄存器与多种类型的答案寄存器。9)使用随机标配的SB-623Pin数据线连接两台计算器的3Pin口,可以在两台fx-9860GSD间进行数据通讯。(10)使用随机标配的USB口数据线连接fx-9860GSD与PC机的USB口,使用数据通讯软件FA-124可在PC机与计算器间进行数据通讯,可以在FA-124中编写程序并上传到fx-9860GSD主内存中,提高了输入与编辑程序的效率。11)在PC机中直接释放SD卡中的打包数据文件。(1)串列功能串列类似于PC机BASIC语言的数组,fx-9860GSD内置了File1~File6六个串列文件,每个串列文件包含List1~List26二十六个串列,与数组的使用规则相同,使用串列存取数据前需要先定义其维数,每个串列单元都是使用12字节存储一个15位尾数加2位指数的高精度数值。由于系统定制的串列函数Fill,Seq,Min,Max,Mean,Median,SortA,SortD可以对串列进行操作,所以串列具有比数组更强大的功能。例如MinList20为返回串列List20的最小值,MeanList23为返回串列List23的平均值,SortAList24为返回串列List24排升序的结果等等,这些功能在PC机的BASIC语言中需要使用算法编程实现。使用数据线连接好fx-9860GSD与PC机的通讯口,应用通讯软件FA-124可以将fx-9860GSD内存中的串列数据下传到FA-124中,并输出为.CSV格式的逗号分隔文件保存,用户可以使用Excel软件打开该文件。编写测量计算程序时,如果将程序计算所需的已知数据与计算结果存储在串列中,程序计算完成后,使用PC机的成果整理程序从.CSV格式的逗号分隔文件中读取数据,就可以根据计算的需要将其整理成文本格式文件,供打印、存档或CASS坐标展点及上传到全站仪内存使用,从而实现便携机计算的数字化。这是本文提出的一个非常重要的编程理念。(2)结构化类BASIC语言与fx-4800P的类BASIC语言比较,fx-9860GSD的赋值语句由=改为了;子程序中必须有一条Return语句控制返回调用主程序,而fx-4800P不需要;条件转移语句由~~改为更简单、功能更少的,这是因为fx-9860GSD新增了功能更强的结构化条件语句If~Then~Else~IfEnd。计数转移语句Isz,Dsz仍然保留。fx-9860GSD新增了下面两类重要的语句,它是构成fx-9860GSD结构化类BASIC语言的重要基础。图1fx-9860GSD的键面与主菜单图2用SB-62数据线连接两台fx-9860GSD41)条件语句:If~Then~Else~IfEnd2)循环语句:For~To~Step~Next;Do~LpWhile;While~WhileEnd下面我们用一个程序案例来说明fx-4800P与fx-9860GSD程序编写方法的差异。计算一个起点至任意个端点方向的边长与坐标方位角。fx-4800P程序,程序名:DB4800AX0=:BY0=提示输入起点的坐标Lbl0:{XY}循环提示输入端点的坐标C=X-A:D=Y-B计算起点至端点的坐标差Pol(C,D)使用极坐标函数计算J0T=J+360:T=J计算方位角DIST=:I显示起点至端点的边长BEAR=:T显示起点至端点的方位角Z1CONT,ELSESTOP输入是否计算下一个端点的控制数值Z=1Goto0:END控制数值为1时继续,为其余任意数值终止fx-9860GSD程序,程序名:DB9860X0(m)=?A:Y0(m)=?B提示输入起点的坐标Do循环语句Xi(m)=?X:Yi(m)=?Y提示输入端点的坐标X-AC:Y-BD计算起点至端点的坐标差Pol(C,D)使用极坐标函数计算IfListAns[2]0:ThenListAns[2]+360T:ElseListAns[2]T:IfEndDist(m)=:ListAns[1]显示起点至端点的边长Bear(DMS)=:T显示起点至端点的方位角Cont(1),Stop(Else)=?Z输入是否计算下一个端点的控制数值LpWhileZ=1控制数值为1时继续Do循环,否则结束程序DB9860End使用上述程序计算起点1至端点2,3,4,5的边长与方位角的结果列于表1,两个程序计算出的结果完全相同。表1计算起点1至2,3,4,5端点的边长与方位角起点x(m)y(m)端点x(m)y(m)Dist(m)Bear(d)1001194.8612325.8205031413.1992063.384341.386309.75932725041556.7422096.739428.294327.66502235051497.772235
本文标题:fx-9860G基于串列的便携编程数字化计算原理与实现方法
链接地址:https://www.777doc.com/doc-2874304 .html