📄 gprs 域名方式还没删.zrg
字号:
***HZP
***05.5.18
define database A
表号 : C, 9
标志 : N, 1
表时钟 : C, 8
掌时钟 : C, 8
时段费率 : C, 72
编程时间 : C, 8
反向时间 : C, 8
反累时间 : N, 9
状态字 : C, 1
脉冲累计总 : N, 2
脉冲累计峰 : N, 2
脉冲累计平 : N, 2
脉冲累计谷 : N, 2
当月有功总 : N, 6, 2
当月有功峰 : N, 6, 2
当月有功平 : N, 6, 2
当月有功谷 : N, 6, 2
上月有功总 : N, 6, 2
上月有功峰 : N, 6, 2
上月有功平 : N, 6, 2
上月有功谷 : N, 6, 2
上上有功总 : N, 6, 2
上上有功峰 : N, 6, 2
上上有功平 : N, 6, 2
上上有功谷 : N, 6, 2
反电量总 : N, 6, 2
反电量峰 : N, 6, 2
反电量平 : N, 6, 2
反电量谷 : N, 6, 2
总电1 : N, 6, 2
总电2 : N, 6, 2
总电3 : N, 6, 2
总电4 : N, 6, 2
总电5 : N, 6, 2
总电6 : N, 6, 2
总电7 : N, 6, 2
总电8 : N, 6, 2
总电9 : N, 6, 2
总电10 : N, 6, 2
总电11 : N, 6, 2
总电12 : N, 6, 2
峰电1 : N, 6, 2
峰电2 : N, 6, 2
峰电3 : N, 6, 2
峰电4 : N, 6, 2
峰电5 : N, 6, 2
峰电6 : N, 6, 2
峰电7 : N, 6, 2
峰电8 : N, 6, 2
峰电9 : N, 6, 2
峰电10 : N, 6, 2
峰电11 : N, 6, 2
峰电12 : N, 6, 2
平电1 : N, 6, 2
平电2 : N, 6, 2
平电3 : N, 6, 2
平电4 : N, 6, 2
平电5 : N, 6, 2
平电6 : N, 6, 2
平电7 : N, 6, 2
平电8 : N, 6, 2
平电9 : N, 6, 2
平电10 : N, 6, 2
平电11 : N, 6, 2
平电12 : N, 6, 2
谷电1 : N, 6, 2
谷电2 : N, 6, 2
谷电3 : N, 6, 2
谷电4 : N, 6, 2
谷电5 : N, 6, 2
谷电6 : N, 6, 2
谷电7 : N, 6, 2
谷电8 : N, 6, 2
谷电9 : N, 6, 2
谷电10 : N, 6, 2
谷电11 : N, 6, 2
谷电12 : N, 6, 2
enddef
define database B
密码 : C, 8
清零密码 : C, 8
时段数 : N, 2
时段费率1 : C, 72
时段费率2 : C, 72
脉冲常数 : N, 4
上次表号 : C, 9
打包标志 : N, 2
冻结日 : C, 2
时误差范围 : N, 2
显示设定 : C, 4
循显时间 : N, 2
停显时间 : N, 2
电量底度 : N, 7, 1
出厂编号 : C, 12
局编号 : C, 12
enddef
define var
CHOICE : C, 1
done : N, 1
error : N, 1
oldBH : C, 9
newBH : C, 9
oldMM : N, 8
newMM : N, 8
lastBH : C, 12
zongDL : N, 9,1
jianDL : N, 9,1
fengDL : N, 9,1
pingDL : N, 9,1
guDL : N, 9,1
fxDL : N, 9,1
SDFL : C, 72
DomainName : C, 1[21]={ "D","O","N","G","B","E","I","P","O","W",
"E","R",".","V","I","C","P",".","N","E","T"}
LYDomainName5 : C, 1[17]={ "L","Y","P","O","W","E","R","5",
".","V","I","C","P",".","N","E","T"}
TopDomainName : C, 1[16]={ "D","O","N","G","B","E","I","P","O","W",
"E","R",".","C","O","M"}
I : N, 4
J : N, 3
K : N, 4
L : N, 2
m : N, 4
s : N, 4
nComResult : N, 3
Buffer0 : C, 1[64]
Buffer : C, 1[64]
RecBuffer : C, 1[64]
char1 : C, 1
char2 : C, 2
char3 : C, 3
char4 : C, 4
char5 : C, 5
char6 : C, 6
char66 : C, 6
char8 : C, 8
char9 : C, 9
char12 : C, 12
charall : C, 9
oldMMall : N, 8
charJBH : C, 12
tempall1 : N, 4
tempall2 : N, 4
tempall3 : N, 4
charall1 : C, 2
charall2 : C, 2
* --------------------------------------
IPAddress : C, 15
SimCardNO : C, 11
AnswerCSQ : C, 10
AttachedSta : C, 10
DTUDate : C, 8
DTUTime : C, 8
WS_DateTime : C, 19
* --------------------------------------
temp1 : N, 1
temp2 : N, 3
temp4 : N, 4
temp6 : N, 6
temp66 : N, 6
temp8 : N, 8
temp10 : N, 10
temp12 : N, 12
temp14 : N, 14
mdFLAG : N, 1
enddef
********输入表号
procedure ask_bh
clear
@ 0,1 say "请输入表号"
* @ 1,1 say "回车为广播号"
@ 1,1
input to char2
char2=TRIM(char2)
temp1=len(char2)
if temp1<>2
return
endif
do getB06
if done=0
clear
@ 0,1 say "错误,非法表号"
wait ""
return
endif
return
endpro
********输入密码
procedure ask_mima
clear
done=0
@ 0,1 say "请输入密码"
@ 1,1 say "回车为默认:********"
@ 2,1
input to char8
temp1=len(char8)
if temp1 = 0
oldMM=12345601
else
oldMM=val(char8)
endif
done=1
return
endpro
********要继续吗
procedure comeon
clear
@ 0,1 say "未收到正常应答"
@ 1,1 say "按确认键重设置"
@ 2,1 say "按其它键退出"
wait "" to char1
return
endpro
********向老威胜表发送
procedure SendCom_WS
INITSIO 4,"E",8
set com to 1 /485
j=receives(RecBuffer{63,1},1)
sends buffer{1,7}
return
endpro
********发送帧
procedure SendCom
INITSIO 4,"E",8 &&1200,偶校验,8位数据
********红外
if mdFLAG=1
set com to 2
buffer{1,1}=068H
buffer{8,1}=068H
L=buffer{10,1}
buffer{11+L,1}=CheckSum(buffer{1,10+L})
buffer{12+L,1}=016H
****************do dis_buffer
buffer0{1,1}=0feH
buffer0{2,1}=0feH
buffer0{3,1}=0feH
sends buffer0{1,3}
sends buffer{1,12+L}
endif
********485口 6针->25针
if mdFLAG=2
set com to 1 /485
j=receives(RecBuffer{63,1},1)
buffer{1,1}=068H
buffer{8,1}=068H
L=buffer{10,1}
buffer{11+L,1}=CheckSum(buffer{1,10+L})
buffer{12+L,1}=016H
****************do dis_buffer
* buffer0{1,1}=0feH
* sends buffer0{1,1}
* sends buffer0{1,1}
* sends buffer0{1,1}
sends buffer{1,12+L}
endif
return
endpro
********显示buffer
procedure dis_buffer
i=1
k=0
clear
j=buffer{10,1}
j=j+12
do while i<=j
temp12=buffer{i,1}
char12=hex(temp12)
* +" "+str(i,2)+" "+str(j,2)
? char12
i=i+1
k=k+1
if k=4
k=0
wait ""
endif
enddo
wait ""
return
endpro
procedure dis_RecBuffer
i=1
k=0
clear
j=RecBuffer{10,1}
j=j+12
do while i<=j
temp2=RecBuffer{i,1}
char1=hex(temp2)
? char1
i=i+1
k=k+1
if k=4
k=0
wait ""
endif
enddo
* if nComResult<>0
* ? "error"+str(nComResult,6)
* else
* ? "okokok"
* endif
wait ""
return
endpro
********威胜表接收程序
procedure ReceiveCom_WS
nComResult=0
i=0
j=0
temp12=0
********读入固定长度的数据,延时500ms
j=receives(RecBuffer{1,16},5)
if j<4
nComResult=256
sound 7,1
sound 0,1 &&停顿250ms
sound 7,1
sound 0,1
return
endif
sound 2,2
return
endpro
********接收帧
procedure ReceiveCom
nComResult=0
i=0
j=0
temp12=0
RecBuffer{1,1}="00"
********检测帧开始标志,延时900ms
do while i<>068H
* j=receives(RecBuffer{1,1},9)
* j=receives(RecBuffer{1,1},15) &&延时 1.5s
j=receives(RecBuffer{1,1},20) &&延时 2s
if j<>0
i=RecBuffer{1,1}
else
sound 7,1
sound 0,1 &&停顿250ms
sound 7,1
sound 0,1
return
endif
enddo
********读入固定长度的后续数据,延时500ms
j=receives(RecBuffer{2,9},5)
if j<9
nComResult=256
return
endif
L=RecBuffer{10,1}
*******读取非固定长度的数据
j=receives(RecBuffer{11,L+2},3)
if j<L+2
nComResult=257
return
endif
* i=RecBuffer{11+L,1}
* if i<>asc(chr(CheckSum(RecBuffer{1,10+L})))
* nComResult=512
* return
* endif
***////
*** do dis_RecBuffer
***////
sound 2,2
return
endpro
********桢格式错
procedure pinerror
clear
@ 0,1 say "帧格式错误"
@ 1,1 say "按任一键退出"
wait ""
powerdown unlock
return
endpro
********构造A0-A6,含a
procedure getB06
done=0
if asc(substr(char2,1,1))>=48.and.asc(substr(char2,1,1))<=57
temp4=(asc(substr(char2,1,1))-30H)*16
else
return
endif
if asc(substr(char2,2,1))>=48.and.asc(substr(char2,2,1))<=57
temp4=temp4+(asc(substr(char2,2,1))-30H)
else
return
endif
buffer{1,1}=chr(temp4)
done=1
return
endpro
********写终端号(八位)
procedure SetDTUNO
clear
@ 1,1 say "请输入DTU终端号:"
@ 2,1 say "8位:"
input to char8
char8=TRIM(char8)
temp1=len(char8)
if temp1<>8
return
endif
buffer{2,1}=099h
buffer{3,1}=099h
buffer{4,1}=099h
buffer{5,1}=099h
buffer{6,1}=099h
buffer{7,1}=099h
buffer{9,1}=09H
buffer{10,1}=06H &&4+2=6
buffer{11,1}=00H
buffer{12,1}=11H
clear
@ 0,1 say "设置中..."
* buffer{11,3}=substr(NumToBCD(val(substr(newBH,4,6)),33H)+chr(51)+chr(51)+chr(51),1,3)
* buffer{14,1}=asc(substr(newBH,3,1))+033H
* buffer{15,1}=NumToBCD(val(substr(newBH,1,2)),33H)
* buffer{16,1}=0AAH+033H
buffer{13,4}=NumToBCD(val(substr(char8,1,8)),00H)
do SendCom
do ReceiveCom
if nComResult<>0
do pinerror
return
else
temp2=RecBuffer{9,1}
do while temp2<>089H
do comeon
if asc(char1)=13
do SendCom
do ReceiveCom
else
return
endif
temp2=RecBuffer{9,1}
enddo
endif
clear
@ 0,1 say "终端号设置完毕。"
@ 1,1 say "按任意键退出"
wait ""
return
endpro
********设置日期时间
procedure SetDateTime
buffer{2,1}=099h
buffer{3,1}=099h
buffer{4,1}=099h
buffer{5,1}=099h
buffer{6,1}=099h
buffer{7,1}=099h
buffer{9,1}=09H
buffer{10,1}=08H
buffer{11,1}=00H
buffer{12,1}=15H
clear
@ 0,1 say "设置中..."
buffer{13,1}=NumToBCD(val(substr(Time(),7,2)),00H) &&second
buffer{14,1}=NumToBCD(val(substr(Time(),4,2)),00H) &&minute
buffer{15,1}=NumToBCD(val(substr(Time(),1,2)),00H) &&hour
buffer{16,1}=NumToBCD(val(substr(Date(),7,2)),00H) &&date
buffer{17,1}=NumToBCD(val(substr(Date(),4,2)),00H) &&month
buffer{18,1}=NumToBCD(val(substr(Date(),1,2)),00H) &&year
do SendCom
do ReceiveCom
if nComResult<>0
do pinerror
return
else
temp2=RecBuffer{9,1}
do while temp2<>089H
do comeon
if asc(char1)=13
buffer{13,1}=NumToBCD(val(substr(Time(),7,2)),00H) &&second
buffer{14,1}=NumToBCD(val(substr(Time(),4,2)),00H) &&minute
buffer{15,1}=NumToBCD(val(substr(Time(),1,2)),00H) &&hour
buffer{16,1}=NumToBCD(val(substr(Date(),7,2)),00H) &&date
buffer{17,1}=NumToBCD(val(substr(Date(),4,2)),00H) &&month
buffer{18,1}=NumToBCD(val(substr(Date(),1,2)),00H) &&year
do SendCom
do ReceiveCom
else
return
endif
temp2=RecBuffer{9,1}
enddo
endif
clear
@ 0,1 say "日期时间设置完毕"
@ 1,1 say "按任一键退出"
wait ""
return
endpro
********写IP地址或域名
procedure SetIP_DomainName
DO WHILE .T.
done=0
I=1
do while I<=16
Buffer{I,1}=00H
RecBuffer{I,1}=00H
I=I+1
enddo
clear
@ 0,0 say "0写IP地址"
@ 1,0 say "1设为IP地址连接方式"
@ 3,0 say "3输入域名..."
@ 4,0 say "4写dongbeipower.com"
@ 5,0 say "5写LYPOWER5.vicp.net"
@ 6,0 say "6写dongbeipower.vicp.net"
@ 7,0 say "7置为域名连接方式"
wait "" to choice
DO CASE
******** "0" 设置IP地址
CASE asc(choice) = 30H
do SetIPAddress
******** "1" 设为IP地址连接
CASE asc(choice) = 31H
do Set_LinkForIP
******** "3" 输入域名...
CASE asc(choice) = 33H
do InputDomainName
******** "4" 设置dongbeipower.com
CASE asc(choice) = 34H
do Set_DomainName2
******** "5" 设置LYPOWER5.vicp.net
CASE asc(choice) = 35H
do Set_LYDName5
******** "6" 设置dongbeipower.vicp.net
CASE asc(choice) = 36H
do Set_DomainName1
******** "7" 设为域名连接
CASE asc(choice) = 37H
do Set_LinkForDoName
******** 退出键 退出
CASE asc(choice) = 24
clear
return
ENDCASE
ENDDO
return
endpro
********写IP地址
procedure SetIPAddress
clear
@ 1,1 say "请输入IP地址..."
@ 2,1 say "最长15位:"
@ 3,1
input to IPAddress
IPAddress=TRIM(IPAddress)
temp2=len(IPAddress)
buffer{2,1}=099h
buffer{3,1}=099h
buffer{4,1}=099h
buffer{5,1}=099h
buffer{6,1}=099h
buffer{7,1}=099h
buffer{9,1}=09H
buffer{10,1}=temp2+2
buffer{11,1}=00H
buffer{12,1}=14H
clear
@ 0,1 say "设置中..."
buffer{13,temp2}=IPAddress{1,temp2}
do SendCom
do ReceiveCom
if nComResult<>0
do pinerror
return
else
temp2=RecBuffer{9,1}
do while temp2<>089H
do comeon
if asc(char1)=13
do SendCom
do ReceiveCom
else
return
endif
temp2=RecBuffer{9,1}
enddo
endif
clear
@ 0,1 say "IP地址设置成功!"
@ 1,1 say "按任一键退出"
wait ""
return
endpro
********输入域名...
procedure InputDomainName
clear
@ 1,1 say "请输入域名..."
@ 2,1 say "最长31个字符:"
@ 3,1
input to IPAddress
IPAddress=TRIM(IPAddress)
temp2=len(IPAddress)
buffer{2,1}=099h
buffer{3,1}=099h
buffer{4,1}=099h
buffer{5,1}=099h
buffer{6,1}=099h
buffer{7,1}=099h
buffer{9,1}=09H
buffer{10,1}=temp2+2
buffer{11,1}=00H
buffer{12,1}=14H
clear
@ 0,1 say "设置中..."
buffer{13,temp2}=IPAddress{1,temp2}
do SendCom
do ReceiveCom
if nComResult<>0
do pinerror
return
else
temp2=RecBuffer{9,1}
do while temp2<>089H
do comeon
if asc(char1)=13
do SendCom
do ReceiveCom
else
return
endif
temp2=RecBuffer{9,1}
enddo
endif
clear
@ 0,1 say "IP地址设置成功!"
@ 1,1 say "按任一键退出"
wait ""
return
endpro
********写辽阳域名5
procedure Set_LYDName5
buffer{2,1}=099h
buffer{3,1}=099h
buffer{4,1}=099h
buffer{5,1}=099h
buffer{6,1}=099h
buffer{7,1}=099h
buffer{9,1}=09H
buffer{10,1}=13H
buffer{11,1}=00H
buffer{12,1}=13H
clear
@ 0,1 say "设置中..."
temp14=BCDToNum(RecBuffer{2,6},00H)
temp14=temp14+1000000000000
char12=right(str(temp14,13),12)
char9=right(str(temp14,13),9)
char5=right(str(temp14,13),5)
buffer{13,17}=LYDomainName5{1,17}
do SendCom
do ReceiveCom
if nComResult<>0
do pinerror
return
else
temp2=RecBuffer{9,1}
do while temp2<>089H
do comeon
if asc(char1)=13
do SendCom
do ReceiveCom
else
return
endif
temp2=RecBuffer{9,1}
enddo
endif
clear
char12{1,12}=LYDomainName5{1,12}
char5{1,5}=DomainName{13,5}
@ 0,0 say char12
@ 0,12 say char5
@ 3,0 say "域名设置完毕"
@ 4,0 say "按任一键退出"
wait ""
return
endpro
********设置dongbeipower.vicp.net
procedure Set_DomainName1
buffer{2,1}=099h
buffer{3,1}=099h
buffer{4,1}=099h
buffer{5,1}=099h
buffer{6,1}=099h
buffer{7,1}=099h
buffer{9,1}=09H
buffer{10,1}=17H &&23=21+2
buffer{11,1}=00H
buffer{12,1}=13H
clear
@ 0,1 say "设置中..."
temp14=BCDToNum(RecBuffer{2,6},00H)
temp14=temp14+1000000000000
char12=right(str(temp14,13),12)
char9=right(str(temp14,13),9)
buffer{13,21}=DomainName{1,21}
do SendCom
do ReceiveCom
if nComResult<>0
do pinerror
return
else
temp2=RecBuffer{9,1}
do while temp2<>089H
do comeon
if asc(char1)=13
do SendCom
do ReceiveCom
else
return
endif
temp2=RecBuffer{9,1}
enddo
endif
clear
char12{1,12}=DomainName{1,12}
char9{1,9}=DomainName{13,9}
@ 0,0 say char12
@ 0,12 say char9
@ 3,0 say "域名设置完毕"
@ 4,0 say "按任一键退出"
wait ""
return
endpro
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -