在cvi子界面怎么使用控件

在cvi子界面怎么使用控件,第1张

1. 在前面板上添加想要自定义成控件的基础控件.

2. 右键点击该控件,并选择“ Generate Custom Control Code ”

3. 指定对应的“*.c”文件,对应的函数代码将在指定的文件中创建.

如果只是用CP342-5连接上位机软件或 *** 作面板(OP),这时通讯采用的是S7协议,那么建议选择No DP模式,并且不需要调用FC1(DP_SEND)和FC2(DP_RECV)功能块,它们只是在PROFIBUS DP通讯时才使用;

面板见图

程序如下:

#include <cvirte.h>

#include <userint.h>

#include "计算.h"

static int panelHandle

int i

double x,y,val

int main (int argc, char *argv[])

{

if (InitCVIRTE (0, argv, 0) == 0)

return -1 /* out of memory */

if ((panelHandle = LoadPanel (0, "计算.uir", PANEL)) < 0)

return -1

DisplayPanel (panelHandle)

RunUserInterface ()

DiscardPanel (panelHandle)

return 0

}

int CVICALLBACK Quit (int panel, int control, int event,

void *callbackData, int eventData1, int eventData2)

{

switch (event)

{

case EVENT_COMMIT:

QuitUserInterface (0)

break

}

return 0

}

int CVICALLBACK Jisuan (int panel, int control, int event,

void *callbackData, int eventData1, int eventData2)

{

switch (event)

{

case EVENT_COMMIT:

GetCtrlVal(panelHandle,PANEL_NUMERIC,&x)

GetCtrlVal(panelHandle,PANEL_NUMERIC_1,&y)

GetCtrlVal(panelHandle,PANEL_RINGSLIDE,&i)

switch(i)

{

case 0:

val=x+y

break

case 1:

val=x-y

break

case 2:

val=x*y

break

case 3:

if(y==0)

{

MessagePopup("Warning","被除数不能为“0”")

}

else

val=x/y

break

}

SetCtrlVal(panelHandle,PANEL_NUMERIC_2,val)

break

}

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11641286.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存