vb脚本

vb脚本
vb脚本

附录B.VBScript脚本函数简介

序号 内容 画面脚本全局脚本 页码 B01 运行数据库 33 3 B02 动态画面 337 B03 实时报表 337 B04 变量报警 337 B05 系统信息 339 B06 配方文件 339 B07 系统操作 3310 B08 当前时间 3311 B09 画面属性(1) 3°11 B10 线/矩形/圆形 3°13 B11 文本/变量 3°15 B12 多边形 3°16 B13 折线 3°19 B14 立体图形 3°20 B15 普通按钮 3°21 B16 圆形按钮 3°22 B17 三角按钮 3°23 B18 图标按钮 3°24 B19 定时器 3°25 B20 位图 3°25 B21 多选框 3°25 B22 单选框 3°26 B23 动画 3°26 B24 信息列表 3°26 B25 用户数据库 3327 B26 SQL命令 3329 B27 用户报表 3329 B28 流动管道 3°30 B29 子画面窗口 3°30 B30 转轮 3°31 B31 标签 3°31 B32 列表框 3°32 B33 数据库连接 3332 B34 配方操作按钮 3°32 B35 报表打印按钮 3°33

B36 报警状态按钮 3°33 B37 系统信息查询按钮 3°34 B38 报警信息查询按钮 3°34 B39 存档数据查询按钮 3°34 B40 存档曲线查询按钮 3°34 B41 用户管理 3334 B42 子窗口容器 3°35 B43 Gif图片 3°35 B44 实时曲线 3°35 B45 屏幕打印 3°36 B46 画面操作(2) 3°36 B47 行打印 3337 B48 INI文件 3338 B49 数据转换 3339 B50 数据库查询按钮 3°39 B51 串口操作 3340 B52 数据库列表 3°41 B53 报警状态列表 3°41 B54 表格控件 3°42 B55 保留 3°43 B56 数据选择 3°43 B57 选择框 3°44 B58 选择列表 °°44 B59 自定义菜单 3°44 B60 字符串 3°45 B61 时间间隔 3°46 B62 存储过程 3346 B63 曲线查询按钮 3°47 B64 窗口操作 3°48 B65 文件操作 3352 B66 文本文件 3353 B67 TCP通讯 3354 B68 UDP通讯 3355 B69 MSN信息 3°56

B01运行数据库

bValue= RunSys.OpenDatabase(n)

打开系统运行数据库,当大量访问系统变量时,最好打开数据库再访问,否则会发生冲突;n为运行

数据库被打开时允许的时间,单位为毫秒,在规定时间内,数据库没被打开,返回0,否则返回1;

例: bValue=RunSys.OpenDatabase(1000)

If bValue=1Then

……

RunSys.CloseDatabase

End If

RunSys.CloseDatabase

关闭被打开的系统运行数据库, 与OpenDatabase配合使用;

floatValue=RunSys.GetVarValue(VarType,VarName,VarIndex)

此函数用来从系统实时数据库中得到变量的值;VarType指定变量的类型,其中1=AI、2=AO、3=AR、4=DI、5=DO、6=DR、7=VA、8=VD;VarName指定变量的名称;VarIndex指定变量的索引号,如果不知道索引号是多少,则填-1即可;索引号可从系统的变量字典中查到;如果索引号不为-1,直接通过索引号得到变量的值;在大系统中利用索引号可以提高访问速度;

例:Value=RunSys.GetVarValue(1, "AI1",-1)

RunSys.SetVarValue VarType,VarName,VarIndex,floatValue

此函数用来修改系统实时数据库中变量的值;VarType指定变量的类型,其中2=AO、3=AR、5=DO、

6=DR、7=VA、8=VD;VarName指定变量的名称;VarIndex指定变量的索引号,如果不知道索引号是多少,则填-1即可;索引号可从系统的变量字典中查到;如果索引号不为-1,则直接通过索引号得到变量的值;在大系统中利用索引号可以提高访问速度;floatValue为要修改的数值;

例:RunSys.SetVarValue 2, "AO1",1000

SetVarValueEx VarType,VarName,VarIndex

此函数弹出窗口输入数值,以修改某个变量(AO/AR/DO/DR/VA/VD)的值或状态,VarType指定变量的类型(AO=2,AR=3,DQ=5,DR=6,VA=7,VD=8);VarName指定变量的名称;如果变量的索引号

VarIndex>-1,VarType和VarName不起作用,直接通过VarIndex修改变量值;

例: RunSys.SetVarValueEx AO,"AO1",-1

StringValue=RunSys.GetVtText(VarName,VarIndex)

此函数用来从系统实时数据库中得到文本变量(VT)的值;VarName指定变量的名称;VarIndex指定变量的索引号,如果不知道索引号是多少,则填-1即可,索引号可从系统的变量字典中查到;如果索引号不为-1,则直接通过索引号得到变量的值;在大系统中利用索引号可以提高访问速度;

例:strText=RunSys.GetVtText("VT1",-1)

RunSys.SetVtText VarName,VarIndex,stringValue

此函数用来修改系统实时数据库中文本变量(VT)的值;VarName指定变量的名称;VarIndex指定变量的索引号,如果不知道索引号是多少,则填-1即可,索引号可从系统的变量字典中查到;如果索引号不为-1,则直接通过索引号得到变量的值;在大系统中利用索引号可以提高访问速度;

stringValue为要修改的文本值;

例:RunSys.SetVtText "VT1",-1, "启动"

RunSys.SetVTtextEx VarName,VarIndex

弹出窗口输入文本,以修改某VT变量的文本内容,VarName指定变量的名称;如果变量的索引号

VarIndex>-1,VarName不起作用,直接通过VarIndex修改;

例: RunSys.SetVTtextEx "VT1",-1

floatValue=RunSys.GetValueFromDevTable(DevNo,ElementNo,DataType,DataFmt) 此函数用来直接从系统的设备数据表中得到一个数值;

DevNo指定数据所在的设备号(1…100);

ElementNo指定数据所在的单元号(0…255、511、1023);

DataType指定设备号数据的类型(1=Byte、2=Word、3=DWord);

DataFmt指定设备号数据的格式(1=整数、2=无符号整数、3=浮点数);

例:Value=RunSys.GetValueFromDevTable(2,0,2,1)

RunSys.SetValueToDevTable DevNo,ElementNo,DataType,DataFmt,Value

此函数用来直接修改系统的设备数据表中一个数值;

DevNo指定数据所在的设备号(1…100);

ElementNo指定数据所在的单元号(0…255、511、1023);

DataType指定设备号数据的类型(1=Byte、2=Word、3=DWord);

DataFmt指定设备号数据的格式(1=整数、2=无符号整数、3=浮点数);

Value为要修改的数值;

例:RunSys.SetValueToDevTable 2,0,2,1,999

boolValue=RunSys.GetStatusFromDevTable(DevNo,ElementNo,BitNo,DataType) 此函数用来直接从系统的设备数据表中得到一个状态位;

DevNo指定状态数据所在的设备号(1…100);

ElementNo指定状态数据所在的单元号(0…255、511、1023);

BitNo指定状态数据所在的位号(0…7、15、31);

DataType指定设备号数据的类型(1=Byte、2=Word、3=DWord);

例:Status=RunSys.GetStatusFromDevTable(2,0,0,1)

RunSys.SetStatusToDevTable DevNo,ElementNo,BitNo,DataType,Status

此函数用来直接修改系统的设备数据表中一个状态位.

DevNo指定状态数据所在的设备号(1…100);

ElementNo指定状态数据所在的单元号(0…255、511、1024);

BitNo指定状态数据所在的位号(0…7、15、31);

DataType指定设备号数据的类型(1=Byte、2=Word、3=DWord);

Status为要修改的状态值;

例:RunSys.SetStatusToTable 2,0,1,1,1

s=RunSys.GetTextFromDevTable(DevNo,ByteNo,ByteLen)

直接从数据设备表中得到文本内容;

DevNo指定设备号(1-99),ByteNo指定文本开始字节单元(0-1023),ByteLen指定文本的长度

(0-1023)

例: s=RunSys.GetTextFromDevTable(2,0,10)

RunSys.SetTextToDevTable DevNo,ByteNo,ByteLen,Text

把文本内容直接写入数据设备表中;

DevNo指定设备号(1-99),ByteNo指定文本开始字节(0-1023),

ByteLen指定文本的长度(0-1023),Text为文本内容;

例: RunSys.SetTextToDevTable 2,0,10,"ABCDEFG"

iValue=RunSys.GetVarIndexFromVarName(VarType,VarName)

根据变量的类型和名称得到变量的索引号;

VarType指定变量的类型,其中AI=1,AO=2,AR=3,DI=4,DO=5,DR=6,VA=7,VD=8;

VarName指定变量的名称;

例:index=RunSys.GetVarIndexFromVarName(AI,"AI1")

RunSys.EnableVarAlarm VarType,VarName

此函数用来使某个变量能够进行报警;

VarType指定变量的类型,其中1=AI、2=AO、3=AR、4=DI、5=DO、6=DR;

VarName指定变量的名称;

例:RunSys.EnableVarAlarm 1, "AI1"

RunSys.DisableVarAlarm VarType,VarName

此函数用来使某个变量不能够进行报警;

VarType指定变量的类型,其中1=AI、2=AO、3=AR、4=DI、5=DO、6=DR;VarName指定变量的名称;

例:RunSysDisableVarAlarm 1, "AI1"

RunSys.EnableVarScan VarType,VarName

此函数用来使某个变量能够进行动态扫描;

VarType指定变量的类型,其中1=AI、2=AO、3=AR、4=DI、5=DO、6=DR。VarName指定变量的名称;

例:RunSys.EnableVarScan 1, "AI1"

RunSys.DisableVarScan VarType,VarName

此函数用来使某个变量不能够进行动态扫描;

VarType指定变量的类型,其中1=AI、2=AO、3=AR、4=DI、5=DO、6=DR。VarName指定变量的名称;

例:RunSys.DisableVarScan 1, "AI1"

RunSys.SetAXDevAddress VarType,VarName,VarIndex,DevNo,ElementNo

改变模拟变量(AI、AO、AR)的设备表地址,VarType指定变量的类型(1=AI、2=AO、3=AR),VarName 为变量的名称,VarIndex为变量的索引,DevNo为要指定的设备号(1-100,1=D1、

2=D2、...),ElementNo为设备号中的开始单元号(0-1023);

例:RunSys.SetAXDevAddress AI,"AI1",1,1,10

RunSys.SetDXDevAddress VarType,VarName,VarIndex,DevNo,ElementNo,BitNo 改变模拟变量(DI、DO、DR)的设备表地址, VarType指定变量的类型(4=DI、5=DQ、6=DR),VarName 为变量的名称,VarIndex为变量的索引,DevNo为要指定的设备号(1-100,1=D1、

2=D2、...),ElementNo为设备号中的单元号(0-1023),BitNo为单元中的某一位(0-31);

例:RunSys.SetDXDevAddress DI,"DI1",1,1,10,2

RunSys.SetVarAlarm VarType,VarName,VarIndex

VarType指定变量的类型(AI=1,AO=2,AR=3,DI=4,DO=5,DR=6);

VarName指定变量的名称;

VarIndex指定变量的索引号,如果不知道索引号是多少,则填-1即可,索引号可从系统的变量字典中查到;如果索引号不为-1,则直接通过索引号得到变量的值;在大系统中利用索引号可以提高访问速度;

例: RunSys.SetVarAlarm AI,"AI1",-1

fValue= RunSys.GetVarAlarmValue(VarType,VarName,VarIndex,ValueType)

得到AI/AO/AR变量的报警设定值, VarType指定变量的类型(AI=1,AO=2,AR=3);VarName指定变量的名称;ValueType=1返回低限报警值,ValueType=2返回高限报警值,ValueType=3返回超低限报警

值,ValueType=4返回超高限报警值,ValueType=5返回增幅报警值,ValueType=6返回降幅报警

值,ValueType=7返回报警死区,ValueType=8返回报警允许状态;

例: fValue=RunSys.GetVarAlarmValue(AI,"AI1",-1,2)

RunSys.SetVarAlarm VarType,VarName,VarIndex,ValueType,AlarmValue

修改AI/AO/AR变量的报警设定值,VarType指定变量的类型(AI=1,AO=2,AR=3);VarName指定变量的名称;ValueType=1修改低限报警值,ValueType=2修改高限报警值,ValueType=3修改超低限报警

值,ValueType=4修改超高限报警值,ValueType=5修改增幅报警值,ValueType=6修改降幅报警

值,ValueType=7修改报警死区,ValueType=8修改报警允许状态;

例: RunSys.SetVarAlarmValue AI,"AI1",-1,2,100.00

fValue= RunSys.GetVarRangeValue(VarType,VarName,VarIndex,RangeType)

得到AI/AO/AR变量的量程设定值,VarType指定变量的类型(AI=1,AO=2,AR=3);VarName指定变量的名称;RangeType=1返回变量低限,RangeType=2返回变量高限;RangeType=3返回最小实际

值,RangeType=4返回最大实际值;

例: fValue=RunSys.GetVarRangeValue(AI,"AI1",-1,2)

RunSys.SetVarRangeValue VarType,VarName,VarIndex,RangeType,RangeValue 修改AI/AO/AR变量的量程设定值,VarType指定变量的类型(AI=1,AO=2,AR=3);VarName指定变量的名称;RangeType=1修改变量低限,RangeType=2修改变量高限;RangeType=3修改最小实际

值,RangeType=4修改最大实际值;

例: fValue=RunSys.GetVarRangeValue AI,"AI1",-1,2,100

RunSys.SetVarRange VarType,VarName,-1

弹出窗口,在线修改AI/AO/AR变量的量程;VarType指定变量的类型(AI=1,AO=2,AR=3);VarName指定变量的名称;

例: RunSys.SetVarRange AI,"AI1",-1

RunSys.SetVarRangeeEx VarType,VarName,Vl,Vh,Vmin,Vmax,ToSave

在线直接修改AI/AO/AR变量的量程,VarType指定变量的类型(AI=1,AO=2,AR=3);VarName指定变量的名称;Vl=变量的低限,Vh=变量的高限;Vin=最小实际值,Vmax=最大实际值;ToSave=1刷新到组态数据库

例: RunSys.SetVarRange AI,"AI1",0,300,0,1000,0

RunSys.ShowMsgWnd msgText,n

弹出一个窗口显示指定的文本内容,并显示n秒钟,不会阻塞当前操作;

msgText为显示的文本;n=0时一直显示直到手动关闭,n>0时显示n秒后自动关闭

例: RunSys.ShowMsgWnd "启动设备",5

RunSys.ShowPasswordWnd VarName,VarIndex

弹出一个窗口允许输入口令文本,以修改某VT变量的文本内容,VarName指定变量的名称;如果变量的索引号VarIndex>-1,VarName不起作用,直接通过VarIndex修改;

例: RunSys.ShowPasswordWnd "VT1",-1

RunSys.ShowPasswordWnd VarName,VarIndex

弹出窗口输入口令文本,并存储到某VT变量中,VarName指定变量的名称;如果变量的索引号

VarIndex>-1,VarName不起作用,直接通过VarIndex修改;

例: RunSys.ShowPasswordWnd "VT1",-1

RunSys.ShowDateTimeWnd VarName,VarIndex

弹出窗口选择日期和时间,并保存到某VT变量中,VarName指定变量的名称;如果变量的索引号

VarIndex>-1,VarName不起作用,直接通过VarIndex修改;

例: RunSys.ShowDateTimeWnd "VT1",-1

RunSys.TaskKeyMgr bValue

屏蔽/激活任务切换(包括任务栏、Alt+Tab等),bValue=0屏蔽任务切换,bValue=1激活任务切换;

例: RunSys.TaskKetMgr 1

RunSys.VarOnOff

触发某变量,如果变量值为0则置为1,如果变量值为1则置为0, VarType,VarName,VarIndex;

VarType指定变量的类型(AO=2,AR=3,DQ=5,DR=6,VA=7,VD=8);VarName指定变量的名称;如果变量的索引号VarIndex>-1,VarType和VarName不起作用,直接通过VarIndex修改变量值;

例: RunSys.VarOnOff AO,"AO1",-1

RunSys.Var_Add_n VarType,VarName,VarIndex,n

变量加上某个值,VarType指定变量的类型(AO=2,AR=3,VA=7);VarName指定变量的名称;如果变量的索引号VarIndex>-1,VarType和VarName不起作用,直接通过VarIndex修改变量值,n为要加的值;

例: RunSys.Var_Add_n AO,"AO1",-1,1

RunSys.Var_Sub_n VarType,VarName,VarIndex,n

变量减去某个值,VarType指定变量的类型(AO=2,AR=3,VA=7);VarName指定变量的名称;如果变量的索引号VarIndex>-1,VarType和VarName不起作用,直接通过VarIndex修改变量值,n为要减的值;

例: RunSys.Var_Sub_n AO,"AO1",-1,1

RunSys.VarPulse VarType,VarName,VarIndex

脉冲控制某个变量,先把变量置为1,2-3秒后在复位为0,VarType指定变量的类型

(AO=2,AR=3,VA=7、DO=5、DR=7、VD=8);VarName指定变量的名称;如果变量的索引号

VarIndex>-1,VarType和VarName不起作用,直接通过VarIndex修改变量值;

例: RunSys.VarPulse AO,"AO1",-1

RunSys.SetDevnoScanclass Devno,n

设置某设备号的扫描级别, DevNo为设备号1-100;n=1-101,为101时停止工作;

例: RunSys.SetDevnoScanclass 2,101

RunSys.Sleep n

使脚本停止运行,等待某间隔后,继续运行,n为等待的毫秒数,取值为1-3000;

例: RunSys.Sleep 30

B02动态画面

RunSys.OpenPicture FileName

此函数用来打开某个画面;FileName指定被打开的画面文件名称;

例:RunSys.OpenPicture "draw1.drw"

RunSys.ClosePicture FileName

此函数用来关闭某个画面;FileName指定要被关闭的画面文件名称;

例 :RunSys.ClosePicture "draw1.drw"

RunSys.PrintCurrentPicture

此函数用来打印当前正在显示的画面;

例:RunSys.PrintCurrentPicture

RunSys.PreviewCurrentPicture

此函数用来打印预览当前正在显示的画面。

例:RunSys.PreviewCurrentPicture

RunSys.SaveCurrentPictureToBmp

此函数用来把当前正在显示的画面存为位图文件,文件名为当前的时间;

例:RunSys.SaveCurrentPictureToBmp

B03实时报表

RunSys.PrintDataReport FileName,DataLen

此函数用来打印一定数据长度的数据报表;FileName是报表的格式文件;

DataLen指定要打印数据时间长度,单位为分钟,即从执行函数开始往前退一定的时间长度;

例:RunSys.PrintDataReport "p1.rpt",60

RunSys.PreviewDataReport FileName,DataLen

此函数用来预览一定数据长度的数据报表;FileName是报表的格式文件;

DataLen指定要打印的数据时间长度,单位为分钟,即从执行函数开始往前退一定的时间长度;

例:RunSys.PreviewDataReport "p1.rpt",60

RunSys.DataReportToExcelFile FileName,DataLen

此函数用来把一定数据长度的数据报表输出到ExcelFile中;

FileName是报表的格式文件;DataLen指定要打印数据时间长度,单位为分钟,即从执行函数开始往前退一定的时间长度;Excel的文件名称为当前时间;

例:RunSys. DataReportToExeclFile "p1.rpt",60

B04变量报警

RunSys.AckAlarm AlarmNo

确认某个变量报警,AlarmNo为定义的报警编号(1-1500),0为确认所有报警.

例:Runsys.AckAlarm 1

RunSys.ClearAlarm AlarmNo

清除某个变量报警,AlarmNo为定义的报警编号(1-1500),0为清除所有报警.

例:RunSys.ClearAlarm 1

RunSys.PrintAlarmReport Len

此函数用来打印一定时间长度的报警信息;

Len指定要打印报警信息的时间长度,单位为分钟;例:RunSys.PrintAlarmReport 60

RunSys.PreviewAlarmReport Len

此函数用来打印预览一定时间长度的报警信息;

Len指定要打印报警信息的时间长度,单位为分钟;例:RunSys.PreviewAlarmReport 60

RunSys.AlarmReportToExcelFile Len

此函数用来把一定时间长度的报警信息输出到Excel文件中;

Len指定要输出报警信息的时间长度,单位为分钟;例:RunSys.AlarmReportToExcelFile 60 RunSys.EnableAlarmAsk

此函数用来使报警系统能够应答报警信息;例:RunSys.EnableAlarmAsk

RunSys.DisableAlarmAsk

此函数用来使报警系统不能够应答报警信息;例:RunSys.DisableAlarmAsk

B05系统信息

RunSys.PrintSysInfoReport Len

此函数用来打印一定时间长度的系统信息;

Len指定要打印系统信息的时间长度,单位为分钟;例:RunSys.PrintSysInfoReport 60

RunSys.PreviewSysInfoReport Len

此函数用来打印预览一定时间长度的系统信息;

Len指定要打印系统信息的时间长度,单位为分钟;例:RunSys.PreviewSysInfoReport 60 RunSys.SysInfoReportToExcelFile Len

此函数用来把一定时间长度的系统信息输出到Excel文件中;

Len指定要输出系统信息的时间长度,单位钟;例:RunSys.SysInfoReportToExcelFile 60 RunSys.EnableSysInfoAsk

此函数用来使系统能够应答系统信息;例:RunSys.EnableSysInfoAsk

RunSys.DisableSysInfoAsk

此函数用来使系统不能够应答系统信息;例:RunSys.DisableSysInfoAsk

RunSys.CreateSysInfo InfoText

把文本添加到系统信息列表中;例: RunSys.CreateSysInfo "操作失败!"

B06配方文件

RunSys.DownLoadRecipe FileName

此函数用来下传一个配方文件;

例:RunSys.DownLoadRecipe "s1.rpt"

RunSys.UpLoadRecipe FileName

此函数用来上传一个配方文件;

例:RunSys.UpLoadRecipe "s1.rpt"

B07系统操作

RunSys.RunSystemTask TaskType,TaskName,TaskIndex

此函数用来执行系统数据库中组态的任务;TaskType指定任务的类型(1=CA、2=CMP、3=FB、

4=FG);TaskName指定任务的名称;TaskIndex指定任务的索引号,如果不知道索引号是多少,则填-1即可;如果索引号不为-1,则直接通过索引号执行任务;在大系统中利用索引号可以提高访问速度;

例.RunSys.RunSystemTask 3, "FB1",-1

RunSys.GetTaskIndexFromTaskName(TaskType,TaskName)

此函数用来得到系统数据库中组态的任务的索引号;

TaskType指定任务的类型(1=CA、2=CMP、3=FB、4=FG),TaskName指定任务的名称;

例:Index=RunSys.GetTaskIndexFromTaskName(3, "FB1")

RunSys.RunScript ScriptFile

此函数用来执行某个脚本文件;ScriptFile指定脚本文件的文件名称,后缀为*.Mac;

例:RunSys.RunScript "s1.mac"

RunSys.RunProcess ProcessFile

此函数用来执行某个可执行文件;ProcessFile指定可执行文件的文件名称,后缀为*.Exe;

例:RunSys.RunProcess "s1.exe"

RunSys.PlaySound SoundFile

此函数用来播放某个声音文件;SoundFile指定声音文件的文件名称,后缀为*.Wav;

例:RunSys.PlaySound "s1.wav"

RunSys.Beep Freq,Duration

此函数用来以一定的频率和延长时间发声;Freq指定声音的频率(37-32767);Duration指定延长的时间,以毫秒为单位;

例:RunSys.Beep 1000,1000

RunSys.SetBackupStatus Status

此函数用来切换系统的备份状态;Status=1时进入备份状态,Status=0时取消备份状态;

例:RunSys.SetBackupStatus 1

RunSys.CloseWindowSystem

此函数用来关闭操作系统;

例:RunSys.CloseWindowSystem

RunSys.ExitRunSys

此函数用来退出系统;

例:RunSys.CloseRunSys

B08当前时间

stringValue=CurrentTime.GetFormatTime (FormatText)

得到某种格式的当前时间表达式;FormatText设定时间格式,

例:s=CurrentTime.GetFormatTime("%Y-%m-%d% H%:%M:%S")

intValue=CurrentTime.GetYear

得到当前的年份;例:Value=CurrentTime.GetYear

intValue=CurrentTime.GetMonth

得到当前的月份;例:Value=CurrentTime.GetMonth

intValue=CurrentTime.GetDay

得到当前的日期;例:Value=CurrentTime.GetDay

intValue=CurrentTime.GetHour

得到当前的小时;例:Value=CurrentTime.GetHour

intValue=CurrentTime.GetMinute

得到当前的分钟;例:Value=CurrentTime.GetMinute

intValue=CurrentTime.GetSecond

得到当前的秒;例:Value=CurrentTime.GetSecond

intValue=CurrentTime.Get DayOfWeek

得到当前的星期;例:Value=CurrentTime.GetOfWeek

B09画面操作(1)

Picture.SetBackColor RGB_r,RGB_g,RGB_b

设置画面的背景颜色;参数RGB_r、RGB_g、RGB_b分别指定颜色中的红、绿、蓝,取值范围为0-255;

例: Picture.SetBackColor 255,0,0

Picture.SetTitle m_Title

设置画面的标题;参数m_Title为要设定画面的标题内容,长度不超过100的字符串。

例:Picture.SetTitle "回路调节"

Picture.SetHeight m_Height

设置画面的高度;参数m_Height的取值范围为768-99999的整数;

例:Picture.SetHeight 7680

Picture.SetWidth m_Width

设置画面的宽度;参数m_Width为取值范围为1024-99999的整数;

例:Picture.SetWidth 10240

Picture.SetUpdateTime m_Time

设定画面的扫描间隔时间;参数m_Time为被设定的间隔时间,取值范围为50-99999毫秒;

例:Picture.SetUpdateTime 100

Picture.OpenScriptDialog

弹出一个脚本编辑对话框,使用户能在线实时运行脚本函数;

例:Picture.OpenScriptDialog;

Picture.Print

打印当前显示画面,只能打印显示器显示的内容,不能打印显示器外的内容;

例:Picture.Print;

Picture.Preview

预览当前显示画面,只能预览显示器显示的内容,不能预览显示器外的内容;

例:Picture.Preview

Picture.SaveToDisk

把当前画面内容存为动画文件(AVI),可以进行回放;

系统以画面标题和当时时间组成文件名,每小时一个文件;

例: Picture.SaveToDisk ""

Picture.OpenSubWindow FileName,x,y,sx,sy

在当前显示画面的指定位置处显示一幅子画面窗口;

子画面窗口中显示的内容是一个画面文件的左上角部分,所以您需要做一幅画面作为子画面,请尽量把内容放置在画面的左上角;参数FileName为要显示的画面文件(*.drw),一定要指明路径和文件名,参数x,y为子窗口处在屏幕左上角的位置,sx,sy为子窗口的宽度和高度;

例:Picture.OpenSubWindow "Draw2.drw",100,100,500,600

Picture.CloseSubWindow

只能执行在子画面中,关闭当前的子画面;

例: Picture.CloseSubWindow

Picture.SwitchFullScreen

在动态显示画面时,可以使画面显示在“全屏”与“非全屏”之间切换;

B10线/矩形/圆形

ShapeObj.SetBorderWidth m_ObjName,m_Width

设置图形的边框宽度;m_ObjName为图形的对象名称,m_Width为设定的宽度,范围为0-100;

例:ShapeObj.SetBorderWidth "AAA",10

ShapeObj.SetBorderColor m_ObjName,RGB_r,RGB_g,RGB_b

设定图形边框颜色;m_ObjName为图形的对象名称;

参数RGB_r、RGB_g、RGB_b分别指定颜色中的红、绿、蓝,取值范围为0-255;

例:ShapeObj.SetBorderColor "AAA",255,0,0

ShapeObj.SetBorderStyle m_ObjName,m_Style

设定图形边框的类型;m_ObjName为图形的对象名称;m_Style代表边框的类型,m_Style=0为实线,m_Style=1为虚线,m_Style=2为点线,m_Style=3为单点线,m_Style=4为双点线;

例:ShapeObj.SetBorderStyle "AAA",1

ShapeObj.SetFillColor m_ObjName,RGB_r,RGB_g,RGB_b

设定图形的填充颜色;m_ObjName为图形的对象名称;

参数RGB_r、RGB_g、RGB_b分别指定颜色中的红、绿、蓝,取值范围为0-255;

例:ShapeObj.SetFillColor "AAA",255,0,0

ShapeObj.SetFillStyle m_ObjName,m_Style

设定图形填充格式的类型;

m_ObjName为图形的对象名称,m_Style代表边框的类型,m_Style=0为实心,m_Style=1为水平

线,m_Style=2为垂直线,m_Style=3为上45度线,m_Style=4为下45度线,m_Style=5为十字线,m_Style=6为45度十字线,m_Style=7为空心;

例:ShapeObj.SetFillStyle "AAA",1

ShapeObj.SetBackColor m_ObjName,RGB_r,RGB_g,RGB_b

设定图形的背景颜色;

m_ObjName为图形的对象名称,参数RGB_r、RGB_g、RGB_b分别指定颜色中的红、绿、蓝,取值范围为0-255;

例:ShapeObj.SetBackColor "AAA",255,0,1

ShapeObj.SetBackStyle m_ObjName,m_Style

设定图形背景格式的类型;

m_ObjName为图形的对象名称,m_Style代表格式的类型,m_Style=0为实心,m_Style=1为水平线,m_Style=2为垂直线,m_Style=3为上45度线,m_Style=4为下45度线,m_Style=5为十字线,m_Style=6为45度十字线,m_Style=7为空心;

例:ShapeObj.SetBackStyle "AAA",1

ShapeObj.EnableDynFillColor m_ObjName,m_Status

激活或屏蔽图形动态填充颜色的变化;

m_ObjName为图形的对象名称,m_Status=0停止动态变化,m_Status=1激活动态变化;

例:ShapeObj.EnableDynFillColor "AAA",1

ShapeObj.SetVarForDynFillColor m_ObjName,m_VarType,m_VarName

设置图形填充颜色动态变化所依据的变量;

m_ObjName为图形的对象名称,m_VarType指定变量的类型,其中AI=1、AO=2、AR=3、DI=4、DO=5、DR=6、VA=7、VD=8,m_VarName指定变量的名字;

例:ShapeObj.SetVarDynFillColor "AAA",AI,“AI1”

ShapeObj.SetColorForDynFillColor m_ObjName,m_Id,m_Value,RGB_r,RGB_g,RGB_b 设定图形动态填充颜色表;颜色表由30项组成,m_Id为索引号,当变量值大于等于数值m_Value时,显示由RGB_r、RGB_g、RGB_b指定的颜色;

例:ShapeObj.SetColorForDynFillColor "AAA",1,1000,255,0,0

ShapeObj.EnableDynBackColor m_ObjName,m_Status

激活或屏蔽图形动态背景颜色的变化;

m_ObjName为图形的对象名称,m_Status=0停止动态变化,m_Status=1激活动态变化;

例:ShapeObj.EnableDynBackColor "AAA",1

ShapeObj.SetVarForDynBackColor m_ObjName,m_VarType,m_VarName

设置图形背景颜色动态变化所依据的变量,m_ObjName为图形的对象名称,m_VarType指定变量的类型,其中AI=1、AO=2、AR=3、DI=4、DO=5、DR=6、VA=7、VD=8,m_VarName指定变量的名字;

例:ShapeObj.SetVarDynBackColor "AAA",AI,“AI1”

ShapeObj.SerColorForDynBackColor m_ObjName,m_Id,m_Value,RGB_r,RGB_g,RGB_b 设定图形动态背景颜色表,颜色表有30项组成:m_Id为索引号,当变量值大于等于数值m_Value时,显示由RGB_r、RGB_g、RGB_b指定的颜色;

例:ShapeObj.SetColorForDynBackColor "AAA",1,1000,255,0,0

ShapeObj.SetScaleMove

m_ObjName,m_VarType,m_VarName,m_VarLowLimit,m_VarHighLimit,m_MoveLowLimit,m_MoveHigh Limit

设置图形动态伸缩移动,m_ObjName为图形的对象名称,m_VarType指定变量的类型,其中AI=1、AO=2、AR=3、DI=4、DO=5、DR=6、VA=7、VD=8,m_VarName指定变量的名字,变量的范围由m_VarLowLimit 和m_VarHighLimit指定,伸缩百分比范围由m_MoveLowLimit和m_MoveHighLimit指定;

例:ShapeObj.SetScaleMove "AAA",AI, "AI1",0,32767,0,100

ShapeObj.EnableRotateMove m_ObjName,m_Status

激活或屏蔽图形的动态旋转移动;

m_ObjName为图形的对象名称,m_Status=0停止移动,m_Status=1激活移动;

例:ShapeObj.EnableRotateMove "AAA",1

ShapeObj.SetRotateMove

m_ObjName,m_VarType,m_VarName,m_VarLowLimit,m_VarHighLimit,m_FillLowLimit,m_FillHigh Limit,m_Mode

设置图形动态旋转移动;m_ObjName为图形的对象名称,m_VarType指定变量的类型,其中AI=1、AO=2、AR=3、DI=4、DO=5、DR=6、VA=7、VD=8,m_VarName指定变量的名字,变量的范围由m_VarLowLimit 和m_VarHighLimit指定,旋转角度范围由m_MoveLowLimit和m_MoveHighLimit指定,范围为0-360度,m_Mode可为0、1、2、3、4分别以中心、左上、右上、左下、右下为旋转中心;

例:ShapeObj.SetRotateMove "AAA",AI, "AI1",0,32767,0,360,0

ShapeObj.EnableDynVisible m_ObjName,m_Status

激活或屏蔽图形可视变化;m_ObjName为对象名称,m_Status=0停止变化,m_Status=1激活变化;

例:ShapeObj.EnableDynVisible "AAA",1

ShapeObj.SetDynVisible m_ObjName,m_VarType,m_VarName,m_Value,m_Mode 设置图形动态可视的数据,m_ObjName为图形的对象名称,m_VarType指定变量的类型,其中AI=1、AO=2、AR=3、DI=4、DO=5、DR=6、VA=7、VD=8,m_VarName指定变量的名字,m_Value为特定的比较值,m_Mode可为0、1、2,分别指定当变量的值大于、等于、小于m_Value时为可视,否则为不可视;

例:ShapeObj.SetDynVisible "AAA",AI,"AI1”,900,0

ShapeObj.EnableDynFlash m_ObjName,m_Status

激活或屏蔽图形的动态闪烁变化;m_ObjName为图形的对象名称,m_Status=0停止闪烁变化,m_Status=1激活闪烁变化;

例:ShapeObj.EnableDynFlash "AAA",1

ShapeObj.SetDynFlash m_ObjName,m_VarType,m_VarName,m_Value,m_Mode

设置图形动态闪烁的数据;m_ObjName为图形的对象名称,m_VarType指定变量的类型,其中AI=1、AO=2、AR=3、DI=4、DO=5、DR=6、VA=7、VD=8,m_VarName指定变量的名字,m_Value为特定的比较值,m_Mode可为0、1、2,分别指定当变量的值大于、等于、小于m_Value时为闪烁,否则为不闪烁;

例:ShapeObj.SetDynFlash "AAA",AI,"AI1”,900,0

ShapeObj.ToVisible m_ObjName,m_Status

使图形可见或不可见,m_ObjName为图形的对象名称,m_Status=0不可见,m_Status=1可见;

例:ShapeObj.ToVisible "AAA",1,

ShapeObj.SetScanClass m_ObjName,m_Class

设定图形扫描级别,m_ObjName为图形对象名称,0

例:ShapeObj.SetScanClass "AAA",1

ShapeObj.ChangePosition m_ObjName,l,t,r,b

使图形对象在原来位置基础上,在左边界、上边界、右边界、下边界分别加上l、t、r、b;m_ObjName 为图形的对象名称;

例:ShapeObj.ChangePosition "AAA",10,0,10,0

B11文本/变量

TextObj.SetText m_ObjName,m_Text

设定文本组件中的显示的静态文本;m_ObjName为组件的对象名称,m_Text为要设定的字符串,长度小于100;只有在没有设定动态变量时有效;

例:TextObj.SetText "AAA", "My Text String"

TextObj.SetVar m_ObjName,m_VarType,m_VarType

为文本组件对象设置某个动态显示的变量;m_ObjName为组件的对象名称;m_VarType指定变量的类型,其中AI=1、AO=2、AR=3、DI=4、DO=5、DR=6、VA=7、VD=8;m_VarName指定变量的名字;

例:TextObj.SetVar "AAA",AI, "AI1"

TextObj.SetTextColor m_ObjName,RGB_r,RGB_g,RGB_b

设定文本组件的文本颜色;m_ObjName为文本组件的对象名称;参数RGB_r、RGB_g、RGB_b分别指定颜色中的红、绿、蓝,取值范围为0-255;

例:TextObj.SetTextColor "AAA",255,0,0

TextObj.SetBackColor m_ObjName,RGB_r,RGB_g,RGB_b

设定文本组件的背景颜色;m_ObjName为文本组件的对象名称;参数RGB_r、RGB_g、RGB_b分别指定颜色中的红、绿、蓝,取值范围为0-255;

例:TextObj.SetBackColor "AAA",255,0,0

TextObj.SetScanClass m_ObjName,m_Class

设定文本扫描级别;m_ObjName为组件对象名称;0

例:TextObj.SetScanClass "AAA",2

TextObj.ToVisible m_ObjName,m_Status

使文本可见或不可见;m_ObjName为文本组件的对象名称;m_Status=0不可见,m_Status=1可见;

例:TextObj.ToVisible "AAA",1

B12多边形

PolygonObj.SetBorderWidth m_ObjName,m_Width

设置封闭折线的边框宽度;m_ObjName为封闭折线的对象名称,m_Width为设定的宽度,范围为0-100;

例:PolygonObj.SetBorderWidth "AAA",3

PolygonObj.SetBorderColor m_ObjName,RGB_r,RGB_g,RGB_b

设定封闭折线边框颜色;m_ObjName为封闭折线的对象名称,参数RGB_r、RGB_g、RGB_b分别指定颜色中的红、绿、蓝,取值范围为0-255;

例:PolygonObj.SetBorderColor "AAA",255,0,255

PolygonObj.SetBorderStyle m_ObjName,m_Style

设定封闭折线边框的类型;m_ObjName为封闭折线的对象名称,m_Style代表边框的类型,m_Style=0为实线,m_Style=1为虚线,m_Style=2为点线,m_Style=3为单点线,m_Style=4为双点线;

例:PolygonObj.SetBorderStyle "AAA",3

PolygonObj.SetFillColor m_ObjName,RGB_r,RGB_g,RGB_b

设定封闭折线的填充颜色;m_ObjName为封闭折线的对象名称,参数RGB_r、RGB_g、RGB_b分别指定颜色中的红、绿、蓝,取值范围为0-255;

例:PolygonObj.SetFillColor "AAA",255,0,255

PolygonObj.SetFillStyle m_ObjName,m_Style

设定封闭折线填充格式的类型,m_ObjName为封闭折线的对象名称,m_Style代表格式的类型,m_Style=0为实心,m_Style=1为水平线,m_Style=2为垂直线,m_Style=3为上45度线,m_Style=4为下45度线,m_Style=5为十字线,m_Style=6为45度十字线,m_Style=7为空心;

例:PolygonObj.SetFillStyle "AAA",6

PolygonObj.EnableDynFillColor m_ObjName,m_Status

激活或屏蔽封闭折线动态填充颜色的变化,m_ObjName为封闭折线的对象名称,m_Status=0停止动态变化,m_Status=1激活动态变化;

例:PolygonObj.EnableDynFillColor "AAA",1

PolygonObj.SetVarForDynFillColor m_ObjName,m_VarType,m_VarName

设置封闭折线填充颜色动态变化所依据的变量;m_ObjName为封闭折线的对象名称,m_VarType指定变量的类型,其中AI=1、AO=2、AR=3、DI=4、DO=5、DR=6、VA=7、VD=8,m_VarName指定变量的名字;

例:PolygonObj.SetVarForDynFillColor "AAA",1, "AI1"

PolygonObj.SerColorForFynFillColor m_ObjName,m_Id,m_Value,RGB_r,RGB_g,RGB_b 设定封闭折线动态填充颜色表;颜色表有30项组成:m_Id为索引号,当变量值大于等于数值m_Value时,显示由RGB_r、RGB_g、RGB_b指定的颜色;

例:PolygonObj.SetColorForDynFillColor "AAA",1,900,255,0,200

PolygonObj.EnableDynBorderColor m_ObjName,m_Status

激活或屏蔽封闭折线动态边框颜色的变化;m_ObjName为封闭折线的对象名称,m_Status=0停止动态变化,m_Status=1激活动态变化;

例:PolygonObj.EnableDynBorderColor "AAA",1

PolygonObj.SetVarForDynBorderColor m_ObjName,m_VarType,m_VarName

设置封闭折线边框颜色动态变化所依据的变量;m_ObjName为封闭折线的对象名称,m_VarType指定变量的类型,其中AI=1、AO=2、AR=3、DI=4、DO=5、DR=6、VA=7、VD=8,m_VarName指定变量的名字;

例:PolygonObj.SetVarForDynBorderColor "AAA",AI, "AI1"

PolygonObj.SerColorForFynBorderColor m_ObjName,m_Id,m_Value,RGB_r,RGB_g,RGB_b 设定封闭折线动态边框颜色表,m_ObjName为封闭折线的对象名称,颜色表有30项组成:m_Id为索引号,当变量值大于等于数值m_Value时,显示由RGB_r、RGB_g、RGB_b指定的颜色;

例:PolygonObj.SetColorForDynBorderColor "AAA",1,900,255,0,200

PolygonObj.EnableHorizontalMove m_ObjName,m_Status

激活或屏蔽封闭折线的动态水平移动;m_ObjName为封闭折线的对象名称,m_Status=0停止移动,m_Status=1激活移动;

例:PolygonObj.EnableHorizontalMove "AAA",1

PolygonObj.SetHorizontalMove

m_ObjName,m_VarType,m_VarName,m_VarLowLimit,m_VarHighLimit,m_MoveLowLimit,m_MoveHigh Limit

设置封闭折线动态水平移动的数据;m_ObjName为封闭折线的对象名称,m_VarType指定变量的类型,其中AI=1、AO=2、AR=3、DI=4、DO=5、DR=6、VA=7、VD=8,m_VarName指定变量的名字,变量的范围由m_VarLowLimit和m_VarHighLimit指定,移动偏移量范围由m_MoveLowLimit和m_MoveHighLimit指定;

例:PolygonObj.SetHorizontalMove "AAA",AI, "AI1",0,32767,0,350

PolygonObj.EnableVerticalMove m_ObjName,m_Status

激活或屏蔽封闭折线的动态垂直移动;m_ObjName为封闭折线的对象名称,m_Status=0停止移动,m_Status=1激活移动;

例:PolygonObj.EnableVerticalMove "AAA",1

PolygonObj.SetVerticalMove

m_ObjName,m_VarType,m_VarName,m_VarLowLimit,m_VarHighLimit,m_FillLowLimit,m_FillHigh Limit

设置封闭折线动态垂直移动的数据;m_ObjName为封闭折线的对象名称,m_VarType指定变量的类型,其中AI=1、AO=2、AR=3、DI=4、DO=5、DR=6、VA=7、VD=8;m_VarName指定变量的名字,变量的范围由m_VarLowLimit和m_VarHighLimit指定,移动偏移量范围由m_MoveLowLimit和m_MoveHighLimit指定;

例:PolygonObj.SetVerticalMove "AAA",AI, "AI1",0,32767,0,350

PolygonObj.EnableDynVisible m_ObjName,m_Status

激活或屏蔽封闭折线的动态可视变化;m_ObjName为封闭折线的对象名称,m_Status=0停止变化,m_Status=1激活变化;

例:PolygonObj.EnableDynVisible "AAA",1

PolygonObj.SetDynVisible m_ObjName,m_VarType,m_VarName,m_Value,m_Mode 设置封闭折线动态可视的数据;m_ObjName为封闭折线的对象名称,m_VarType指定变量的类型,其中AI=1、AO=2、AR=3、DI=4、DO=5、DR=6、VA=7、VD=8,m_VarName指定变量的名字,m_Value为特定的比较值,m_Mode可为0、1、2,分别指定当变量的值大于、等于、小于m_Value时为可视,否则为不可视;

例:PolygonObj.SetDynVisible "AAA",AI, "AI1",90,2

PolygonObj.EnableDynFlash m_ObjName,m_Status

激活或屏蔽封闭折线的动态闪烁变化;m_ObjName为封闭折线的对象名称,m_Status=0停止闪烁变化,m_Status=1激活闪烁变化;

例:PolygonObj.EnableDynFlash "AAA",1

PolygonObj.SetDynFlash m_ObjName,m_VarType,m_VarName,m_Value,m_Mode 设置封闭折线动态闪烁的数据,m_ObjName为封闭折线的对象名称,m_VarType指定变量的类型,其中AI=1、AO=2、AR=3、DI=4、DO=5、DR=6、VA=7、VD=8,m_VarName指定变量的名字。m_Value为特定的比较值,m_Mode可为0、1、2,分别指定当变量的值大于、等于、小于m_Value时为闪烁,否则为不闪烁;

例:PolygonObj.SetDynFlash "AAA",AI, "AI1",90,2

PolygonObj.ToVisible m_ObjName,m_Status

使封闭折线可见或不可见;m_ObjName为封闭折线对象名称,m_Status=0不可见,m_Status=1可见;

例:PolygonObj.ToVisible "AAA",1

PolygonObj.SetScanClass m_ObjName,m_Class

设定封闭折线对象的扫描级别;m_ObjName为封闭折线的对象名称,0

例:PolygonObj.SetScanClass "AAA",1

B13折线

PolyLineObj.SetBorderWidth m_ObjName,m_Width

设置折线的边框宽度;m_ObjName为折线的对象名称,m_Width为设定的宽度,范围为0-100;

例:PolyLineObj.SetBorderWidth "AAA",2

PolyLineObj.SetBorderColor m_ObjName,RGB_r,RGB_g,RGB_b

设定折线边框颜色;m_ObjName为折线的对象名称,参数RGB_r,RGB_g,RGB_b分别指定颜色中的红、绿、蓝,取值范围为0-255;

例:PolyLineObj.SetBorderColor "AAA",255,0,220

PolyLineObj.SetBorderStyle m_ObjName,m_Style

设定折线边框的类型,m_ObjName为折线的对象名称,m_Style代表边框的类型,m_Style=0为实线,m_Style=1为虚线,m_Style=2为点线,m_Style=3为单点线,m_Style=4为双点线;

例:PolyLineObj.SetBorderStyle "AAA",1

PolyLineObj.EnableDynBorderColor m_ObjName,m_Status

激活或屏蔽折线动态边框颜色的变化,m_ObjName为折线的对象名称,m_Status=0停止动态变

化,m_Status=1激活动态变化;

例:PolyLineObj.EnableDynBorderColor "AAA",1

PolyLineObj.EnableHorizontalMove m_ObjName,m_Status

激活或屏蔽折线的动态水平移动;m_ObjName为折线的对象名称,m_Status=0停止移动,m_Status=1激活移动;

例:PolyLineObj.EnableHorizontalMove "AAA",1

PolyLineObj.SetVarForDynBorderColor m_ObjName,m_VarType,m_VarName

设置折线边框颜色动态变化所依据的变量,m_ObjName为折线的对象名称,m_VarType指定变量的类型,其中AI=1、AO=2、AR=3、DI=4、DO=5、DR=6、VA=7、VD=8,m_VarName指定变量的名字;

例:PolyLineObj.SetVarForDynBorderColor "AAA",AI, "AI1"

PolyLineObj.SerColorForDynBorderColor m_ObjName,m_Id,m_Value,RGB_r,RGB_g,RGB_b 设定折线动态边框颜色表;m_ObjName为折线的对象名称,颜色表有30项组成:m_Id为索引号,当变量值大于等于数值m_Value时,显示由RGB_r,RGB_g,RGB_b指定的颜色;

例:PolyLineObj.SetColorForDynBorderColor "AAA",2,300,200,200,100

PolyLineObj.SetHorizontalMove

m_ObjName,m_VarType,m_VarName,m_VarLowLimit,m_VarHighLimit,m_MoveLowLimit,m_MoveHigh Limit

设置折线动态水平移动的数据;m_ObjName为折线的对象名称,m_VarType指定变量的类型,其中

AI=1、AO=2、AR=3、DI=4、DO=5、DR=6、VA=7、VD=8,m_VarName指定变量的名字,变量的范围由m_VarLowLimit和m_VarHighLimit指定,移动偏移量范围由m_MoveLowLimit和m_MoveHighLimit 指定;

例:PolyLineObj.SetHorizontalMove "AAA",AI, "AI1",0,32767,0,300

PolyLineObj.EnableVerticalMove m_ObjName,m_Status

激活或屏蔽折线动态垂直移动;m_ObjName对象名称,m_Status=0停止移动,m_Status=1激活移动;

例:PolyLineObj.EnableVerticalMove "AAA",1

PolyLineObj.SetVerticalMove

m_ObjName,m_VarType,m_VarName,m_VarLowLimit,m_VarHighLimit,m_MoveLowLimit,m_MoveHigh Limit

设置折线动态垂直移动的数据,m_ObjName为折线的对象名称,m_VarType指定变量的类型,其中AI=1、AO=2、AR=3、DI=4、DO=5、DR=6、VA=7、VD=8,m_VarName指定变量的名字。

变量的范围由m_VarLowLimit和m_VarHighLimit指定,移动偏移量范围由m_MoveLowLimit和

m_MoveHighLimit指定;

例:PolyLineObj.SetVerticalMove "AAA",AI, "AI1",0,32767,0,500

PolyLineObj.EnableDynVisible m_ObjName,m_Status

激活或屏蔽折线动态可视变化;m_ObjName对象名称,m_Status=0停止变化,m_Status=1激活变化;

例:PolyLineObj.EnableDynVisible "AAA",1

PolyLineObj.SetDynVisible m_ObjName,m_VarType,m_VarName,m_Value,m_Mode 设置折线动态可视的数据,m_ObjName为折线的对象名称,m_VarType指定变量的类型,其中AI=1、AO=2、AR=3、DI=4、DO=5、DR=6、VA=7、VD=8,m_VarName指定变量的名字,m_Value为特定的比较值,m_Mode可为0、1、2,分别指定当变量的值大于、等于、小于m_Value时为可视,否则为不可视;

例:PolyLineObj.SetDynVisible "AAA",AI, "AI1",90,2

PolyLineObj.EnableDynFlash m_ObjName,m_Status

激活或屏蔽折线的动态闪烁变化;m_ObjName为折线的对象名称,m_Status=0停止闪烁变

化,m_Status=1激活闪烁变化;

例:PolyLineObj.EnableDynFlash "AAA",1

PolyLineObj.SetDynFlash m_ObjName,m_VarType,m_VarName,m_Value,m_Mode 设置折线动态闪烁的数据,m_ObjName为折线的对象名称,m_VarType指定变量的类型,其中AI=1、AO=2、AR=3、DI=4、DO=5、DR=6、VA=7、VD=8,m_VarName指定变量的名字,m_Value为特定的比较值,m_Mode可为0、1、2,分别指定当变量的值大于、等于、小于m_Value时为闪烁,否则为不闪烁;

例:PolyLineObj.SetDynFlash "AAA",1,“AI1”,90,1

PolyLineObj.ToVisible m_ObjName,m_Status

使封闭折线可见或不可见,m_ObjName为折线的对象名称,m_Status=0不可见,m_Status=1可见;

例:PolyLineObj.ToVisible "AAA",1

PolyLineObj.SetScanClass m_ObjName,m_Class

设定折线对象的扫描级别,m_ObjName为对象名称,0

例:PolyLineObj.SetScanClass "AAA",5

B14立体图形

GradiantObj.SetBorderColor m_ObjName,RGB_r,RGB_g,RGB_b

设定立体组件边框颜色,m_ObjName为立体组件的对象名称,参数RGB_r,RGB_g,RGB_b分别指定颜色中的红、绿、蓝,取值范围为0-255;

例:GradiantObj.SetBorderColor "AAA",255,0,0

VB串口通信源程序

[程序宝典]VB串口通讯实例 程序匠人 2005-9-22 14:23:00 阅读全文(3939) | 回复(0) | 引用(0) | 查看《匠人的百宝箱》代理商品 VB串口通讯实例 作者:liwenzhao 高精度电压表(24bit) VB源程序 Dim PortValue As Integer '端口号选择1-4 Dim value As Double '当前一次取值 Dim value2 As Double '要显示的值 Dim valueSum As Double '和 Dim numCount As Double '算平均值是的计数个数 Dim func As Integer '功能号标志1-4 Dim valueFlag As Integer /********************************************** ' Check1_Click()为控制Command1是否Enabled Private Sub Check1_Click() '自动刷新被选中则刷新按钮无效 If Check1.value Then Command1.Enabled = False Else Command1.Enabled = True Command1.SetFocus End If End Sub *********************************************/ /********************************************** Private Sub Command1_Click() '显示 Call display End Sub *********************************************/ Private Sub Command2_Click() '复位 valueSum = 0 '清计数和 numCount = 1 '清计数个数 Label6.Caption = Str(numCount - 1) '显示复位 value = 0 '当前一次取值 value2 = 0 '要显示的值 valueFlag = 0

VB函数大全_基本函数大全

VB函数大全_基本函数大全 Abs 函数返回数的绝对值。 And 运算符执行两个表达式的逻辑连接。 Array 函数返回含一数组的变体。 Asc 函数返回字符串首字母的ANSI 字符代码。 赋值运算符(=) 给变量或属性赋值。 Atn 函数返回数的反正切值。 调用语句将控制移交Sub 或Function 过程。 CBool 函数返回已被转换为Boolean 子类型的变体的表达式。 CByte 函数返回已被转换为字节子类型的变体的表达式。 CCur 函数返回已被转换为货币子类型的变体的表达式。 CDate 函数返回已被转换为日期子类型的变体的表达式。 CDbl 函数返回已被转换为双精度子类型的变体的表达式。 Chr 函数返回指定ANSI 字符码的字符。 CInt 函数返回已被转换为整数子类型的变体的表达式。 Class 对象提供对已创建的类的事件的访问。 Class 语句声明类名 Clear 方法清除Err 对象的所有属性设置。 CLng 函数返回已被转换为Long 子类型的变体的表达式。 颜色常数颜色常数列表。 比较常数用于比较运算的常数列表。 连接运算符(&) 强制两个表达式的字符串连接。 Const 语句声明用于字母值的常数。 Cos 函数返回角度的余弦值。 CreateObject 函数创建并返回对“自动”对象的引用。 CSng 函数返回已被转换为单精度子类型的变体的表达式。 CStr 函数返回已被转换为字符串子类型的变体的表达式。 日期和时间常数在日期和时间运算中用来定义星期几和其他常数的常数列表。日期格式常数用于日期和时间格式的常数列表。 Date 函数返回当前系统日期。 DateAdd 函数返回加上了指定的时间间隔的日期。 DateDiff 函数返回两个日期之间的间隔。 DatePart 函数返回给定日期的指定部分。 DateSerial 函数返回指定年月日的日期子类型的变体。 DateValue 函数返回日期子类型的变体。 Day 函数返回日期,取值范围为1 至31。 Description 属性返回或者设置说明某个错误的字符串。 Dictionary 对象存储数据键、项目对的对象。 Dim 语句声明变量并分配存储空间。 除法运算符(/) 两数相除并以浮点数格式返回商。 Do...Loop 语句当条件为True 或者当条件变为True 时,重复一语句块。Empty 表示尚未初始化的变量值。 Eqv 运算符使两个表达式相等。 Erase 语句重新初始化固定数组的元素并重新分配动态数组的存储空间。 Err 对象含有关于运行时错误的信息。 Eval 函数计算并返回表达式的值。 Execute 方法根据指定的字符串,执行正则表达式的搜索。 Execute 语句执行单个或更多的指定语句。 Exit 语句退出Do...Loop、For...Next、Function 或Sub 代码块。 Exp 函数返回e (自然对数的底)的多少次方。 自乘运算符(^) 指数函数,幂为自变量。 False 关键字,其值为零。

VB 串口通信程序设计典型实例

VB 串口通信程序设计典型实例
利用 VB 开发串口通信程序既可以使用 MSComm 控件也可以调用 Windows API 函数实 现。不过,只要 MSComm 控件可以被选用,我们推荐选择此控件实现,因为 MSComm 控 件的功能和 API 调用一样强,甚至比它还好且使用起来更加简单。 在本章提供的串口通信程序设计中,除了 PC 与 PC 串口通信外,PC 与单片机、PC 与 智能仪表、PC 与 PLC、PC 与 GSM 短信模块等串口通信任务的实现均采用 MSComm 控件。
6.1 PC 与 PC 串口通信程序设计
当两台串口设备通信距离较近时,可以直接连接,最简单的情况,在通信中只需 3 根线 (发送线、接收线、信号地线)便可实现全双工异步串行通信。 本设计通过两台 PC 串口 3 线连接,介绍了利用 API 函数和 MSComm 控件设计串口通 信程序的方法,包括字符与文件的发送与接收。
6.1.1 PC 与 PC 串口通信程序设计目的
(1)掌握 PC 与 PC 串口通信的线路连接方法。 (2)利用 MSComm 控件和 API 函数实现 PC 与 PC 串口通信的程序设计方法。
6.1.2 PC 与 PC 串口通信程序设计用软、硬件
本设计用到的硬件和软件清单如表 6-1 所示。
表 6-1 序 1 2 3 号 PC 或 IPC 串口通信线(三线制) Visual Basic 6.0 设计用软、硬件 名 称 数 2 1 1 量
6.1.3 PC 与 PC 串口通信程序硬件线路图
线路说明,在计算机通电前,按图 6-1 所示将两台 PC 通过串口线连接起来:计算机 A 串口 COM1 端口的 TXD 与计算机 B 串口 COM1 端口的 RXD 相连, 计算机 A 串口 COM1 端 口的 RXD 与计算机 B 串口 COM1 端口的 TXD 相连, 计算机 A 串口 COM1 端口的 GND 与 计算机 B 串口 COM1 端口的 GND 相连。

用VB编写上位机

VB编写上位机实例 用VB编写上位机实例 16:14:22 UTC+0800Sun Apr 1 2007 用VB6.0编写第一个串口通信上位机程序 Visual Basic6.0是一个可视化窗口环境的编程软件,目前使用Visual Basic6.0可以快速简单编写单片机中的串口通信上位机程序。电子制作HPOO 下面我们以一个完整的通信试验为例子完成如何用Visual Basic6.0编写单片机串口通信程序。 打开安装好后的Visual Basic6.0主程序界面。选择“标准EXE”。如图1显示,建立Visual Basic 的编程环境。 图1 在菜单的[工程]选项中选择[部件],如图2。把Visual Basic的串口通信控件Microsoft Comm control 6.0调入工作菜单。 图2

在打开[部件]对话框中,选择Microsoft Comm control 6.0的选项框,点击[确定]。图3 图3 可以在图示3中可以看通信控件Microsoft Comm control 6.0的文件是在C:\WINNT\system32\MSCOMM32.OCX文件。 如果大家在首次调用通信控件Microsoft Comm control 6.0控件时无法在控件对话框中找到,请直接在系统目录中搜索名为MSCOMM32.OCX文件。然后通过浏览加入VB的工作界面中。添加完控件回到编程界面。如下图4。 图4 通过右边的菜单把一些必要的控件放在窗体中。然后点击窗体中的Timer控件按F4弹出属性窗口进行设置。其具体设置如下:

Timer定时器控件设置属性,(通过按F4键可弹出此窗口) Mscomm通信控件参数属性设置(通过单击控件的右键属性可弹出此窗口) 本文用到的其他控件:CommandButton控件和TextBox控件按默认属性设置不变。单片机编程器HPOO 以上设置完成,回到编程窗体区中,任意双击。会显示Visual Basic的程序窗体的Load事件程序。在代码窗口中输入:单片机编程器HPOO Private Sub Form_Load() MSComm1.PortOpen = True '窗体的加载时,就打开通信端口,通信端口的参数也可以在此指定 Timer1.Enabled = Timer1.Enabled '窗体的加载时,同时定时器控件事件 End Sub 这样设置目的是当程序在打开是,首先打开通信控件MSComm,注意这里的串口通信参数中的波特率设置是默认参数的。 即:波特率:9600bps;校验位:无;数据位:8位;停止位:1。电子元件邮购网 双击定时器控件Timer1同样在定时器窗体的事件程序中,输入相关代码: Private Sub Timer1_Timer() If MSComm1.InBufferCount > 0 Then '程序检查输入缓冲区中是否有数据,若有数据 Text1.Text = Text1.Text + MSComm1.Input

VB编程实例

一、导入到Xls文件并打印 Sub OnLButtonUp(ByVal Item, ByVal Flags, ByVal x, ByVal y) Dim a,fso a=HMIRuntime.Tags("fileName").Read Set fso = CreateObject("scripting.filesystemobject") If fso.FileExists("C:\Model.xls") Then Dim objExcelApp Set objExcelApp = CreateObject("Excel.Application") objExcelApp.Visible = False objExcelApp.Workbooks.Open "C:\Model.xls" objExcelApp.Cells(2, 3).Value = HMIRuntime.Tags("NewTag1_1").read objExcelApp.Cells(4, 5).Value = HMIRuntime.Tags("NewTag1_2").read objExcelApp.Cells(6, 7).Value = HMIRuntime.Tags("NewTag1_3").read objExcelApp.Cells(8, 9).Value = HMIRuntime.Tags("NewTag1_4").read objExcelApp.Cells(10, 11).Value = HMIRuntime.Tags("NewTag1_5").read objExcelApp.ActiveWorkbook.SaveAs("C:\Report\"&CStr(a)&".xls") objExcelApp.ActiveWorkbook.PrintOut

VBNET开发全功能串口调试助手

https://www.360docs.net/doc/386573390.html,开发全功能串口调试助手(含完整工程) 小记:https://www.360docs.net/doc/386573390.html,的串口通信用了很长时间了,也只用Write和Read这样的方法,以前都是用这种方式做上位机软件,如此足矣。而前几天研究GSM模块时对串口返回的数据总是把握不好,参考开发板附送的例程,发现采用SerialPort 的DataReceived事件,可以实现中断触发式的数据接收。于是想到要自己做一个串口调试助手,在实现基本功能的前提下增加一些方便自己调试的功能。经过断断续续的编写,就做成了下面这个小软件: 这个软件能够实现串口调试助手的全部功能,经过通信测试,数据接收性能不亚于呼啸工作室的SComAssistant2.2,通过加大输入缓冲区,可以满足大量数据接收。

https://www.360docs.net/doc/386573390.html,的串口通信主要使用VS自带的SerialPort控件,而不是早先的MSComm,更具有兼容性,这也是很久以前就放弃VB改用.NET的直接原因。该控件的主要方法、属性如下(该数据来自VS的MSDN帮助库):

想要通过串口收发数据,就需要对串口进行配置,包括设置端口、波特率、数据格式(如COM1端口、9600bps、8位数据位、无校验位、1位停止位)等属性,之后通过Open方法打开串口。打开串口可通过手动指定,也可以使用GetPortNames方法获取计算机中存在的串口。如果打开出错,则可能是串口不存在或者已被占用。下面是相应代码: Private Sub SerialPortOpen() On Error GoTo Err If SerialPort.IsOpen =True Then SerialPort.Close()'避免重复打开端口 SerialPort.Open() LabelCOMStatus.Text ="串口已打开" Exit Sub Err:MsgBox("串口不存在或已被占用!"+ vbNewLine + ErrorToString())'出现错误,显示错误信息 End Sub 如果想要在串口中支持中文字符收发,则可在初始化时设置串口控件的编码:SerialPort.Encoding = System.Text.Encoding.Default

vb脚本

附录B.VBScript脚本函数简介 序号 内容 画面脚本全局脚本 页码 B01 运行数据库 33 3 B02 动态画面 337 B03 实时报表 337 B04 变量报警 337 B05 系统信息 339 B06 配方文件 339 B07 系统操作 3310 B08 当前时间 3311 B09 画面属性(1) 3°11 B10 线/矩形/圆形 3°13 B11 文本/变量 3°15 B12 多边形 3°16 B13 折线 3°19 B14 立体图形 3°20 B15 普通按钮 3°21 B16 圆形按钮 3°22 B17 三角按钮 3°23 B18 图标按钮 3°24 B19 定时器 3°25 B20 位图 3°25 B21 多选框 3°25 B22 单选框 3°26 B23 动画 3°26 B24 信息列表 3°26 B25 用户数据库 3327 B26 SQL命令 3329 B27 用户报表 3329 B28 流动管道 3°30 B29 子画面窗口 3°30 B30 转轮 3°31 B31 标签 3°31 B32 列表框 3°32 B33 数据库连接 3332 B34 配方操作按钮 3°32 B35 报表打印按钮 3°33

B36 报警状态按钮 3°33 B37 系统信息查询按钮 3°34 B38 报警信息查询按钮 3°34 B39 存档数据查询按钮 3°34 B40 存档曲线查询按钮 3°34 B41 用户管理 3334 B42 子窗口容器 3°35 B43 Gif图片 3°35 B44 实时曲线 3°35 B45 屏幕打印 3°36 B46 画面操作(2) 3°36 B47 行打印 3337 B48 INI文件 3338 B49 数据转换 3339 B50 数据库查询按钮 3°39 B51 串口操作 3340 B52 数据库列表 3°41 B53 报警状态列表 3°41 B54 表格控件 3°42 B55 保留 3°43 B56 数据选择 3°43 B57 选择框 3°44 B58 选择列表 °°44 B59 自定义菜单 3°44 B60 字符串 3°45 B61 时间间隔 3°46 B62 存储过程 3346 B63 曲线查询按钮 3°47 B64 窗口操作 3°48 B65 文件操作 3352 B66 文本文件 3353 B67 TCP通讯 3354 B68 UDP通讯 3355 B69 MSN信息 3°56

基于vb的半双工串口调试软件设计

基于vb的半双工串口通信调试软件设计 一、任务 使用RS-485标准实现两台PC之间的半双工通信。 二、硬件概况 硬件设计如图1所示,由于目前多数电脑不带DB9通信接口,因此需要购买usb转R-S232转换头,并安装好相关驱动。此模块使用DB9接口的7脚(RTS端)作为485通信的数据收发控制端。 图1 使用max485和max232设计半双工通信硬件电路板 三、软件设计 1、界面设计 该程序有两个界面,主界面和设置界面。图2所示,是程序的主界面。图3所示,是通信参数设置界面。 图2 调试软件主界面

图3 设置界面2、变量及函数声明 Private tx As Integer ‘发送字符数 Private rx As Integer ‘接受字符数 Function addRx(X As Integer) rx = rx + X LabelRx.Caption = CStr(rx) End Function Function addTx(X As Integer) tx = tx + X LabelTx.Caption = CStr(tx) End Function Function clearRx() rx = 0 LabelRx.Caption = "0" End Function Function clearTx() tx = 0 LabelTx.Caption = "0" End Function 3、窗体加载与卸载 Private Sub Form_Load() 'MSComm1.PortOpen = True '打开串口 ' ss = False Combo1.Text = "COM1" With Combo1 .AddItem "COM1" .AddItem "COM2"

VBS脚本参考

VBS脚本参考之一——使用连字符2007年06月14日星期四下午08:35前言 这一章的前半部分介绍了VB 脚本最基本的概念,并且告诉你它可以完成的工作,尤其是VBS和其它的如WMI、ADSI 接合在一起的时候。后半部分主要介绍了VBS对系统管理员更有用的部分。 许多脚本和程序语言在向文本输入的时候并不严格的遵守文本的行。例如,尽管下面这个JS 脚本写了很多行,但是,JS 把它当做一行来处理。这是因为,在大部分的时候,JS 只有看到中止符的时候才认为使一个行的中止。在这个例子中,中止符就是“;”。在实际中敲入的行是和脚本本身不相关的。 var 作者:临汾市外事旅游局薛靖澜,转载请注明出处] objWMI =new Enumerator (GetObject("winmgmts:") . InstancesOf("Win32_process")) ; 正好相反,同样的一段代码,用VB 写的时候就会报一个语法错误。 Set objWMI = (GetObject("winmgmts:") . InstancesOf("Win32_process")) 这是因为,VBS用回车键来代替特定的中止符。为了中止一个VB脚本,你不需要来敲入一个分号或者其它的特殊的符号,你只需要敲回车键就好了。一般来讲,不用中止符的限制,使VBS 在编写的过程中变的简单,但是也有一点会有些复杂。为了增强程序的可读性,建

议每行的最大长度不超过80个字符。那么当你的一行代码中有100 个字符,怎么办呢?尽管看来好象有个很简单的解决办法,但是你不能用回车键来将一行代码分隔成很多行。例如如下的代码片断会返回一个VB 运行错误因为它用回车键来分隔脚本 strMessageToDisplay = strUserFirstName, strUserMiddleInitial, strUserLastName, strCurrentStatus Wscript.Echo strMessageToDisplay 你不能用回车建来换行,因为在VB 中它认为回车是代表一段代码的中止,在上面的代码中,它认为第一行是脚本的第一部分陈述内容。然后认为第二行是另外一部分陈述内容。这样因为strCurrentStatus 不是一个VBS的命令,所以就报错了。为了解决这个问题,VB 脚本用下划线来表示下面一行是上面一行的代替。在VB 的早期修订版本中,在第一行末尾加一个空格和一个下划线来表示第二行是第一行的继续。为更明确的表明这个意思,第二行前面要加四个空格。(这样作是为了可读,你其实不必在继续的行前作特定的标识──就是不用在第二行前加四个空格。)作者:临汾市外事旅游局薛靖澜,转载请注明出处] strMessageToDisplay = strUserFirstName, strUserMiddleInitial, strUserLastName, _ strCurrentStatus Wscript.Echo strMessageToDisplay 当继续的行又引号的时候,它就显的特别复杂。例如,架设你用下划线和空格来分隔一个WMI脚本: Set colServiceList = GetObject("winmgmts:").ExecQuery("SELECT * FROM _ Win32_Service WHERE State = 'Stopped' AND StartMode = 'Auto' ") 如果你运行这个脚本,它会弹出一个错误,因为继续换行符放在了引号中间了,这样它就认为换行符是字符串的一部分。为了分隔这个陈述: 1:在第一行用引号中止,然后插入空格和下划线 2:用and(&)符号来开始下一行,这表示第二行是第一行字符串的继续 3:在下一行开始之前加入引号这些引号表示这些陈述是包涵在上面的一行中的,没有了引号,它就VB就解释Win32_Service 是VB 的陈述语句,因为这个语句不是合法的,所以就产生了错误。修正的版本如下: Set colServiceList = GetObject("winmgmts:").ExecQuery("SELECT * FROM " _

VB6.0环境下基于USB的虚拟串口通讯实现

VB6.0环境下基于USB的虚拟串口通讯实现 摘要:以ftdi公司的ft232bl芯片为核心设计并实现了基于usb 接口的计算机与单片机之间的虚拟串口通讯。单片机采用philips 公司p89系列单片机,完成数据的存储。计算机在windows环境下利用mscomm通讯控件实现上位机与下位机之间的数据传输。在此提出了pc机对虚拟串口的自动识别方法,并提供了程序的源代码。实验结果表明,用虚拟串口实现计算机与单片机之间的usb通信,具有速度快,软件实现简单等优点。 关键词:vb6.0; usb口; ft232bl;虚拟串口 引言 数据传输是现代通讯过程中的一个重要环节,在数据传输过程中,不仅要求数据传输的准确率要高,而且要求速度快、连接方便。传统的rs 232串口通讯和并口通讯都存在传输速度低、扩展性差、安装麻烦等缺点,而基于usb接口的数据传输系统能够较好地解决这些问题。目前,usb接口以其传输速率高、即插即用、支持热插拔等优点,逐步成为pc机的标准接口。 本文中的数据传输系统采用了usb接口进行上位机与下位机之间的数据通讯。下位机采用philips 公司p89系列单片机,完成数据的存储。上位机通过vb6.0编程,实现上位机与下位机之间的数据传输。 1数据传输系统的总体设计

系统的硬件部分主要包括2部分:上位机端和下位机端。上位机采用pc机或笔记本电脑,操作系统为windows xp,实现上位机和下位机之间的数据传输、显示、处理、存储及查询功能。系统的下位机采用philips公司p89系列单片机,完成数据的存储。下位机为一个手持的数据存储仪,由usb转串口数据转换模块、ttl转rs 422总线模块、中央处理模块、显示模块、存储模块、电源模块等组成。上位机与下位机的连接利用pc机自带的usb接口,原理框图如图1所示。 图1数据传输系统原理框图把数据记录卡插入数据存储仪内,可把卡内数据转存到存储模块。数据存储仪通过usb口与pc机连接,把所存数据传输到上位机,上位机对数据进行显示、处理及存储。系统采用ftdi公司的ft232bl芯片作为usb转串口模块,可以和单片机的内置串口直接连接,使单片机通过usb口和pc机通讯。芯片一方面可以接收从pc机发来的usb数据,并将其转换为串行i/o数据格式发送给单片机串口;另一方面可把单片机从串口发出的数据转换为usb的数据格式传回pc机。与其他usb接口芯片相比,用ft232bl芯片进行usb外设开发,只需熟悉单片机编程及简单的vc或vb 编程,而无需考虑固件设计以及驱动程序的编写,从而能大大缩短usb外设产品的开发周期。 2硬件电路设计 2.1ft232bl芯片简介

VB操作wincc脚本心得

Vbs 操作wincc画面脚本总结 一:不使用变量单纯的操作界面 1.操作某个画面中控件的属性如Home1.Pdl(总窗体)下的画面窗口2(画面窗口) Sub OnClick(ByVal Item) Dim objCircle Dim screenname Dim pwname Set objCircle= ScreenItems("圆1" ) objCircle.Radius = 60 Set screenname=HMIRuntime.Screens("Home1") //获取要操作的窗体 Set pwname=screenname.ScreenItems("画面窗口2") //获取要操作的控件,这里填入你要操作的控件名 MsgBox(objCircle.Radius) //输出圆的半径 MsgBox (pwname.Picturename) //输出当前画面窗口2的名字 End Sub 注意当调用某窗体下的某控件的某个属性时,需要声明两个对象,一个接纳这个控件,一个接纳值例如 Dim object Dim value Set object =HMIRuntime.Screens("Home1").ScreenItems("画面窗口2") Set value=object.picturename 2.更改画面窗口的对象 Sub OnClick(Byval Item) Dim opObject Set opObject=HMIRuntime.Screens ("Home1").ScreenItems("画面窗口2") opObject.PictureName="Page1.Pdl" End Sub 3.设置文本 Set titleTxt=HMIRuntime.Screens ("Home1").ScreenItems("静态文本2") titleTxt.Text =titleTxt.Text+"EF" //获取文本的值并追加字符 4.vb 字符串函数 VB的字符串截取函数有Left(字符串,n),返回字符串前N个字符;Mid(字符串,p,n),从第p个字符开始,向后截取N个字符;right(字符串,n),返回字符串的最后n个字符。 获取下标

vb6.0串口通讯上位机开发视频教程下载地址

资料1 第一章VisualBasic6基本介绍 1. 菜单栏的使用 2. 属性窗口的使用 3. 创建工程 4.窗体的操作 5. 属性值的设定 6. 程序代码编写 7. 制作一个简单应用程序 8. 窗体属性(1) 9. 窗体属性(2) 10. 窗体事件 11. 方法 第二章VisualBasic6的数据类型与运算符表达式 12.数据类型(1) 13. 数据类型(2) 14. 运算符表达式(1) 15.运算符表达式(2) 16. 运算符表达式(3) 第三章VisualBasic6的内部函数 17.常用内部函数(1) 18.常用内部函数(2) 19. 常用内部函数(3) 20. 常用内部函数(4) 21. 常用内部函数(5) 22. 常用内部函数(6) 23. 常用内部函数(7) 24. 常用内部函数(8) 25. 常用内部函数(9) 26. 常用内部函数(10) 第四章VisualBasic6的基本语句 27.基本语句(1) 28. 基本语句(2) 29. 基本语句(3) 30. 基本语句(4) 、 31.基本语句(5) 32. 基本语句(6)

33. 基本语句(7) 34. 基本语句(8) 35. 基本语句(9) 36. 基本语句(10) 37. 基本语句(11) 38. 基本语句(12) 第五章VisualBasic6的数组 39.数组(1) 40.数组(2) 41. 数组(3) 42. 数组(4) 43. 数组(5) 44. 数组(6) 45. 数组(7) 46. 数组(8) 第六章VisualBasic6的过程 47.过程(1) 48.过程(2) 49. 过程(3) 50. 过程(4) 51. 过程(5) 52. 过程(6) 53. 过程(7) 54. 过程(8) 55. 过程(9) 56. 过程(10) 第七章VisualBasic6的标准控件 57. 1111标准控件(1) 58.标准控件(2) 59. 标准控件(3) 60. 标准控件(4) 61. 标准控件(5) 62. 标准控件(6) 63. 标准控件(7) 64. 标准控件(8) 65. 标准控件(9) 66. 标准控件(10) 67. 标准控件(11)

VB串口通信程序代码

vb中怎样用mscomm控件实现串口通信 本问分两部分均来自https://www.360docs.net/doc/386573390.html, 第一部分jessezappy(晶晶) ================================================================================== If MSComm1.PortOpen Then MSComm1.PortOpen = False https://www.360docs.net/doc/386573390.html,mPort = 1 '假定是用COM1口 ' 设定传输速率等,可依照您的需求更改 MSComm1.Settings = "9600,N,8,1" MSComm1.PortOpen = True '---------初始化Modem------------- MSComm1.Output = "ATZ" MSComm1.Output = "AT&F" MSComm1.Output = "ATE0" MSComm1.Output = "ATM1" MSComm1.Output = "ATQ0" MSComm1.Output = "ATV0" '--------------------------拨号------------- MSComm1.Output ="ATDT163" '拨163 '---------------------------接通后 MSComm1.Output ="SDFJDKSJLKFA" '发送字符串 '--------------------- Private Sub MSComm1_OnComm() '用串口事件捕捉数据.. If MSComm1.InBufferCount Then ' 通讯埠中假如有资料的话, 则读取进来 InStringB = InStringB & MSComm1.Input ' 如果资料中有Chr(13) 和Chr(10) 的话, 则显示出来 If InStr(InStringB, vbCrLf) Then instring = instring & InStringB AddText Text3, InStringB, False InStringB = "" End If End If END SUB

VBNET开发全功能串口调试助手

https://www.360docs.net/doc/386573390.html, 开发全功能串口调试助手(含完整工程) 小记:https://www.360docs.net/doc/386573390.html, 的串口通信用了很长时间了,也只用 Write 和Read 这样的方 法,以前都是用这种方式做上位机软件, 如此足矣。而前几天研究GSM 模块时对 串口返回的数据总是把握不好,参考开发板附送的例程,发现采用 SerialPort 的DataReceived 事件,可以实现中断触发式的数据接收。于是想到要自己做一 个串口调试助手,在实现基本功能的前提下增加一些方便自己调试的功能。 经过 断断续续的编写,就做成了下面这个小软件: 这个软件能够实现串口调试助手的全部功能,经过通信测试,数据接收性能 不亚于呼啸工作室的SComAssistant2.2,通过加大输入缓冲区,可以满足大量 数据接收。 https://www.360docs.net/doc/386573390.html, 的串口通信主要使用 VS 自带的SerialPort 控件,而不是早先的 MSComm 更具有兼容性,这也是很久以前就放弃 VB 改用.NET 的直接原因。该控 件的主要方法、属性如下(该数据来自 VS 的MSD 帮助库):

想要通过串口收发数据,就需要对串口进行配置,包括设置端口、波特率、数据格式(如COM端口、9600bps、8位数据位、无校验位、1位停止位)等属性,之后通过Open方法打开串口。打开串口可通过手动指定,也可以使用GetPortNames 方法获取计算机中存在的串口。如果打开出错,则可能是串口不存在或者已被占用。下面是相应代码: Private SubSerialPortOpen() On Error GoToErr If SerialPort.IsOpen = True ThenSerialPort.Close() '避免重复打开端 口 SerialPort.Ope n() LabelCOMStatus.Text ="串口已打开" Exit Sub Err: MsgBox(‘ 串口不存在或已被占用!" + vbNewLine + ErrorToString()) ' 出现错误,显示错误信息 En dSub 如果想要在串口中支持中文字符收发,则可在初始化时设置串口控件的编码: SerialPort.E ncodi ng = System.Text.E ncodi ng.Default 发送数据通过Write方法来完成,由于串口调试助手需要支持文本和16进制, 需要加入转换代码: Private SubButtonSendData_Click( ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handles ButtonSendData.Click On Error GoToErr

基于VB 6.0的串口通讯程序设计

基于VB6.0的串口通讯程序设计 摘要:详细介绍了VB6.o中通讯控件MSComm的一些重要属性及在Windows环境下用通讯控件来实现串行通信的编程方法,并结合实例给出了一个基本的通讯程序。 关键词:串行通信;通信控件;Visual Basic6.0 1引言 随着计算机的迅速普及和计算机控制技术的发展,计算机被广泛应用于自动化控制领域之中。而要完成一个控制过程一般都要利用集散式计算机控制系统。在这种控制系统中,下位机主要完成对现场数据采集和对设备一级的监控,上位机则要完成对整个系统的采集、分析、处理和控制以及数据、图形显示、打印、人机对话等工作。而上位机与下位机大多是通过PC机的RS-232串行接口实现通信。随着Windows系统的普及,越来越多的用户由DOS系统转向了Windows系统,这使得数据采集及工业控制软件也上升到了Windows环境下。这就给程序员提出了如何编写面向Windows的串行通信程序问题。 虽然Windows提供了完备的开放式通用增强的W32API(应用程序接口)函数,它把对串口和其他通信设备的支持和基本输入驱动程序集于一体。但是,对于非专业软件设计人员来说,使用VC++,C等高级语言来完成这类程序的设计,其复杂性与专业化程度依然很高。 而Visual Basic6.0(以下简称VB)是一个Windows下简单、易学、高效的可视化软件开发平台,它以所见即所得的可视化界面设计风格和32位面向对象程序设计的特点,已被广泛应用到各个领域,成为众多开发人员采用的工具。VB 不但提供了良好的界面设计能力,而且在串口通信方面也有很强的功能。它提供的Microsoft Communication control(以下简称MSComm)这样一个通信控件,该控件“隐藏”了大部分串口通信的低层运行过程和许多繁琐的过程,它使用户能够方便地访问Windows下串口通信驱动程序的大多数特性。所以整个串行通信程序的开发过程变得十分简单易行,程序员不需要处理繁琐的细节,而通过利用通信控件,只需编写少量的代码来实现主要应用功能和界面的设计,就可以完成软件的开发过程。 2VB6.0串行通信控件的介绍 MSComm是Microsoft公司提供的主要用于串行通信编程的ActiveX控件。ActiveX控件包括一系列的属性、方法和事件,应用程序通过ActiveX控件提供的接口来访问控件的功能。我们知道通过C、VC++编写串口通信程序,是要

VB脚本处理字符串注意事项

在处理脚本中的字符串时应该注意什么?
组态注意事项: 下面说明了关于在 C 脚本中处理字符串时最重要的问题。必须考虑性能和稳定性因素。在不一致时,内存区可能被覆写,从而使系统 锁死 。 最坏的情况出现在字符指针。如果指针设计不当,内存区可能被覆写。下面是有关错误和正确组态的四个样例。
No. 描述: 1
没有预留内存区: char *a; a=GetTagChar("Tag name");
strcat(a,"xyz"); //有一个连接到文本的指针“a” //没有预留内存区
?
正确: 通过查询有效的指针将字符串正确复制到预定义的缓冲器中(来自描述 WinCC 信息系统的样例): char* pszValue = NULL; char szValue[101]; pszValue = GetTagChar("Varname"); //读标签值并将其缓存到 pszValue。
/*如果返回一个有效值, 将该函数返回值存入局部字符串 szValue 中。 最多保存 100 个字符。*/ if(pszValue !=NULL) //!=NULL 是必须执行的检查 //以便保证没有 NULL 指针提交 { strncpy(szValue,pszValue,100); ... } else { printf("Pointer invalid\r\n"); //使用了无效值} }
?
2 没有预留足够的内存区: 通常,由于预留的内存区太小导致内存被覆写。在这些情况下,通常在 C 中进行字符串处理时,文本结尾的一个附加字符必须始 终被保留。也就是说,必须要比被处理的文本长度多预留出一个字符。
?
错误: char a[4]; strcpy(a,"1234"); //总是有 4 个字符被复制到一个 4 字符的数组中; // 错误:文本的结尾字符被遗漏
?
正确: char a[5];

后台自动登录网页vb脚本实例代码

set IE=createobject("Internetexplorer.application") IE.Visible = True IE.Navigate "https://https://www.360docs.net/doc/386573390.html,/login.htm" ‘等待网页加载完成 While IE.busy Or IE.readystate<>4 Wend '从网页元素中找到设置的元素,并赋值 '因为form没有name或id,只能从document的collection里取forms集合 '再从中定位输入框和提交按钮 IE.Document.Forms(0).elements("name").value = "aaaa" IE.Document.Forms(0).elements("passwd").value = "1111" IE.Document.Forms(0).elements("Send").click '登录后界面是框架结构,先等主框架加载完成 While IE.busy Or IE.readystate<>4 Wend '等框架内网页1加载完成 While IE.busy Or IE.Document.Frames(1).document.readystate<>"complete" Wend '点击一个图片按钮/链接,需要先定位到框架内,再从document的collection里取images集合IE.Document.Frames(1).document.images(3).click '等主框架加载完成 While IE.busy Or IE.readystate<>4 Wend '等框架内网页2加载完成 While IE.busy Or IE.Document.Frames(2).document.readystate<>"complete" Wend '定位select控件,并作出选择

计算机网络实验——VB实现串口通信

专业: 班级: 学号: 姓名: 2011 年5 月4 日 实验3:计算机网络实验——网络编程1 一、实验目的: (1)熟悉和掌握网络编程的基本方法和步骤; (2)进一步理解client/server交互模式; (3)加深学生对于网络协议概念的理解以及协议的设计和实现方法。 二、实验任务: 使用任意网络编程语言(Java、C、VB、Delphi等)编写网络选课模拟程序,它由client和server 两部分组成,client和server之间的通信基于TCP协议。实现数据的收发。 三、网络编程: 大多数网络应用程序都遵从client/server交互模型。该模型中,服务器应用是一种专门用来提供某一种服务的程序,它被动地等待通信,而客户应用主动地启动通信,请求服务器的服务。服务器程序既可以接收信息也能发送信息,还可以成为客户。 TCP/UDP赋予每个服务一个唯一的协议端口号。服务器程序通过协议端口号来指定它所提供的服务,然后被动地等待通信。客户在发送连接请求时,必须说明服务器程序运行主机的IP地址和协议端口号来指定它所希望的服务。服务器端计算机通过此端口号将收到的请求转向正确的服务器程

序。 大多数网络编程语言都提供或者使用控件封装了套接字应用程序接口(Socket API),应用程序通过套接字接口调用来实现和传输层交互。用户目前可以使用两种套接口,即流套接字TCP和数据报套接字UDP。流式套接字定义了一种可靠的面向连接的服务,提供了双向的,有序的,无重复并且无记录边界的数据流服务。数据报套接字定义了一种无连接的服务,支持双向的数据流,但并不保证是可靠,有序,无重复的。也就是说,一个从数据报套接字接收信息的进程有可能发现信息重复了,或者和发出时的顺序不同。数据报套接字的一个重要特点是它保留了记录边界。 套节字API主要包括表1所示的接口。 使用面向连接的套接字编程,通过图2来表示其时序。套接字工作过程如下:服务器首先启动,通过调用socket()建立一个套接字,然后调用bind()将该套接字和本地网络地址联系在一起,再调用listen()使套接字做好侦听的准备,并规定它的请求队列的长度,之后就调用accept()来接收连接。客户在建立套接字后就可调用connect()和服务器建立连接,连接一旦建立,客户机和服务器之间就可以通过调用read()和write()来发送和接收数据。最后,待数据传送结束后,双方调用close()关闭套接字。 表1 套节字API主要接口 接口解释 SOCKET BIND LISTEN ACCEPT CONNET SEND RECV CLOSE 创建一个新的套接字 给服务器绑定一个传输层地址将服务器设为被动模式 接收客户的一个请求 客户向服务器发起连接 向一个连接的套接字发送数据从一个连接的套接字接收数据终止一个连接

相关文档
最新文档