浙江海盐涵普控源动态库接口说明文档_第1页
浙江海盐涵普控源动态库接口说明文档_第2页
浙江海盐涵普控源动态库接口说明文档_第3页
浙江海盐涵普控源动态库接口说明文档_第4页
浙江海盐涵普控源动态库接口说明文档_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——浙江海盐涵普控源动态库接口说明文档海盐涵普控源动态库接口说明文档

由于动态库为Delphi所写,所以提供Delphi函数的接口,函数所用的参数类型都为整型和单精度类型,对其他程序语言的兼容性应当没有问题。所以下面对动态库接口的各个函数的说明都是用Delphi定义的。

1、信号源升源函数

1)三相升源函数,早期C型和D型台体升源函数:

OutPutData_gSub(pLngAjust:LongInt;pLngSourceType:LongInt;

pIntComPort:LongInt;pIntPhase:LongInt;pIntStatus:LongInt;pIntSequence:LongInt;pSngVoltage:Single;pSngCurrent:Single;pSngFrequency:Single;pIntIABC:LongInt;pIntIB:LongInt;pIntLC:LongInt;

pIntWave:LongInt;pIntWaveTimes:LongInt;pLngUWave:LongInt;pLngIWave:LongInt;VarpDelay_Time:DelayTime):LongInt;Stdcall;export;

函数相应参数说明:

pLngAjust是否对输出作自动调整,1-调整,0-不调整。pLngSourceType信号源类型

?1、2为C形输出的信号源,?3为D输出的信号源,?4为DSP信号源(此处无效)

参数说明:由于C型为2000年以前的老台体,现在已经很少,所以

现在此函数主要用来控制D型台体,而Dsp型则用函数DspOutPut函数来实现(下文会有详细说明)。

pIntComPort台体通讯用的串口发送时为LongInt类型即’Com1’传送1,以此类推。

pIntPhase相线

?1表示3P3W(三相三线有功)

?2表示3p3w(60Var)(三相三线60度无功)?3表示3p3w(90Var)(三相三线90度无功)?4表示3p3w(正弦Var)(三相三线正弦无功)?5表示3P4W(三相四线有功)

?6表示3p4w(90Var)(三相四线90度无功)?7表示3p4w(正弦Var)(三相四线正弦无功)

pIntStatus测试状态

?0正向有功?1反向有功?2正向无功?3反向无功

pIntSequence相序

?1正相序?2逆相序

pSngVoltage,pSngCurrent,pSngFrequency为电压,电流及其频率,其发送格式都为单精度Single类型

其输入的数值为电表的额定电压、电流即频率数值。pIntIABC电流相别

?0表示ABC相三相电流输出?1表示A相电流分相输出?2表示B相电流分相输出?3表示C相电流分相输出

pIntIB电流负载此函数输出格式为额定电流的百分比。例如:电表标定电流为5A,最大电流为20A假使要升10A电流,则电流负载参数pIntIB的输出值为200.pIntLC功率因数由于功率因数需要传递的是1.0L、0.5C等,但是函数中的此参数pIntLC传递的是LongInt类型,所以必需把需要传递的功率因数进行一下转换。转换格式如下:假使是1.0L,换算公式为(1.0*1000)*10+1=100010.5C,换算公司为(0.5*1000)*10+2=5002以上换算过程中,L表示1,C表示2.这里给一个Vb的换算过程:lStrLC=\此处为升源所需要的功率因数)pIntLC=Val(Mid(lStrLC,1,Len(lStrLC)-1))*1000IfMid(lStrLC,Len(lStrLC),1)=\lIntLC=lIntLC*10+1ElseIfMid(lStrLC,Len(lStrLC),1)=\lIntLC=lIntLC*10+2EndIf

pIntWave输出的波形类别

?1、正弦波

?2、次群波(奇次谐波)?3、谐波

?4、可控硅波(偶次谐波)一般的台体上,此参数都选择1(正弦波),其他波形都必须是台体硬件支持才能实现,否则无效。pIntWaveTimes谐波次数

pLngUWave,pLngIWave电压、电流谐波时的百分含量此参数中,传递的是三相电压、电流的百分含量,所以三相的含量必需组合在一起转换成LongInt类型进行赋值传递。例如:电压、电流含量为1%,则传递值为010101?10101电压、电流含量为5%,则传递值为050505?50505电压、电流含量10%,则传递值为101010?101010以此类推。

pDelay_Time控源延时,此参数为一个结构体(定义在附注中)。该结构体中含有两个LongInt类型参数:

?pLngSeatdyTime为台体升源稳定延时?pLngAdjustTime为台体信号源调整延时

2)三相升源函数,Dsp型信号源升源函数

DspOutput(pLngAdjust:LongInt;pIntComPort:LongInt;pIntID:LongInt;PhaseWire:LongInt;

Frequency:Single;U1:Single;U2:Single;U3:Single;I1:Single;I2:Single;I3:Single;DUAB:Single;

DUAC:Single;DU1:Single;DU2:Single;DU3:Single;WaveType:LongInt;VarpDelay_Time:DelayTime):LongInt;Stdcall;export;函数相应参数说明:

pLngAdjust和pIntComPort两个参数跟前面定义内容一样。pIntID为参数保存字,传递1即可。phaseWire相别

参照OutPutDate_gSub函数中的pIntPhase参数

同时,单相Dsp也是用这个函数输出,只需要这里的相别在pIntPhase的基础上增加两种,如下:

?8–单相有功?9–单相无功

Frequency、U1、U2、U3、I1、I2、I3为额定的频率、电压和电流值传递类型为单精度Single类型。

DUAB、DUAC为电压Uab和电压Uac直接的夹角。正相序时,夹

角为120和240,逆相序时为240和120(以上为平衡输出时的夹角)

DU1、DU2、DU3为A、B、C三相电压和电流之间的夹角。

以上各个夹角的数值范围为(0—359.99)之间。

为Single单精度类型

pDelay_Time参照OutPutDate_gSub中的一致参数说明。WaveType输出的波形类别

参照OutPutData_gSub函数中的pIntWave参数。

3)单相Dsp升源函数。

单相Dsp升源函数同三相的Dsp升源函数,唯一不同的是升源时,相别phaseWire必需使用单相有功或者无功。具体传送值在上面三相Dsp升源函数中做了具体说明。

4)单相LED显示配3801标准表升源函数

SingleRaiseVA(pIntComPort:LongInt;pSngVoltage:Single;pSngCurrent:Single;pSngFreq:LongInt;pIntPF:LongInt;pIntIB:LongInt;

pSngMaxVoltage:Single;pIntWaveType:LongInt;pIntWaveTimes:LongInt):LongInt;Stdcall;export;

函数参数说明:

pIntComPort的定义及传送值跟上面函数一致。

pSngVoltage、pSngCurrent、pSngFreq为额定电压、电流和频率pIntPF为功率因数,需要换算,换算方法跟OutPutData_gSub函数的pIntLC参数定义一样。

pIntIB为电流负载,使用跟OutPutData_gSub函数的pIntIB参数

一样.

pSngMaxVoltage输出的最大电压,根据标准表3801的不同,分为220*1.2=264和220*1.3=286两种。pIntWaveType波形类别,参照上面函数一致参数定义。

pIntWaveTimes谐波次数,当参数pIntWaveType为1(正弦波)

时,改参数为0.

2、信号源暂停函数

1)三相暂停函数,早期C型和D型台体暂停函数

Source_Pause_gSub(pIntComPort:LongInt);stdcall;export;

函数说明:该函数使用是,只需要传递串口号即可,串口号的传递方式参照上面一致函数的使用。

2)三相Dsp信号源的暂停函数

由于Dsp信号源使用的Modbus规约编译,所以三相Dsp暂停函数跟Dsp的升源函数一致,不同的时,暂停时,只需要把升源函数中的电流赋值为0即可。

3)单相Dsp信号源的暂停函数

同2

4)单相LED配3801标准表的暂停函数

SinglePause(pIntComPort:LongInt;pSngVoltage:Single):LongInt

;stdcall;export;

函数说明:串口参数的使用跟上面的一致,只是暂停时,需要输入参数pSngVoltage为0即可。

3、信号源降源函数

1)三相暂停函数,早期C型和D型台体暂停函数SourceClear_Fun(pIntComPort:LongInt):LongInt;stdcall;export;

函数说明:此函数为降源命令,只需要传递一个串口值就行

2)三相Dsp信号源的降源函数

DSP信号源降源命令跟升源命令一样,只是在降源的时候,三相电压电流赋值都为0就行。

3)单相Dsp信号源的降源函数同2)

4)单相LED配3801标准表的暂停函数

SingleClear(pIntComPort:LongInt):LongInt;stdcall;export;

函数说明:此函数为单相普通信号源降源命令,降源是只需要使用次函数并传递一个串口值就行。

4、台体8000板(误差计数器)控制函数(适用所有台体)

1)函数ErrorOrder_gFun,8000板(误差计数器)通讯命令

ErrorOrder_gFun(pIntComPort:LongInt;pIntID:LongInt;

pIntAddress:LongInt;pIntTime:LongInt;

varpUdtAnswer:Answer):LongInt;Stdcall;export;

函数说明如下:

pIntComPort串口,使用跟上面函数说明一样。pIntID命令控制字2:读误差。3:寻标记准备(启潜动功能)1114:寻标记开始(启潜动功能)2225:读取寻标记结果(启潜动功能)6:寻标记终止(启潜动功能)7:读取启、潜动开门脉冲(启潜动功能)8:读取启、潜动结果(启潜动功能)

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,varpUdtAnswer:Answer;varpUdtPules: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标准表地址,默认为55IntCommandID控制命令字1:联机(保存字)2:脱机(保存字)3:读取标准表显示值

4:标准表有功输出及电流输出档位

?lIntID=1010A档位

?lIntID=55A档位?lIntID=11A档位?lIntID=0自动档位5:标准表无功输出及电流输出档位

?lIntID=1010A档位?lIntID=55A档位?lIntID=11A档位?lIntID=0自动档位6:设置标准表相线(phaseWire)

?lIntID=13p4w(三相四线有功/正弦无功)?lIntID=23p3w(三相三线有功/正弦无功)?lIntID=33p4w(三相四线90度无功)?lIntID=43p3w(三相三线60度无功)?lIntID=53p3w(三相三线90度无功)7:保存字8:保存字9:设置标准显示电流档位

?lIntID=100100A档位?lIntID=1010A档位?lIntID=11A档位

10:保存字

pStrData读取标准表返回当前测量值(结构体)具体参数定义,请参照附录1.

7、日计时(秒脉冲)控制函数

由于台体测试秒脉冲使用的是公司生产的时钟晶振仪HPU-1012,此仪器测

试时产生的高频脉冲和台体上测试误差产生的高频脉冲不能通用,所以在测试日计时(秒脉冲)的时候,先要对台体高频信号进行切换。相应函数:ProcedureIni_SecPules(pIntComPort:LongInt;

pIntID:LongInt);stdcall;export

函数说明:此函数没有返回值。

pIntComPort请参照上面函数一致参数定义pIntID1表示切换到秒脉冲测试状态0表示切换到误差测试状态

8、日计时(秒脉冲)误差读取函数

FunctionError_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,定义如下:

TypeStandard=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)

EndType

?误差返回值Answer,定义如下:

TypeAnswer=Record

StrAnswer:Single;//返回误差值。

StrTimes:Single;//返回误差值的当前次数。

EndType

?控源时间DelayTime,定义如下:

TypeDelayTime=Record

SteadyTime:LongInt;//升源稳定时间。

AdjustTime:LongInt;//升源稳定后调整电压、电流赋值

所用时间。

EndType

?结构体Pules,定义如下:

TypePules=Record

pIntSourceVersion:LongInt;pIntConstFactor:LongInt;pIntPulesConst:LongInt;pIntRoundConst:LongInt;end;

后续版本已经不使用该结构体,所以使用时传递结构体内参数值都赋值为0即可。附注:

设置的谐波问题,我们公司Dsp信号源设置的时候,需要先进行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论