力控变量 点击:5017 | 回复:3



vb数据1

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 19回
  • 年度积分:0
  • 历史总积分:45
  • 注册:2002年4月28日
发表于:2003-01-11 16:35:00
楼主
用力控时,建一中间变量A,运行时显示正常,但提示“访问不存在的位号”是什么意思? 另:变量、数据库变量、实时数据库变量 之间是什么关系?



力控三维

  • 精华:2帖
  • 求助:0帖
  • 帖子:5帖 | 73回
  • 年度积分:0
  • 历史总积分:107
  • 注册:2001年12月28日
发表于:2003-01-11 14:15:00
1楼
力控支持多种变量类型。在力控®软件中共有窗口中间变量、中间变量、实时数据库变量(DB变量)、间接变量等类型。在查找、修改变量的组态内容时首先要选择变量的类型,创建新变量时也必须首先选择变量类型。 变量类别决定了变量的作用域及数据来源。总的来讲,力控的变量系统由中间变量(包括窗口中间变量)、数据库变量和间接变量组成。中间变量也叫内存变量,分窗口中间变量和中间变量2类。数据库变量分为本地、远程数据库两类,分别由相应的数据源代表,使用方法完全相同。间接变量是一种可以在系统运行时被其它变量代换的变量可以用来完成一些更为复杂的应用。所有变量都有实型、整型、字符型三种类型。 窗口中间变量 窗口中间变量作用域限于应用程序的一个窗口,或者说,在一个窗口内创建的窗口中间变量,在其它窗口内是不可引用的,即它对其它窗口是不可见的。窗口中间变量是一种中间临时变量,它没有自己的数据源,通常用作在一个窗口内保存临时结果。 中间变量 中间变量的作用域范围为整个应用程序,不限于单个窗口。一个中间变量,在所有窗口中均可引用。即在对某一窗口的控制动作中,对中间变量的修改将对其它引用此中间变量的窗口产生影响。中间变量是一种中间临时变量,它没有自己的数据源。中间变量适于在整个应用程序中为全局性变量、需要全局引用的计算变量保存临时结果。中间变量不能保存历史趋势。系统时间等也被划分在中间变量中,以美元符号($)开头,以与其它变量区别。例如若要显示当前系统时间,可以将系统变量“$time”动画连接到一个字符串显示上。 间接变量 间接变量是一种可以在系统运行时被其它变量代换的变量。 如果在创建动画连接或在编写脚本程序时所引用的变量不能一开始就确定,需要在运行时动态更改时,就可以使用间接变量。 在系统运行时,把间接变量代换为其它变量(如:连接到I/O设备的数据库变量)。间接变量代换为其它变量后,引用间接变量的地方就相当于在引用代换变量一样。 例如,假设已在一个矩形图形上连接了“垂直百分比填充”的动作,引用的是一个中间变量INDIRECT,另有两个来自过程I/O的变量LIC101.PV和LIC102.PV。在进入运行时,可能要根据条件的变化,让这个矩形的填充动作或者连接到LIC101.PV上,或者连接到LIC102.PV。此时可以用如下形式的脚本程序来实现(关于脚本程序请参考本章第2.5节内容)。 当满足条件1时:@INDIRECT = @LIC101.PV ; 表达式1 当满足条件2时:@INDIRECT = @LIC102.PV ; 表达式2 在表达式的两边变量的前面都加上了符号“@”,表示这个表达式不是一个赋值操作,是一个变量代换操作。例如对于表达式1,经过这种变量代换后,变量INDIRECT和 LIC101.PV的数值和行为即变为完全一致。改变INDIRECT的数值就等于改变LIC101.PV的值,改变LIC101.PV的数值就等于改变INDIRECT的值,这种效果将一直保持,直到INDIRECT变量被代换为其它变量,例如当满足条件2时,执行表达式2,INDIRECT又将与LIC102.PV的值保持一致。 间接变量除了用于完成变量代换之外,也可以当作普通变量使用。例如,对于上面的表达式1,如果改成下面的形式: INDIRECT = LIC101.PV ; 它只完成一个普通的赋值操作。赋值后,变量INDIRECT与LIC101.PV的数值相同,但是当LIC101.PV的数值再次发生变化时,如果不用LIC101.PV对INDIRECT再次赋值,INDIRECT的值不会自动保持与LIC101.PV一致。

力控三维

  • 精华:2帖
  • 求助:0帖
  • 帖子:5帖 | 73回
  • 年度积分:0
  • 历史总积分:107
  • 注册:2001年12月28日
发表于:2003-01-11 14:15:00
2楼
力控支持多种变量类型。在力控®软件中共有窗口中间变量、中间变量、实时数据库变量(DB变量)、间接变量等类型。在查找、修改变量的组态内容时首先要选择变量的类型,创建新变量时也必须首先选择变量类型。 变量类别决定了变量的作用域及数据来源。总的来讲,力控的变量系统由中间变量(包括窗口中间变量)、数据库变量和间接变量组成。中间变量也叫内存变量,分窗口中间变量和中间变量2类。数据库变量分为本地、远程数据库两类,分别由相应的数据源代表,使用方法完全相同。间接变量是一种可以在系统运行时被其它变量代换的变量可以用来完成一些更为复杂的应用。所有变量都有实型、整型、字符型三种类型。 窗口中间变量 窗口中间变量作用域限于应用程序的一个窗口,或者说,在一个窗口内创建的窗口中间变量,在其它窗口内是不可引用的,即它对其它窗口是不可见的。窗口中间变量是一种中间临时变量,它没有自己的数据源,通常用作在一个窗口内保存临时结果。 中间变量 中间变量的作用域范围为整个应用程序,不限于单个窗口。一个中间变量,在所有窗口中均可引用。即在对某一窗口的控制动作中,对中间变量的修改将对其它引用此中间变量的窗口产生影响。中间变量是一种中间临时变量,它没有自己的数据源。中间变量适于在整个应用程序中为全局性变量、需要全局引用的计算变量保存临时结果。中间变量不能保存历史趋势。系统时间等也被划分在中间变量中,以美元符号($)开头,以与其它变量区别。例如若要显示当前系统时间,可以将系统变量“$time”动画连接到一个字符串显示上。 间接变量 间接变量是一种可以在系统运行时被其它变量代换的变量。 如果在创建动画连接或在编写脚本程序时所引用的变量不能一开始就确定,需要在运行时动态更改时,就可以使用间接变量。 在系统运行时,把间接变量代换为其它变量(如:连接到I/O设备的数据库变量)。间接变量代换为其它变量后,引用间接变量的地方就相当于在引用代换变量一样。 例如,假设已在一个矩形图形上连接了“垂直百分比填充”的动作,引用的是一个中间变量INDIRECT,另有两个来自过程I/O的变量LIC101.PV和LIC102.PV。在进入运行时,可能要根据条件的变化,让这个矩形的填充动作或者连接到LIC101.PV上,或者连接到LIC102.PV。此时可以用如下形式的脚本程序来实现(关于脚本程序请参考本章第2.5节内容)。 当满足条件1时:@INDIRECT = @LIC101.PV ; 表达式1 当满足条件2时:@INDIRECT = @LIC102.PV ; 表达式2 在表达式的两边变量的前面都加上了符号“@”,表示这个表达式不是一个赋值操作,是一个变量代换操作。例如对于表达式1,经过这种变量代换后,变量INDIRECT和 LIC101.PV的数值和行为即变为完全一致。改变INDIRECT的数值就等于改变LIC101.PV的值,改变LIC101.PV的数值就等于改变INDIRECT的值,这种效果将一直保持,直到INDIRECT变量被代换为其它变量,例如当满足条件2时,执行表达式2,INDIRECT又将与LIC102.PV的值保持一致。 间接变量除了用于完成变量代换之外,也可以当作普通变量使用。例如,对于上面的表达式1,如果改成下面的形式: INDIRECT = LIC101.PV ; 它只完成一个普通的赋值操作。赋值后,变量INDIRECT与LIC101.PV的数值相同,但是当LIC101.PV的数值再次发生变化时,如果不用LIC101.PV对INDIRECT再次赋值,INDIRECT的值不会自动保持与LIC101.PV一致。

vb数据1

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 19回
  • 年度积分:0
  • 历史总积分:45
  • 注册:2002年4月28日
发表于:2003-01-11 16:35:00
3楼
谢谢您的回复。 可我不明白““访问不存在的位号”是什么意思

热门招聘
相关主题

官方公众号

智造工程师