组态王报警变量名不全

核心提示/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~组态王的帮助里,写得很清楚,图文并茂,很容易就懂的/~~~~~~~~~~~~~~~~~~~~~~~~~~

/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

组态王的帮助里,写得很清楚,图文并茂,很容易就懂的

/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

结构变量的定义

要使用结构变量,首先需要定义结构模板和结构成员及属性。

在组态王工程浏览器中选择数据库下的结构变量,如图1所示,双击右侧的提示图标,进入结构变量定义对话框, 如图2所示。

图1 选择定义结构变量

图2 结构变量定义对话框

在结构变量定义对话框中有“新建结构”、“增加成员”、“修改”、“删除”几个功能。如一个储料罐具有压力、温度、物位、上限报警、下限报警等几个参数,下面以此为例来说明组态王中结构变量的定义和使用过程。

新建结构:增加新的结构。单击<新建结构>按钮,弹出结构变量名输入对话框,如图所示。输入结构变量名称,单击<确定>按钮,在结构变量树状目录中显示出用户定义的结构模板。

注意:结构模板的名称和成员的名称首字母不能为数字,中间不能包含空格。命名要符合组态王变量命名规则。

如在结构名称输入对话框中输入“储料罐”,单击确定按钮,关闭对话框,则在结构变量定义界面上增加了一个新的结构,如下图所示。按照上述方法,可以建立多个结构。

增加成员:选中一个结构模板,如上图所示,单击<增加成员>按钮,弹出新建结构成员对话框,如下图所示。

该对话框与组态王基本变量定义属性对话框相同,用户在这里可以直接定义结构成员的各种属性,如基本数值属性、IO属性、报警属性、记录属性等。在成员名编辑框中输入成员名称。然后单击成员类型列表框,选择该成员的数据类型。另外,如果用户定义了其它结构模板,并且其它结构模板下定义了结构成员,那么,其它结构模板的名称也会出现在数据类型中,用户可以选择结构模板作为数据类型,将其嵌入当前结构模板中,如下图

所有属性定义与基本变量属性定义相同,这里不再细述。定义完毕后,单击<确定>按钮,关闭对话框。

按照上述方法,可以将其它成员加入到成员列表中来。定义完成后,如下图所示。如果此时确定完成,单击对话框上的“确定” 按钮,关闭对话框。

编辑:可以编辑结构模板和结构模板成员

编辑结构模板:选中一个结构模板,单击<编辑>按钮,可以编辑结构模板名称。

编辑结构模板成员:选中一个结构成员,单击<编辑>按钮,可以编辑其成员名称、成员类型。修改成员的属性并确认后,系统会出现如下图所示的提示框,提示是否将当前成员属性的修改应用到已定义的结构变量和引用该结构的结构中,如果确认修改全部相关属性,选择"是";如果只修改当前的成员的属性,选择"否"。

定义完成后,单击<确定>按钮,关闭对话框。

注意:在下列情况下,结构模板或成员不能被编辑。

1. 要编辑的结构模板被其他模板成员引用,且引用结构模板的模板定义了结构变量。

2. 要编辑的结构模板已定义结构变量,且该结构变量已被使用(画面,命令语言等)。

3. 要编辑的结构模板成员对应的结构模板被其他结构模板成员引用,而且引用结构模板的结构模板定义了结构变量。

4. 要编辑的结构模板成员对应的结构模板已定义了结构变量且结构变量已被使用(画面,命令语言等)。

5. 具有嵌套结构的结构模板成员。如下图中储料罐A下的压力。

6. 当结构模板成员类型为其他结构模板时,结构模板成员的类型不能编辑。如下图中储料罐A下的压力A。

删除结构模板或成员:选择一个结构模板或成员,单击<删除>按钮。

注意:在下列情况下,结构模板或成员不能被删除。

1. 要删除的结构模板被其他模板成员引用

2. 要删除的结构模板已定义结构变量

3. 要删除的结构模板成员对应的结构模板被其他结构模板成员引用

4. 要删除的结构模板成员对应的模板已定义结构变量

参见...

什么是结构变量

结构变量的使用

当出现没有定义的变量,或无法处理的符号时,就会出Undefined symbol 错误,意思是没有定义的符号。

出现undefined symbol错误意味着程序的符号表中找不到这几个符号,我们可以通过 ldd -r ./app 命令看当前可执行程序app的动态库链接是否有问题。?

libz.so.1 => /usr/lib64/libz.so.1 (0x00002b1ecf5f3000)。

这种情况意味着能找到该动态库 libz.so.1 => not found 。

这种就是找不到动态库,出现第二种现象你需要看一下自己的makefile或者动态库配置文件,动态库名字和路劲是否有问题。

扩资资料

<graphics.h>是TC里面的图形库,如果要用的话应该用TC来编译,VC++有他自己的另外图形库。Tc中用initgraph()函数可以切换到图形模式,用closegraph()可以从图形模式切换回字符模式。

initgraph()和closegraph()都是图形函数,使用图形函数必须包括头文件"graphics.h"。

void far i nitgraph(int far *graphdriver, int far *graphmode,char far *pathtodriver);

graphdriver是指向图形驱动序号变量的指针,

graphmode是在graphdriver选定后,指向图形显示模式序号变量的指针,

pathtodriver表示存放图形驱动文件的路径。

 
友情链接
鄂ICP备19019357号-22