📄 es16uh.zrg
字号:
case chfMain = "1"
ctmpstr="电表密码"
writename=ctmpstr
ctmpstr1="新密码: "
corder[1]="15"
corder[2]="08"
ndataid1=0
ndataid2=0
ndatalen=04
nitem=01
nchangeformat=13
nbackdata=01
strdata=""
cdataformat="060000009999990101090"
do hwdxwrite
case chfMain = "2"
do ESddsfonoff
case chfMain = "3"
do setupFigFunc
case chfMain = "4"
ctmpstr="小数位数"
writename=ctmpstr
ctmpstr1="小数位数: "
corder[1]="04"
corder[2]="07"
ndataid1=021
ndataid2=193
ndatalen=01
nitem=01
nchangeformat=10
nbackdata=00
strdata=""
cdataformat="020100000000000301100"
do hwdxwrite
otherwise
return
endcase
ENDDO
return
endpro
*/---------------------------------------------------------------------\*
*/---------------------------------------------------------------------\*
Procedure ES16uDefaultSetupMain
do while .T.
szWinTitle = "---出厂设置---"
do ShowWindow
clear
formatdata=datauno
leng =12
do format
datauno=formatdata
@1,0 say "表号:"+datauno
wait "" to key_esc
if asc(key_esc)=13
do DefaultSetupMain
if strRecFlag="no"
clear
@1,1 say "设置不成功,请检查"
wait""
loop
endif
datauno=str(val(datauno)+1,1)
endif
if asc(key_esc)=24
return
else
if asc(key_esc)=8
do inputmeterid
if ifquit=1
exit
endif
@0,7 say cmtnum1
datauno=cmtnum1
loop
else
loop
endif
endif
enddo
return
Endpro
*/---------------------------------------------------------------------\*..
*/--------------------------------------------------------------------\*..
Procedure DefaultSetupMain
clear
@0,0 say "硬设表号:"
ctmpstr=str(val(datauno),12)
cmtnum1=""
i = 1
do while i<=12
cmtnum1=cmtnum1+str(val(substr(ctmpstr,i,1)),1)
i=i+1
enddo
szdata{1,8}=51
szdata{1,1} = 52
szdata{2,1} = 52
ctmpstr = datauno
m = len(ctmpstr)
do while m < 12
ctmpstr = "0" + ctmpstr
m = len(ctmpstr)
enddo
szdata{3,1} = numtobcd(val(right(ctmpstr,2)),33h)
szdata{4,1} = numtobcd(val(substr(ctmpstr,9,2)),33h)
szdata{5,1} = numtobcd(val(substr(ctmpstr,7,2)),33h)
szdata{6,1} = numtobcd(val(substr(ctmpstr,5,2)),33h)
szdata{7,1} = numtobcd(val(substr(ctmpstr,3,2)),33h)
szdata{8,1} = numtobcd(val(substr(ctmpstr,1,2)),33h)
datatempuno="999999999999"
szaddr{1,6}=numtobcd(val(datatempuno),0)
ctmpstr="载波表号"
writename="电表表号"
ctmpstr1="电表新表号"
unozborhw=1
zyccsetup=1
corder[1]="10"
corder[2]="08"
ndatalen=08
nitem=01
ndataid1=0
ndataid2=0
nchangeformat=1
nbackdata=00
strdata=""
do hwdxwrite
unozborhw=0
sound 0,4
zyccsetup=0
if strRecFlag="no"
return
else
ctempcode=""
inputkey=""
ctmpstr="电表密码"
writename=ctmpstr
inputkey="666666"
szpassword{1,4}=0
n=val(inputkey+"00")
szpassword=numtobcd(n,33h)
m=scanbyte(szpassword{1,4},255)
if m>0
szpassword{m,5-m}=51
endif
writename="电表密码"
ctmpstr1="电表密码"
ctmpstr=writename
zyccsetup=1
corder[1]="15"
corder[2]="08"
ndataid1=0
ndataid2=0
ndatalen=04
ifdefault=1
nchangeformat=13
strdata=ctempcode
szdata=strdata
do hwdxwrite
zyccsetup=0
szpassword{1,4}=szdata{1,4}
inputkey=""
ifdefault=0
endif
if strRecFlag="no"
return
else
ctmpstr="初始电量"
writename=ctmpstr
ctmpstr1="初始电量:"+datanewfig
@1,0 say space(21)
@2,0 say space(21)
@1,0 say trim(ctmpstr1)
ninputcount=1+len(datanewfig)
inputkey=datanewfig &&电表底数默认为近一次输入
if nexitflag=1
return
endif
corder[1]="04"
corder[2]="10"
ndataid1=025
ndataid2=193
ndatalen=04
nitem=1
nbackdata=00
strdata=""
nchangeformat=10
ccszflag=1
nbackdata=00
strdata=""
cdataformat="0900000999999.9901092"
do hwdxwrite
ccszflag=0
endif
szdata{1,50}= 51
szdata=numtobcd(val(strinput),33h)
m=scanbyte(szdata{1,ndatalen},255)
if m>0
szdata{m,ndatalen-m+1}=51
endif
set intensity off
if strRecFlag="yes"
return
endif
return
endpro
*/---------------------------------------------------------------------\*
*/----------------------------------------------------------------------\*
procedure ESddsfonoff
clear
DO WHILE .T.
szWinTitle = "远程控制"
do ShowWindow
aszMxItem[1] = "1.通知断电"
aszMxItem[2] = "2.清除断电"
aszMxItem[3] = "3.控制断电"
aszMxItem[4] = "4.控制通电"
nMxItemNum = 4
nMxChoice = 1
do Menu
chfMain = chr(nMxChoice+48)
do case
case chfMain = "1"
ctmpstr="通知断电"
writename=ctmpstr
ctmpstr1="通知断电"
corder[1]="04"
corder[2]="06"
ndataid1=058
ndataid2=192
ndatalen=00
nitem=01
nchangeformat=11
nbackdata=01
strdata=""
do hwdxwrite
case chfMain = "2"
ctmpstr="清除断电"
writename=ctmpstr
ctmpstr1="清除断电"
corder[1]="04"
corder[2]="06"
ndataid1=059
ndataid2=192
ndatalen=00
nitem=01
nchangeformat=11
nbackdata=01
strdata=""
do hwdxwrite
case chfMain = "3"
ctmpstr="控制断电"
writename=ctmpstr
ctmpstr1="控制断电"
corder[1]="04"
corder[2]="06"
ndataid1=060
ndataid2=192
ndatalen=00
nitem=01
nchangeformat=11
nbackdata=01
strdata=""
do hwdxwrite
case chfMain = "4"
ctmpstr="控制通电"
writename=ctmpstr
ctmpstr1="控制通电"
corder[1]="04"
corder[2]="06"
ndataid1=061
ndataid2=192
ndatalen=00
nitem=01
nchangeformat=11
nbackdata=01
strdata=""
do hwdxwrite
otherwise
return
endcase
ENDDO
endpro
*/---------------------------------------------------------------------\*
*/---------------------------------------------------------------------\*..
Procedure SetupFigFunc
ctmpstr="初始电量"
writename=ctmpstr
ctmpstr1="初始电量: "
corder[1]="04"
corder[2]="10"
ndataid1=025
ndataid2=193
ndatalen=04
nitem=01
nchangeformat=10
nbackdata=00
strdata=""
cdataformat="0900000999999.9901092"
do hwdxwrite
return
endpro
*/---------------------------------------------------------------------\*..
*/---------------------------------------------------------------------\*
procedure ddsfdxread
clear
DO WHILE .T.
szWinTitle = "单项抄收"
do ShowWindow
aszMxItem[1] = "1.抄收电量"
aszMxItem[2] = "2.时间参数"
aszMxItem[3] = "3.状态参数"
aszMxItem[4] = "4.集合命令"
nMxItemNum = 4
nMxChoice = 1
do Menu
chfMain = chr(nMxChoice+48)
do case
case chfMain = "1"
do readPowerMenu
case chfMain = "2"
do hwtimeparam
case chfMain = "3"
do hwstateparam
case chfMain = "4"
do hwgatherch
otherwise
return
endcase
ENDDO
endpro
*/--------------------------------------------------------------------\*
*/--------------------------------------------------------------------\*
procedure readPowerMenu
clear
DO WHILE .T.
szWinTitle = "抄收电量"
do ShowWindow
aszMxItem[1] = "1.当前电量"
aszMxItem[2] = "2.前日冻结1"
aszMxItem[3] = "3.前日冻结2"
aszMxItem[4] = "4.日冻结电量"
nMxItemNum = 4
nMxChoice = 1
do Menu
chfMain = chr(nMxChoice+48)
do case
case chfMain = "1"
ctmpstr= "当前电量"
corder[1]="01"
corder[2]="02"
ndataid1=016
ndataid2=144
ndatalen=04
nitem=01
nchangeformat=3
nvallen=09
nvaldot=02
cformat="当前电量:######.##"
do hwdxread
case chfMain = "2"
do HourFigRead1
case chfMain = "3"
do HourFigRead2
case chfMain = "4"
ctmpstr= "日冻结电量"
corder[1]="01"
corder[2]="02"
ndataid1=016
ndataid2=154
ndatalen=04
nitem=01
nchangeformat=3
nvallen=09
nvaldot=02
cformat="日冻结电量:######.##"
do hwdxread
otherwise
return
endcase
ENDDO
endpro
*/---------------------------------------------------------------------\*
*整点冻结电量
*/---------------------------------------------------------------------\*
procedure HourFigRead1
clear
DO WHILE .T.
szWinTitle = "整点冻结"
do ShowWindow
aszMxItem[1]="1.0到1点"
aszMxItem[2]="2.2到3点"
aszMxItem[3]="3.4到5点"
aszMxItem[4]="4.6到7点"
aszMxItem[5]="5.8到9点"
aszMxItem[6]="6.10到11点"
nMxItemNum = 6
nMxChoice = 1
do Menu
chfMain = chr(nMxChoice+48)
do case
case chfMain = "1"
ctmpstr= "0点到1点电量"
corder[1]="01"
corder[2]="02"
ndataid1=097
ndataid2=232
ndatalen=04
nitem=02
nchangeformat=3
nvallen=09
nvaldot=02
if tp_ver="tp600"
cformat="0点冻结量:######.## 1点冻结量:######.##"
else
cformat="0点冻结量:######.## 1点冻结量:######.##"
endif
do hwdxread
case chfMain = "2"
ctmpstr= "2点到3点电量"
corder[1]="01"
corder[2]="02"
ndataid1=098
ndataid2=232
ndatalen=04
nitem=02
nchangeformat=3
nvallen=09
nvaldot=02
if tp_ver="tp600"
cformat="2点冻结量:######.## 3点冻结量:######.##"
else
cformat="2点冻结量:######.## 3点冻结量:######.##"
endif
do hwdxread
case chfMain = "3"
ctmpstr= "4点到5点电量"
corder[1]="01"
corder[2]="02"
ndataid1=099
ndataid2=232
ndatalen=04
nitem=02
nchangeformat=3
nvallen=09
nvaldot=02
if tp_ver="tp600"
cformat="4点冻结量:######.## 5点冻结量:######.##"
else
cformat="4点冻结量:######.## 5点冻结量:######.##"
endif
do hwdxread
case chfMain = "4"
ctmpstr= "6点到7点电量"
corder[1]="01"
corder[2]="02"
ndataid1=100
ndataid2=232
ndatalen=04
nitem=02
nchangeformat=3
nvallen=09
nvaldot=02
if tp_ver="tp600"
cformat="6点冻结量:######.## 7点冻结量:######.##"
else
cformat="6点冻结量:######.## 7点冻结量:######.##"
endif
do hwdxread
case chfMain = "5"
ctmpstr= "8点到9点电量"
corder[1]="01"
corder[2]="02"
ndataid1=101
ndataid2=232
ndatalen=04
nitem=02
nchangeformat=
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -