新浪博客

iFIX中如何更改对象动画数据源(转载)

2018-04-13 08:07阅读:
iFIX中如何更改对象动画数据源
一、当点击一个矩形时,一个AI标签(tag)连入至矩形的水平比例填充中:
1.在屏幕上画一个矩形。
2.创建一个AI数据标签并设置 I/O address为RA(使用SIM驱动)。
3.鼠标右击矩形并从弹出窗口中选择。
4.在矩形的Click事件中填入下面代码:
Dim lstatus as Long
Rect1.Connect 'HorizontalFillPercentage', 'Fix32.Thisnode.AI.F_CV', lstatus
[/hide]
5.切换到运行模式并点击这个矩形。
6.在点击这个矩形前,它是静态的。在点击它之后,矩形以AI标签的值开始填充。现在已经在矩形的液位填充与数据块之间建立了连接。
二、改变连接一个对象动画的数据源
设置一个对象,并且改变对象的动态数据源:
1.创建一个AI类型数据块(AI1)并设置I/O地址为RA,并定义另一个I/O地址为RG的AI类型数据块(AI2)。
2.创建两个数据链接。一个数据连接到AI1,另一个连接到AI2。
3.添加一个矩形,并用AI1作为矩形的前景色动画数据源。
4.现在定义矩形的填充动画,并用AI1作为数据源。
5.编辑矩形的Click事件。添加下面代码:
[hide]
Dim AllObj As Object
Dim SingleObj As Object
Dim Count As Integer
Dim ObjCount as Integer
Set AllObj = Application.ActiveDocument.Page.ContainedObjects
For Each SingleObj In AllObj
Count = All
Obj.Count
While Count > 0
If SingleObj.ContainedObjects.Count > 0 Then
ObjCount = SingleObj.ContainedObjects.Count
While ObjCount > 0
Select Case SingleObj.ContainedObjects.Item(ObjCount).ClassName
Case 'Lookup'
SingleObj.ContainedObjects.Item(ObjCount).Source = 'Fix32.Thisnode.AI2.F_CV'
Case 'Linear'
SingleObj.ContainedObjects.Item(ObjCount).Source = 'Fix32.Thisnode.AI2.F_CV'
End Select
ObjCount = ObjCount - 1
Wend
End If
Count = Count - 1
Wend
Next SingleObj
6.切换到运行模式并点击这个矩形。
7.填充和颜色动画的数据源都从AI1的当前值变为AI2的当前值。

我的更多文章

下载客户端阅读体验更佳

APP专享