杰控组态手册28.用户编程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

28.用户编程

使用API编写程序

在系统目录下存在以下三个文件,作为系统的API访问库:

fmvisiter.h、fmvisiter.lib、fmvisiter.dll;

需要把它们拷贝到你的应用程序中;

API提供了以下库函数:

//读AI变量

FMVISITER_API BOOL GetAIValue(char* VarName,float* retValue);

//读写AO变量

FMVISITER_API BOOL GetAOValue(char* VarName,float* retValue);

FMVISITER_API BOOL SetAOValue(char* VarName,float setValue);

//读写AR变量

FMVISITER_API BOOL GetARValue(char* VarName,float* retValue);

FMVISITER_API BOOL SetARValue(char* VarName,float setValue);

//读DI变量

FMVISITER_API BOOL GetDIStatus(char* VarName,BYTE* retStatus);

//读写DO变量

FMVISITER_API BOOL GetDOStatus(char* VarName,BYTE* retStatus);

FMVISITER_API BOOL SetDOStatus(char* VarName,BYTE setStatus);

//读写DR变量

FMVISITER_API BOOL GetDRStatus(char* VarName,BYTE* retStatus);

FMVISITER_API BOOL SetDRStatus(char* VarName,BYTE setStatus);

//读写VA变量

FMVISITER_API BOOL GetVAValue(char* VarName,float* retValue);

FMVISITER_API BOOL SetVAValue(char* VarName,float setValue);

//读写VD变量

FMVISITER_API BOOL GetVDStatus(char* VarName,BYTE* retStatus);

FMVISITER_API BOOL SetVDStatus(char* VarName,BYTE setStatus);

//读写VT变量

FMVISITER_API BOOL GetVTText(char* VarName,char* retText);

FMVISITER_API BOOL SetVTText(char* VarName,char* setText);

//读写设备数据表

BOOL GetDevTable(int DevNo,int StartByte,int ByteLength,PBYTE retBuffer);

BOOL SetDevTable(int DevNo,int StartByte,int ByteLength,PBYTE setBuffer);

//通过变量索引访问变量

#define AI 1

#define AO 2

#define AR 3

#define DI 4

#define DO 5

#define DR 6

#define VA 7

#define VD 8

FMVISITER_API BOOL GetVarIndex(BYTE VarType,char* VarName,int* retValue); FMVISITER_API BOOL GetVarValue(BYTE VarType,int VarIndex,float* retValue); FMVISITER_API BOOL SetVarValue(BYTE VarType,int VarIndex,float setValue);

以VC++为例:

把文件fmvisiter.h、fmvisiter.lib拷贝到项目目录下,并加入到项目中:

使fmvisiter.dll文件与编译后的可执行文件在同一目录下;

//读取AI.VAR1变量

float fValue=0;

BOOL bValue=GetAIVarValue("VAR1",&fValue);

CString s;

if(bValue==TRUE) s.Format("读取变量成功!VAR1=%.2f",fValue);

else s="读取变量失败!";

//读取DI.VAR1变量

BYTE byteValue=0;

BOOL bValue=GetDIVarValue("VAR1",&byteValue);

CString s;

if(bValue==TRUE) s.Format("读取变量成功!VAR1=%i",byteValue);

else s="读取变量失败!";

//修改AR.VAR1变量=123.45

BOOL bValue=SetARVarValue("VAR1",123.45);

CString s;

if(bValue==TRUE) s.Format="修改变量成功! ";

else s="读取变量失败!";

//修改DR.VAR1变量=1

BOOL bValue=SetDRVarValue("VAR1",1);

CString s;

if(bValue==TRUE) s.Format="修改变量成功! ";

else s="读取变量失败!";

//从设备表D2中读取100个字节数据,从0字节单元开始

相关文档
最新文档