<< 点击显示目录 >> 主页 PVI通信 > PVI帮助信息 > PVI Services > Communication classes > Variable class > 缩放值 |
缩放值是在 缩放 类 的帮助下完成的 。因此,它是通过给这个类分配一个实例来定义的。然后每个变量对象都接受 缩放 属性。
Variable variable = new Variable(this.service,"clientVariable");
// 通过分配一个新的缩放实例进行缩放
variable.Scaling = new Scaling();
variable.Connect(ConnectionType.Link);
一个缩放对象提供四种不同的缩放方式。
构建:
Scaling ( Value factor ); Variable variable = new Variable(this.service,"clientVariable");
// 通过分配一个新的缩放实例进行缩放
variable.Scaling = new Scaling();
variable.Connect(ConnectionType.Link);
例子:
variable.Scaling = new Scaling(10);
使用一个系数进行缩放,将变量的测量值乘以该系数.
重要的是
如果在缩放Integer类型的变量时返回带有小数位的结果,那么必须使用DataType属性设置变量或值对象的数据类型。
variable.Value.DataType = DataType.Single。
重要的是
DataType属性只能为链接变量对象设置!
缩放对象的 因子 属性可以用来在任何时候改变因子。然后必须用 变量类的WriteScaling 方法 启用 "新 "因子值 。
variable.Scaling.Factor = 20;
variable.WriteScaling();
构建:
Scaling ( Value minValue, Value maxValue );
例子:
variable.Scaling = new Scaling(1,1000);
用MinValue和MaxValue来限制一个数值范围,可以在读和写两个方向上限制测量值。写入时超过任何一个极限值都会导致错误事件。
与缩放系数一样,以这种方式缩放时的极限值也可以在任何时候改变。
variable.Scaling.MinValue = -150;
variable.Scaling.MaxValue = 300;
variable.WriteScaling();
构建:
Scaling ( Value minValue, Value maxValue, Value factor );
例子:
variable.Scaling = new Scaling(-250,750,10);
结合极限值和缩放因子,一方面可以限制变量的原始值,另一方面可以用因子进行计算。对 MinValue、 MaxValue和 Factor 属性 的改变 只有在 调用WriteScaling 方法 后才会生效 。
构造:
Scaling ( ScalingPointCollection scalingPoints );
构建ScalingPoint对象:
ScalingPoint ( Value xValue, Value yValue );
例子:
// 生成一个ScalingPointCollection对象
ScalingPointCollection scalingPoints = new ScalingPointCollection();
scalingPoints.Add(new ScalingPoint(40,30));
scalingPoints.Add(new ScalingPoint(100,50));
scalingPoints.Add(new ScalingPoint(140,80));
// 生成缩放对象
variable.Scaling = new Scaling(scalingPoints);
用X和Y坐标定义各种缩放点(ScalingPoint),将原始值转换为应用值。Y值代表应用侧的值,而X值代表控制器侧的值。各个数据点被分组在ScalingPointCollection对象中(Add()),并在变量的缩放对象中定义。这里也可以改变配置的缩放比例。
// 生成一个新的ScalingPointCollection对象
ScalingPointCollection newScalingPoints = new ScalingPointCollection();
newScalingPoints.Add(new ScalingPoint(50,30));
newScalingPoints.Add(new ScalingPoint(120,60));
newScalingPoints.Add(new ScalingPoint(130,80));
newScalingPoints.Add(new ScalingPoint(170,110));
// 生成缩放对象
variable.Scaling.ScalingPoints = newScalingPoints;
variable.WriteScaling();
注意
缩放属性的默认值是0,如果你想进行缩放操作,必须在调用Connect()方法之前设置。如果在进行连接时缺少缩放信息,但以后可以设置,那么该属性应该在调用
连接时缺少缩放信息,但以后可以进行设置,那么该属性应该被初始化,如下所示。
variable.Scaling = new Scaling();