摘要:本文对PC-1500机上高压送电线路电线力学计算程序进行了修改,并对把PC-1500机上的程序移植到微机上的方法和技巧进行了一些说明。 关键词:力学计算程序 电线状态方程式 修改 移植 Turbo Basic语言
PC-1500机由于它功能比较齐全,开发容易,使用简便,体积小,投资少,易学,见效快,在80年代比较流行,但随着计算机技术的发展和PC-1500机的自然损耗,微机将逐步取代PC-1500机。近年来各部门在PC-1500机上开发了许多优秀的程序,取得了可喜的成果和效益,如果把这些优秀程序充分利用起来,把它们移植到微机上加以使用,就可以加快计算机的应用步伐,取得事倍功半的效果。
电线力学计算是送电线路设计中最繁杂的一项工作,其内容包括:1、计算各控制条件之间的临界档距:2、判别有效临界档距;3、计算各种气象条件和不同档距下的电线应力、弧垂;4、计算各种代表档距下在不同气温时的电线应力、弧垂(即安装曲线)。这些工作完成之后,方能列出线路杆塔的荷重条件,继而进行杆塔结构计算。
本程序分程序一、程序二,程序一解决上述工作1、2、3;程序二解决工作4。
PC-1500机上电线力学程序的主要计算公式的解法及程序的错误。
电线状态方程式:就是从已知气象条件下的应力,求另一条件下应力的计算式,悬挂于两固定点间的导线,当气象条件发生变化时,导线的应力亦将随之变化。设已知气象条件下的温度为Tm,比载为Gm,此时应力为Sm,L为变量(档距),令待求气象条件下的温度是T,比载是Gn,应力是S,如何求得S呢?可用下面的导线的状态方程式对S求解
(1)
令上式中:
(2)
 把(2)代入(1)得:
(3)
式中S为待求应力,注脚m表示已知条件下的数值,注脚n表示待求条件下的数值。
人工计算时,先求出与每一L相对应的A、B值,然后用试算法求解上述三次方程。本方程系采用直接求解法,故将方程作以下变换:
对于 (4)
令 (5)
原方程化为 (6)
又令 (7)
得: (8)
于是  (9)
据韦达定理, 为二次方程: 的两个根 (10)
故: (11)
当 时
(12)
当 时,令:
(13)
时,
(14)
  时,
(15)
 根据以上公式算出各种控制条件下的应力S,然后又根据弧垂公式F=GL2/8S,得出各种控制条件下的弧垂F。这样就可计算各种代表档距下在不同温度时的电线应力、弧垂(即安装曲线)
而在PC-1500机输电线路力学计算程序编写中把判别式编写错了,
即:   时,
(16)

时,
(17)
 因判别式遍写错,故程序得出的应力(S)、弧垂(F)有误,计算出的安装曲线误差更大,不能用于设计,本程序不能用。我对这一程序进行了修改并把它成功地移植到微机中。在移植中,因PC-1500机上的Basic语言比较接近微机上的一般Basic语言,而Turbo Basic语言与一般Basic语言相比,是向下兼容的,即Turbo Basic语言包括一般 Basic语言,并所扩展,下面就移植过程中需要注意的一些问题作一些介绍。两种机型的Basic语言几乎是相同的,只是在语句中,微机的语句定义符(如IF、THEN、FOR、TO、STEP等)与前后部分的内容一般都用空格来分格开,以便与其它成分进行区别,而PC-1500机上没有这种要求,这是首先要注意的问题。
其次,在PC-1500机中,函数后所跟的自变量可以不用圆括号括起来,而在微机上函数后所跟的自变量必须用圆括号括起来,这也是必须引起注意的地方。
此外,常量、变量、语句、函数中,也有一些差别需求注意,下面分别进行说明。
常量:PC-1500机上有PI(丌)常量;微机上没有,只能用“3.1415927”这个具体的数来表示。变量:PC-1500机的变量用一个英文字母、或二个英文字母的组合,或一个英文字母加上一个数字的组合组成的字符串来表示;而微机则是作英文字母开头的字母串或字母数字串来表示变量名,这里需要说明的是,与语言定义符相同的字符串不能做变量名。赋值语句:LET…,PC-1500机在多个赋值语句之间可以用逗号“,”分隔,而微机上只能以冒号“:”分隔。在微机上,当赋值号“=”两边的数据类型不同时,自动转换成赋值号左边变量的数据类型。键盘输入语句:INPUT…,PC-1500机的INPUT语句中可以包括多个“说明”,用来说明每个等待输入的变量,微机上则只能有一个说明。对于PC-1500的输入语句,INPUT“说明”;变量,“说明”;变量,…的形式,在微机上可以改写为多个INPUT“说明”;变量语句来实现,也可以写为一个INPUT“说明”;变量,变量,…语句的形式。输出语句:PRINT/LPRINT;输出语句分屏幕显示输出语句PRINT,打印机打印输出语句LPRINT。PC-1500机显示输出语句PRINT会中断程序运行,一般需要与PAUSE语句、或WAIT语句配合使用,而微机的PRINT语句不会中断程序运行,则可以把PC-1500机中的PAUSE语句或WAIT语句直接删掉。在用USING定义的格式输出语句中,PC-1500机可以把USING作为一个定义格式的语句单独使用,而微机上则不能单独作为语句使用,只能配合PRINT(LPRINT)使用,即:PRINT USING“格式”;变量,变量,…。在输出语句中使用了TAB位置函数时,PC-1500机TAB后所跟的位置参数可以不用括号,而微机上TAB后所跟的位置参数必须用圆括号括起来,即要把TAB15改写为TAB(15)。清屏语句:CLS;PC-1500机屏幕只有一行,显示输出结果和信息时,需多次频繁地使用清屏语句,而微机屏幕共25行,一般情况下,只需在程序开头使用,PC-1500机程序中多余的清屏语句楞直接删除掉。条件语句:IF…THEN…;PC-1500机上IF…LET形式的语句,如果要在微机上使用,需改为IF…THEN或IF…THEN LET语句形式。循环语句:FOR…NEXT;两种机器语句形式基本相同,只是在执行FOR语句时,微机是先判别后循环,而PC-1500机是先循环,后判别。转移语句:GOTO…;PC-1500机GOTO语句后可以是表达式,而微机上只能跟行号。转子语句GOSUB之后在PC-1500机上可以是表达式或确定的行号。而微机上只能跟行号。
PC-1500机随机配CE-150绘图式打印机,具有绘图、打印两种功能,其绘图语句和部分打印语句与该打印有关,一般不能直接用于其它计算机上。由于微机用打印机绘图时,一般是采用拷贝屏幕的方式实现,因此,对于绘图语句,在移植程序时,由于实现方式不同,最好用注释语句注释起来,或者直接删除的办法处理。等程序初步调通后,再进一步考虑绘图功能的实现。
程序移植技巧
把PC-1500机程序移植到微机上使用,一般需要经过以下几个步骤:首先将PC-1500机与微机联机,通过RC-232串行口输入、或者手工键盘输入,把PC-1500机程序以ASCⅡ码形式存放在微机上,然后逐行检查程序,对需要注释或删除的语句(如显示绘图语句、绘图打印语句)先进行处理,对两种机器上有差异的语句、函数进行修改(如语句定义符加空格、函数加括号)。在这些工作做完后,就可以开始调试程序。在调试过程中,多输出一些中间结果,以便检查出错原因,直到算出正确的结果。
微机程序在初步调试通过后,可根据微机的特点,扩充程序功能,完善打印输出,增加和设计用户界面,直到编写出令人满意的程序为止。
总之,只要弄清楚了上面所叙述的两种计算机之间的语言差异,并在程序移植过程中加以注意,PC-1500机程序很容易就可以移植到微机上使用。本高压送电线路电线力学计算程序经修改、移植到微机中,现也通过算例,并可以用于设计了。
附修改、移植后的程序如下:
程序一:
1:CLS
2:LPRINT TAB(10); "高压送电线路力学计算程序计算结果"
3:INPUT "电线型号B$=";B$
4:INPUT "电线标称截面C$=";C$
6:LPRINT TAB (4);B$;"-"C$
8:LET K=50
9:LET D=1
10:DIM L(6),GM(4),TM(4),SM(4)
15:INPUT "电线弹性模量E=";E
16:LPRINT TAB(4);"电线弹性模量=";E
17:INPUT "电线温度线胀系数W="W
18:LPRINT TAB(4);"电线温度线胀系数="W
20:DATA 3.55E-3,-30,11.2,4.96E-3,-5,11.2,5.03E-3,-5,11.2,3.55E-3,5,7
25:INPUT "起始计算档距L(0)="L(0)
26:INPUT "最大计算档距L(4)="L(4)
35:LPRINT TAB(4);"起始计算档距=";L(0); "最大计算档距=";L(4)
40:FOR I=1 TO 4
50:READ GM(I),TM(I),SM(I)
60:NEXT I
70:FOR I=1 TO 3
80:X=1:Y=I+1:GOSUB 900
90:IF Z<0 GOTO 110 [1] [2] 下一页
|