这是我在新浪博客发的学习笔记,在这边也发一次,避免丢失。
citect2018使用CitectVBA定制过程分析器1_来自金沙江的小鱼_新浪博客 (sina.com.cn)
我以前自学过使用cicode定制过程分析器,不过仅仅做了一些简单的功能。见下面的链接
citect2018使用cicode定制过程分析器趋势笔链接变量_来自金沙江的小鱼_新浪博客 (sina.com.cn) citect中还有CitectVBA脚本,也可以定制过程分析器效果,今晚通过参照手册做练习,记录一下过程分析器如何在程序逻辑中定制。 新建一个Citect 2018项目,这个练习项目是在一个空的过程分析其上添加板,添加趋势笔,链接变量,定义坐标范围,加载游标。 新建项目之后,新建一个页面main,在页面上放置一个过程分析器,编号为AN4,放置一个按钮。 新建5个REAL类型的内部变量A1,A2,A3,A4,A5,新建5个趋势变量A1,A2,A3,A4,A5关联前面5个变量。新建一个cicode,用于给变量赋初始值。 FUNCTION V_INI() A1=10 A2=20 A3=30 A4=40 A5=50 END 再新建一个CitectVBA程序,用于定制过程分析器。新建两个趋势板,分别装入这5个趋势 Sub pa_ini() Dim pa As Object Dim hPanes As Object Dim hPane As Object Dim hPens As Object Dim hPen1 As Object Dim hCursor As Object Set pa = main_AN4 Sub pa_ini() Dim pa As Object Dim hPanes As Object Dim hPane As Object Dim hPens As Object Dim hPen1 As Object Dim hCursor As Object Set pa = main_AN4 CicodeCallOpen("V_INI") ' 加载变量赋值 '加载游标 Set hCursor=pa.cursors.create("cursor1",500) hCursor.visible=true '创建趋势板 Set hPane=pa.panes.create("我的趋势板1") '在第一个面板上添加一个模拟量趋势笔, 'pentype数字4097表示模拟量,4098表示0和1的bool,4099表示为状态的笔 '3表示使用name作为趋势笔的名字 Set hPen1=hPane.pens.create(4097,3) 'msgbox "ok" hPen1.Name="趋势板1的1#模拟量趋势笔" '关联趋势变量 hPen1.DataPoint="A1" '不是即时趋势 hPen1.InstantTrend=false '跳转到当前时间 hPen1.GotoNow '设定纵坐标范围0-200 hPen1.PutVerticalAxisSpan 0.0,200.0 '设定横坐标范围0周0天8小时0分0秒0毫秒 hPen1.SetDefaultSpan 0,0,8,0,0,0 '没有效果 '设定趋势笔的颜色,暂时没找到函数 '定义趋势笔的采样周期为500ms hPen1.SamplePeriod=500 '趋势板1下面添加趋势笔2 Set hPen1=hPane.pens.create(4097,3) 'msgbox "ok" hPen1.Name="趋势板1的2#模拟量趋势笔" '关联趋势变量 hPen1.DataPoint="A2" '不是即时趋势 hPen1.InstantTrend=false '跳转到当前时间 hPen1.GotoNow '设定纵坐标范围0-220 hPen1.PutVerticalAxisSpan 0.0,220.0 '设定横坐标范围8小时0分0秒 hPen1.SetDefaultSpan 0,0,8,0,0,0 '好像没有用 '设定趋势笔的颜色,暂时没找到函数 '定义趋势笔的采样周期为500ms hPen1.SamplePeriod=500 ' 添加趋势板2 Set hPane=pa.panes.create("我的趋势板2") '在第二个面板上添加一个模拟量趋势笔, 'pentype数字4097表示模拟量,4098表示0和1的bool,4099表示为状态的笔 '3表示使用name作为趋势笔的名字 Set hPen1=hPane.pens.create(4097,3) 'msgbox "ok" hPen1.Name="趋势板2的1#模拟量趋势笔" '关联趋势变量 hPen1.DataPoint="A3" '不是即时趋势 hPen1.InstantTrend=false '跳转到当前时间 hPen1.GotoNow '设定纵坐标范围0-230 hPen1.PutVerticalAxisSpan 0.0,230.0 '设定横坐标范围8小时0分0秒 hPen1.SetDefaultSpan 0,0,8,0,0,0 '设定趋势笔的颜色 '定义趋势笔的采样周期为500ms hPen1.SamplePeriod=500 '定义趋势板2的趋势笔2 '在第二个面板上添加一个模拟量趋势笔, 'pentype数字4097表示模拟量,4098表示0和1的bool,4099表示为状态的笔 '3表示使用name作为趋势笔的名字 Set hPen1=hPane.pens.create(4097,3) 'msgbox "ok" hPen1.Name="趋势板2的2#模拟量趋势笔" '关联趋势变量 hPen1.DataPoint="A4" '不是即时趋势 hPen1.InstantTrend=false '跳转到当前时间 hPen1.GotoNow '设定纵坐标范围0-240 hPen1.PutVerticalAxisSpan 0.0,240.0 '设定横坐标范围8小时0分0秒 hPen1.SetDefaultSpan 0,0,8,0,0,0 '设定趋势笔的颜色 '定义趋势笔的采样周期为500ms hPen1.SamplePeriod=500 '定义趋势板2的趋势笔3 '在第二个面板上添加一个模拟量趋势笔, 'pentype数字4097表示模拟量,4098表示0和1的bool,4099表示为状态的笔 '3表示使用name作为趋势笔的名字 Set hPen1=hPane.pens.create(4097,3) 'msgbox "ok" hPen1.Name="趋势板2的3#模拟量趋势笔" '关联趋势变量 hPen1.DataPoint="A5" '不是即时趋势 hPen1.InstantTrend=false '跳转到当前时间 hPen1.GotoNow '设定纵坐标范围0-250 hPen1.PutVerticalAxisSpan 0.0,250.0 '设定横坐标范围8小时0分0秒 hPen1.SetDefaultSpan 0,0,8,0,0,0 '设定趋势笔的颜色 '定义趋势笔的采样周期为500ms hPen1.SamplePeriod=500 End Sub '加载游标 Set hCursor=pa.cursors.create("cursor1",500) hCursor.visible=true '创建趋势板 Set hPane=pa.panes.create("我的趋势板1") '在第一个面板上添加一个模拟量趋势笔, 'pentype数字4097表示模拟量,4098表示0和1的bool,4099表示为状态的笔 '3表示使用name作为趋势笔的名字 Set hPen1=hPane.pens.create(4097,3) 'msgbox "ok" hPen1.Name="趋势板1的1#模拟量趋势笔" '关联趋势变量 hPen1.DataPoint="A1" '不是即时趋势 hPen1.InstantTrend=false '跳转到当前时间 hPen1.GotoNow '设定纵坐标范围0-200 hPen1.PutVerticalAxisSpan 0.0,200.0 '设定横坐标范围0周0天8小时0分0秒0毫秒 hPen1.SetDefaultSpan 0,0,8,0,0,0 '没有效果 '设定趋势笔的颜色,暂时没找到函数 '定义趋势笔的采样周期为500ms hPen1.SamplePeriod=500 '趋势板1下面添加趋势笔2 Set hPen1=hPane.pens.create(4097,3) 'msgbox "ok" hPen1.Name="趋势板1的2#模拟量趋势笔" '关联趋势变量 hPen1.DataPoint="A2" '不是即时趋势 hPen1.InstantTrend=false '跳转到当前时间 hPen1.GotoNow '设定纵坐标范围0-220 hPen1.PutVerticalAxisSpan 0.0,220.0 '设定横坐标范围8小时0分0秒 hPen1.SetDefaultSpan 0,0,8,0,0,0 '好像没有用 '设定趋势笔的颜色,暂时没找到函数 '定义趋势笔的采样周期为500ms hPen1.SamplePeriod=500 ' 添加趋势板2 Set hPane=pa.panes.create("我的趋势板2") '在第二个面板上添加一个模拟量趋势笔, 'pentype数字4097表示模拟量,4098表示0和1的bool,4099表示为状态的笔 '3表示使用name作为趋势笔的名字 Set hPen1=hPane.pens.create(4097,3) hPen1.Name="趋势板2的1#模拟量趋势笔" '关联趋势变量 hPen1.DataPoint="A3" '不是即时趋势 hPen1.InstantTrend=false '跳转到当前时间 hPen1.GotoNow '设定纵坐标范围0-230 hPen1.PutVerticalAxisSpan 0.0,230.0 '设定横坐标范围8小时0分0秒 hPen1.SetDefaultSpan 0,0,8,0,0,0 '设定趋势笔的颜色 '定义趋势笔的采样周期为500ms hPen1.SamplePeriod=500 '定义趋势板2的趋势笔2 '在第二个面板上添加一个模拟量趋势笔, 'pentype数字4097表示模拟量,4098表示0和1的bool,4099表示为状态的笔 '3表示使用name作为趋势笔的名字 Set hPen1=hPane.pens.create(4097,3) 'msgbox "ok" hPen1.Name="趋势板2的2#模拟量趋势笔" '关联趋势变量 hPen1.DataPoint="A4" '不是即时趋势 hPen1.InstantTrend=false '跳转到当前时间 hPen1.GotoNow '设定纵坐标范围0-240 hPen1.PutVerticalAxisSpan 0.0,240.0 '设定横坐标范围8小时0分0秒 hPen1.SetDefaultSpan 0,0,8,0,0,0 '设定趋势笔的颜色 '定义趋势笔的采样周期为500ms hPen1.SamplePeriod=500 '定义趋势板2的趋势笔3 '在第二个面板上添加一个模拟量趋势笔, 'pentype数字4097表示模拟量,4098表示0和1的bool,4099表示为状态的笔 '3表示使用name作为趋势笔的名字 Set hPen1=hPane.pens.create(4097,3) 'msgbox "ok" hPen1.Name="趋势板2的3#模拟量趋势笔" '关联趋势变量 hPen1.DataPoint="A5" '不是即时趋势 hPen1.InstantTrend=false '跳转到当前时间 hPen1.GotoNow '设定纵坐标范围0-250 hPen1.PutVerticalAxisSpan 0.0,250.0 '设定横坐标范围8小时0分0秒 hPen1.SetDefaultSpan 0,0,8,0,0,0 '设定趋势笔的颜色 '定义趋势笔的采样周期为500ms hPen1.SamplePeriod=500 End Sub 按钮的鼠标点击事件使用civba call pa_ini()调用上面的CitectVBA程序,就可以定制过程分析器了。 标签:设定,Set,4097,citect2018,分析器,CitectVBA,模拟量,趋势,hPen1 From: https://www.cnblogs.com/fishingsriver/p/16990606.html