9 :8000板状态查询(测试过程基本不使用)
10 :读取标准表脉冲
11 :8000板上485通道接通 12 :8000板上485通道断开
13 :打通第一通道。 14 :打通第二通道。
15 :打通第三通道 16 :打通第四通道 17 :打通第五通道 18 :打通第六通道 19 :打通第七通道 20 :打通第八通道 21 :光电脉冲输入
22 :表脉冲输入
28 :单相电流双回路,12回路切换 29 :单相电流双回路,34回路切换 30 :单相电流双回路,1234回路切换
pIntAddress -----误差计算器序号(即但前表位号) pIntTime ----- 保留字,默认为0
pUdtAnswer ----- 返回误差值(结构体),其中参数StrTimes为当前
读取误差的次数,StrAnswer为当前读取误差。 可以参照 附录1 注:由于按照国网增加了双回路,切换台体12,34回路的时候,参数pIntAddress
为定值250.
函数返回值为-1是表示成功。 潜起动过程:
寻标:先发3,再发4(两个一起的)――发5,读结果――全部表位寻标完成,发6,潜起动开始――发7,读每个表位潜起结果,――所有表结果,发8,结束命令
不寻标:先发3,再发4(两个一起的),发6,潜起动开始――发7,读每个表位潜起结果,――所有表结果,发8,结束命令
2) 函数ErrorCircles_gFun,误差测试圈数设置
ErrorCircles_gFun(pIntComPort:LongInt; pIntAddress:LongInt; pIntCircles:LongInt; pLngPules:LongInt;
pSngErrorMax:Single, var pUdtAnswer:Answer; var pUdtPules:Pules):LongInt;Stdcall;export;
函数说明如下:
pIntComPort ----- 串口,使用跟上面函数说明一样。 pIntAddress -----误差计算器序号(即但前表位号) pIntCircles ----- 设置检验误差圈数 pLngPules ----- 设置检验理论脉冲数 pSngErrorMax ----- 最大误差限 pUdtAnswer ----- 命令返回值,保留
pUdtPules ----- 保留,默认结构体内参数值都为0或者1
3) 函数ErrorPules_gFun,误差计算器进行圈转数与脉冲数的比较
改命令在目前台体上的8000板(误差计算器)中已经停止使用。
5、 信号源幅值调整,必须和升源命令配合使用。
Adjust_Fun(pLngSourceType:LongInt;
pIntComPort : LongInt):LongInt;Stdcall;export; 函数说明如下:
pLngSourceType,pIntComPort 参数定义使用如上面升源命令中方法
一样,请参照上面说明。
批注:此函数使用是,必须配合升源函数一起使用,而且仅仅在升源函数 在升源过程中不进行幅值调整时才能使用(即升源函数中的参数
pLngAjust为0时,如果该参数为1,请不要在升源后再对信号源幅值进行调 整)。
6、 读取标准表函数
OperationHC_Fun(pLngSourceType: LongInt; pIntComPort:LongInt;
IntHcAddress:LongInt; IntCommandID : LongInt;
IntData:LongInt; varpStrData:Standard):
LongInt;stdcall;export;
函数说明如下:
pLngSourceType,pIntComPort参数定义使用如上面升源命令中方法
一样,请参照上面说明。
IntHcAddress ----- 标准表地址,默认为55 IntCommandID ----- 控制命令字 1 :联机(保留字) 2 :脱机(保留字) 3 :读取标准表显示值
4 :标准表有功输出及电流输出档位
? lIntID = 10 10A档位
? lIntID = 5 5A档位 ? lIntID = 1 1A档位 ? lIntID = 0 自动档位
5 :标准表无功输出及电流输出档位
? lIntID = 10 10A档位 ? lIntID = 5 5A档位 ? lIntID = 1 1A档位 ? lIntID = 0 自动档位
6 :设置标准表相线(phaseWire)
? lIntID = 1 3p4w(三相四线有功/正弦无功) ? lIntID = 2 3p3w(三相三线有功/正弦无功) ? lIntID = 3 3p4w(三相四线90度无功) ? lIntID = 4 3p3w(三相三线60度无功) ? lIntID = 5 3p3w(三相三线90度无功)
7 :保留字 8 :保留字
9 :设置标准显示电流档位
? lIntID = 100 100A档位 ? lIntID = 10 10A档位 ? lIntID = 1 1A档位
10 :保留字
pStrData ----- 读取标准表返回当前测量值(结构体) 具体参数定义,请参照附录1.
7、 日计时(秒脉冲)控制函数
由于台体测试秒脉冲使用的是公司生产的时钟晶振仪HPU-1012,此仪器测
试时产生的高频脉冲和台体上测试误差产生的高频脉冲不能通用,所以在 测试日计时(秒脉冲)的时候,先要对台体高频信号进行切换。相应函数: Procedure Ini_SecPules(pIntComPort:LongInt;
pIntID:LongInt);stdcall;export
函数说明:此函数没有返回值。
pIntComPort ----- 请参照上面函数相同参数定义 pIntID ----- 1 表示切换到秒脉冲测试状态 0 表示切换到误差测试状态
8、 日计时(秒脉冲)误差读取函数
Function Error_SecPules(pIntComPort:LongInt; pIntAddress:LongInt;
pSngPules:Single; varpUdtAnswer:Answer): LongInt;Stdcall;export
函数说明:此函数返回值一直为-1
pIntComPort----- 请参照上面函数相同参数定义 pIntAddress ---- 表地址
pSngPules ----- 测试过程的理论脉冲数
例如:时钟晶振仪脉冲数为5000000 分频系数为100 设置圈数为60
此时的理论脉冲数为(时钟晶振脉冲数/分频系数) *设置圈数 即:(5000000/100)*60
9、 附录1
1) 控源动态库中用的结构体定义
? 标准表返回值Standard,定义如下:
Type Standard = Record
RealVA : Single; //A相电压(V) RealVB: Single; //B相电压(V) RealVC: Single; //C相电压(V) RealAA : Single; //A相电流(A) RealAB : Single; //B相电流(A) RealAC : Single; //C相电流(A) RealPFA: Single; //A相功率因数 RealPFB: Single; //B相功率因数 RealPFC: Single; //C相功率因数 RealWA : Single; //A相功率,标准表在有功电能输出状态时
为有功率(W),无功时为无功功率(var)
RealWB : Single; //B相功率 RealWC : Single; //C相功率
RealPF : Single; //平均功率因数 RealAngle : Single; //角度 RealFrequency : Single; //频率(Hz) RealPVA : Single; //总视在功率(VA) RealP : Single; //总视在有功功率(W)
RealQ : Single; //总视在无功功率(var)
End Type
? 误差返回值Answer,定义如下:
Type Answer = Record
StrAnswer:Single; //返回误差值。
StrTimes:Single; //返回误差值的当前次数。
End Type
? 控源时间 DelayTime,定义如下:
Type DelayTime = Record
SteadyTime:LongInt; //升源稳定时间。
AdjustTime:LongInt; //升源稳定后调整电压、电流赋值
所用时间。
End Type
? 结构体 Pules,定义如下:
Type Pules = Record
pIntSourceVersion : LongInt; pIntConstFactor : LongInt; pIntPulesConst : LongInt; pIntRoundConst : LongInt; end;
后续版本已经不使用该结构体,所以使用时传递结构体内参数值都赋值为0即可。 附注:
设置的谐波问题,我们公司Dsp信号源设置的时候,需要 先进行谐波设置然后再升源。 设置谐波函数
Function SetDSPHarmonic(pIntComPort: LongInt;
pIntID:LongInt;
WaveDegree1:single;
WaveDegree2:single; WaveDegree3:single;
WaveTimes1:LongInt;
WaveTimes2:LongInt;