精心整理组态王常用命令语言函数速查手册
组态王 常用函数

组态王中使用这一组内存变量定义画面显示的情况。调用格式:
VarRefAddress(RefTagName, RefedTagName);
参数说明:
RefTagName:字符串型引用的变量名称
RefedTagName:字符串型被引用的变量名称
SetRealDBForFloatbool int
此函数用于生成实型变量的操作事件。除按钮命令语言外,在组态
王命令语言中修改变量的值可以生成操作事件。
调用形式:
SetRealDBForFloat("VarName",Value):
VarName为变量名,Value为变量值
例如:
在画面“显示时”命令语言中输入:
回"Out From Within" (大小写匹配的全部替换)
StrReplace("In From Within","In","Out",0,0,1) ; //返
回"Out From Within" (全字全部替换)
StrReplace()函数不能识别特殊字符,如@#$%&*()。函数
将它们视为分隔符。例如如,若函数StrReplace
"Out From Within" (只替换第一个)
StrReplace("In From Within","In","Out",0,0,0) ; //返
回"Out From WithOut" (全部替换)
北京亚控科技发展有限公司
组态王命令语言函数速查手册140
组态王命令语言函数手册

命令语言函数速查手册 “组态王”支持使用内建的复杂函数,其中包括字符串函数、数学函数、系统函数、控件函数及其他函数,下面依次介绍各个函数(函数名不区分大小写,按字母排序): Abs 此函数用于计算变量值的绝对值,使用格式如下: Abs(数值或变量名); 返回值:整值或实型值; 例如: Abs(14); 返回值为14 Abs(-7.5); 返回值为7.5 Abs(距离); 返回内存模拟变量“距离”的绝对值。
Ack 此函数常和按钮连接,当发生报警时,用此函数进行报警确认,它将产生确认报警事件。
调用格式: Ack(报警组名); 或 Ack(变量名); 例如: Ack(全厂); 或 Ack(反应罐液位); ActivateApp 此函数用于激活正在运行的窗口应用程序,使之获得输入焦点。
该函数主要用于配合函数SendKeys的使用。
调用形式: ActivateApp(AppName); 参数 描述 AppName 应用程序的执行文件名 例如: 激活Microsoft Word的正确调用为: ActivateApp("Word.exe"); ArcCos 此函数用于计算变量值的反余弦值, 变量值的取值范围在[-1,1]之间,否则函数返回值无效。
调用格式: ArcCos(变量名); 返回值:整值或实型值; 例如: ArcCos(1); 此函数返回值为0 ArcCos(temp); 此函数返回变量“temp”的反余弦值 ArcSin 此函数用于计算变量值的反正弦值, 变量值的取值范围在[-1,1]之间,否则函数返回值无效。
调用格式: ArcSin(变量值); 返回值:整值或实型值; 例如: ArcSin(1); 此函数返回值为90 ArcSin(temp); 此函数返回变量“temp”的反正弦值 ArcTan 此函数用于计算变量值的反正切值, 使用格式为: ArcTan(变量值); 返回值:整值或实型值; 例如: ArcTan(1); 此函数返回值为45 ArcTan (temp); 此函数返回变量“temp”的反正切值 Bit 此函数用以取得一个整型或实型变量某一位的值(0或1)。
组态王语言手册

组态王除了在定义动画连接时支持连接表达式,还允许编写命令 语言来扩展应用程序的功能,极大地增强了应用程序的可用性; 命令语言的格式类似C语言的格式,具有完备的词法语法错功能 和丰富的运算符、数学函数、字符串函数、控件函数、SQL 函数 和系统函数; 组态王的命令语言编辑环境已经编好,用户只要按规范编写程序 段即可。 命令语言有六种形式,其区别在于命令语言执行的时机或条件不 同:
if(\\本站点\原料油液位1==0) {\\本站点\原料油液位1=100;}
if(\\本站点\催化剂液位1==0) {\\本站点\催化剂液位1=100;} if(\\本站点\成品油液位1==100) {\\本站点\成品油液位1=0;}
报警
闪烁:\\本站点\原料油液位1>90||\\本站点\原料油液位1<10 隐含:\\本站点\原料油液位1>10&&\\本站点\原料油液位1<90
if(\\本站点\催化剂出料阀==0) { \\本站点\控制水流1=3; } else { \\本站点\控制水流1=1; \\本站点\催化剂液位1=\\本站点\ 催化剂液位1-1; \\本站点\成品油液位1=\\本站点\ 成品油液位1+1;}
if(\\本站点\成品油出料阀==0) { \\本站点\控制水流2=3; } else { \\本站点\控制水流2=1; \\本站点\成品油液位1=\\本站点\ 成品油液位1-1;}
if(menuindex==0) {ShowPicture("报警和事件画面");} if(menuindex==1&&childmenuindex==0) {ShowPicture("实时趋势曲线画面");} if(menuindex==1&&childmenuindex==1) {ShowPicture("历史趋势曲线画面");}
组态王课件4命令语言

报警管理
组态王具备完善的报警 功能,能够及时发现设 备异常并通知相关人员
处理。
组态王的应用领域
能源管理
组态王在能源管理领域的应用 主要涉及电力、石油、化工等 行业的能源数据监控和分析。
制造业
在制造业中,组态王主要用于 生产线的自动化控制、工艺流 程的监控和管理等方面。
环保监测
组态王在环保监测领域的应用 主要包括对空气质量、水质等 环境因素的实时监测和数据分 析。
该案例介绍了如何使用组态王命令语言编写电机控制系统的程序,实现电机的 启动、停止、调速等控制功能,同时实时监测电机的运行状态和故障信息。
案例四:组态王与其他软件的集成应用
总结词
探讨组态王命令语言与其他软件的接口技术,实现数据共享和系统集成。
详细描述
该案例研究了如何通过组态王与其他软件的接口技术,实现数据共享、系统集成 和远程控制等功能,提高自动化系统的整体性能和稳定性。
变量使用
在程序中,可以通过变量 来存储和传递数据,实现 各种控制逻辑和数据处理 功能。
03
常用命令语言函数
数据处理函数
数据转换函数
用于在不同数据类型之间进行转换,如整数 转浮点数、字符串转日期等。
字符串处理函数
用于字符串的拼接、截取、替换、查找等操 作。
数学运算函数
提供基本的数学运算功能,如加、减、乘、 除、平方、开方等。
交通控制
组态王在交通控制领域的应用 主要涉及城市交通信号灯的控 制、高速公路收费站的监控等
方面。
02
命令语言基础
命令语言概述
命令语言定义
命令语言是一种编程语言,用于 编写自动化脚本和控制程序。在 组态王中,命令语言用于实现各
组态王命令语言与函数

命令语言与函数常见问题解答北京亚控科技发展有限公司2009年7月目录1. 我希望用户能在不退出组态王运行软件的情况下启动一个其他的软件做其他处理,如何实现? (1)2. 我注意到组态王的命令语言窗口中能够写入的编程命令是有限制的,我的编程命令比较长,命令窗口中无法写下,请问如何解决? (1)3. 请问我在事件命令语言中编程同一时刻处理多项任务,会造成冲突吗? (1)4. 请问组态王能否显示十六进制的数据? (1)5. 请问如何编程来在组态王软件中生成一个随机的数据? (1)6. 请问如何编程能够方便地统计一项工序的运行时间?直接采用组态王的年月日时分秒做运算比较麻烦? (1)7. 能否在组态王画面上做一个按钮,实现键盘ctrl+shift切换输入法的功能?.28. 在定义数据改变命令语言和事件命令语言时,能不能使用远程变量来作为触发脚本执行的条件? (2)9. 组态王能否实现在运行时调用一个函数,实现类似键盘的“Print Screen SysRq”屏幕硬拷贝功能? (2)1. 我希望用户能在不退出组态王运行软件的情况下启动一个其他的软件做其他处理,如何实现?针对这种需求,组态王软件专门提供了一个StartApp()函数来实现此功能,具体请参照此函数的使用说明。
2. 我注意到组态王的命令语言窗口中能够写入的编程命令是有限制的,我的编程命令比较长,命令窗口中无法写下,请问如何解决?针对这种需求,组态王软件提供了自定义命令语言功能。
用户可以先将你的整个编程命令语言进行划分(比如按子功能块),然后每个子功能块都单独的在自定义命令语言中编写,最后在你要用到的命令语言窗口中象调用组态王提供的函数一样调用你自定义的函数来实现功能即可。
3. 请问我在事件命令语言中编程同一时刻处理多项任务,会造成冲突吗?同一时刻处理多项任务,会造成计算机软件在某一时刻负担过重,从而导致系统繁忙无法及时响应用户的操作。
因此建议用户在同一事件命令语言中不要做过多的程序操作。
组态王常用的函数

组态王常用的函数 SANY标准化小组 #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#1.ReportSetHistData2此函数为报表专用函数。
查询历史数据,系统会自动弹出历史数据查询对话框。
语法使用格式如下:ReportSetHistData2(StartRow,StartCol);参数说明:StartRow:查询的数据在报表中填充的起始行数。
StartCol:查询的数据在报表中填充的起始列数。
2.Ack此函数常和按钮连接,当发生报警时,用此函数进行报警确认,它将产生确认报警事件。
调用格式:Ack(报警组名);或Ack(变量名);例如:Ack(全厂);或Ack(反应罐液位);3.Average此函数为对指定的多个变量求平均值。
语法格式使用如下:Average(’a1’,’a2’);或Average('a1:a10');a1、a2……为整型或实型变量。
其中参数个数为1-32个。
当对报表的指定单元格区域内的单元格进行求平均值运算时,结果显示在当前单元格内,语法格式使用如下:Average(’a1’,‘a2‘);例如:=Average(‘a1’,‘b2’,‘r10’)任意单元格选择求平均值=Average(‘b1:b10’);连续的单元格求平均值。
4.ChangePassword此函数显示“更改口令”对话框,允许登录工程人员更改他们的口令。
使用格式:ChangePassword();例如:为画面上某一按钮设置命令语言连接:ChangePassword();运行时单击此按钮,弹出对话框:提示工程人员输入当前的口令和新口令以及验证新口令。
完全正确后,工程人员的口令设置为新值。
5.FileDelete此函数删除不需要或不想要的文件。
调用格式:FileDelete(Filename);参数描述Filename要删除的文件名。
若找到要删除的文件,并成功地删除,此函数将返回1,否则此函数返回0。
组态王常用的命令语言函数.wps

SQLConnect连接组态王和数据库。
语法:[ResultCode=]SQLConnect(ConnectionID, “ConnectString”);参数描述ConnectionID SQLConnct()产生的连接号ConnectString 连接语句ConnectString格式如下:“DSN=data source name [;attribute= value[;attribute = value]…”例子:组态王以sa身份登录(无密码)和名为wang的SQL Server中的pubs数据库连接[ResultCode=]SQLConnect(ConnectionID,“DSN=wang;DA TABASE=pubs;UID=sa; PWD=”)属性描述:SQLCreateT able以表格模板中定义的表格类型,在数据库中创建新表。
语法:[ResultCode=]SQLCreateTable(ConnectionID,TableName,TemplateName);参数描述ConnectionID SQLConnct()产生的连接号TableName 想要创建的数据库名TemplateName 表格模板名例子:下例创建一个名为kingview的新表,模板为table1SQLCreateTable(ConnectionID, “kingview”, “table1”)SQLSelect访问数据库,得到一个特定的选择集。
选择集中的记录可以由SQLFirst(), SQLNext(), 等函数访问。
语法:[ResultCode=]SQLSelect(ConnectionID, TableName, BindList, WhereExpr, OrderByExpr);参数描述ConnectionID SQLConnct()产生的连接号TableName 表格名称BindList 记录体WhereExpression 指定函数起作用行的条件注意:如果列名是字符串,表达式必须在单引号中。
组态王if命令语言实例

组态王if命令语言实例题目:组态王if命令语言实例:从入门到高级运用导言:组态王(if命令)是一种常见的组态软件中常用的命令语言,它可以用于实现各种自动化控制逻辑。
本文将从入门开始,逐步深入介绍组态王if命令语言的使用方法和实例,以帮助读者更好地理解和运用该命令语言。
第一部分:组态王if命令语言基础知识1.1 组态王if命令语言的概述1.2 组态王if命令语言的语法规则1.3 组态王if命令语言的常用函数1.4 组态王if命令语言的编写和调试工具第二部分:组态王if命令语言入门实例2.1 实例1:温度控制系统2.1.1 系统要求2.1.2 系统设计2.1.3 if命令语言编写2.1.4 if命令语言调试和运行2.1.5 系统优化和扩展2.2 实例2:流程控制系统2.2.1 系统要求2.2.2 系统设计2.2.3 if命令语言编写2.2.4 if命令语言调试和运行2.2.5 系统优化和扩展第三部分:组态王if命令语言高级运用实例3.1 实例3:负载均衡系统3.1.1 系统要求3.1.2 系统设计3.1.3 if命令语言编写3.1.4 if命令语言调试和运行3.1.5 系统优化和扩展3.2 实例4:故障自诊断系统3.2.1 系统要求3.2.2 系统设计3.2.3 if命令语言编写3.2.4 if命令语言调试和运行3.2.5 系统优化和扩展第四部分:总结与展望4.1 组态王if命令语言的优势与不足4.2 组态王if命令语言的发展趋势4.3 如何更好地利用组态王if命令语言结语:本文详细介绍了组态王if命令语言的基础知识、入门实例和高级运用实例,希望读者能通过学习理解和掌握该命令语言的使用方法。
随着自动化控制领域的不断发展,组态王if命令语言也将不断演化和更新,读者需要不断学习和实践,以保持自己的竞争力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
精心整理组态王常用命令语言函数速查手册组态王命令语言函数手册―组态王‖支持使用内建的复杂函数,其中包括字符串函数、数学函数、系统函数、控件函数、报表函数及其他函数,下面依次介绍各个函数(函数名不区分大小写,按字母排序):Abs此函数用于计算变量值的绝对值,使用格式如下: Abs(变量名或数值); 返回值:整值或实型值; 例如: Abs(14); 返回值为14 Abs(-7.5); 返回值为7.5Abs(距离); 返回内存模拟变量―距离‖的绝对值。
Ack对变量进行报警确认,或对报警组进行报警确认。
如果函数参数为变量名称,则只对该变量进行报警确认;如果函数参数为报警组名称,则确认所有属于该报警组及其子报警组的变量。
该函数的参数只能是变量名或报警组名,不可以为字符串变量。
此函数常用于按钮命令语言,当发生报警时,用此函数进行报警确认,它将产生确认报警事件。
调用格式: Ack(报警组名); 或 Ack(变量名); 例如: Ack(全厂); 或 Ack(反应罐液位);ActivateApp activate['ækt?ve?t] vt. 刺激;使活动;使活泼;使产生放射性app [æp]n.应用程序此函数用于激活正在运行的窗口应用程序,使之变为当前窗口。
获得输入焦点。
该函数也可配合函数SendKeys的使用。
调用形式: ActivateApp(―ExeName‖);参数:ExeName 应用程序的执行文件名例如:激活Microsoft Word的正确调用为: ActivateApp("Word.exe"); ArcCos arc[ɑ?k] adj. 圆弧的;反三角函数的此函数用于计算变量值的反余弦值, 变量值的取值范围在[-1,1]之间,否则函数返回值无效。
调用格式: ArcCos(变量名或数值); 返回值:整值或实型值; 例如: ArcCos(1); 此函数返回值为0 ArcCos(temp); 此函数返回变量―temp‖的反余弦值。
Average ['æv(?)r?d?] n. 平均;平均数;adj. 平均的vt. 算出…的平均数;将…平均分配;使…平衡此函数为对指定的组态王报表表格的多个单元格求平均值,或求多个变量的平均值。
语法格式使用如下: Average(‘a1‘,‘a2‘); 或Average('a1:a10');a1、a2……为组态王单元格所在的行号列标,或整型或实型变量。
其中参数个数为1-32个。
当对报表的指定单元格区域内的单元格进行求平均值运算时,结果显示在当前单元格内,语法格式使用如下: Average(‘a1‘,?a2?);例如: 任意单元格选择求平均值: =Average(?a1‘,?b2‘,?r10‘); 连续的单元格求平均值: =Average(?b1:b10‘); 或求变量的平均值: AverageValue=1Average(lVar1,fVar1);hist - 历史 BackUpHistData history[h?st]此函数为组态王网络中从IO服务器上下载历史数据记录到历史记录服务器。
用户在历史记录服务器上调用该函数。
函数的使用需要与组态王网络配置相配合,具体内容参见《组态王6.53使用手册》中―历史库‖一章。
语法使用格式: BackupStationData (Str chMchinename, Long ftEndtime); 参数:chMchinename 字符串型为进行备份存储的IO服务器名 ftEndtime 整型为备份截止时间例如: //备份―IO采集站‖的历史数据,截至时间为当前:endTime=HTConvertTime($年,$月,$日,$时,$分,0); BackUpHistData("IO采集站", endTime);Bit此函数用以取得一个整型或实型变量某一位的值(0或1)。
用法:OnOff=Bit( Var , bitNo); //OnOff:离散变量参数:Var:整型或实型变量 bitNo:位的序号,取值1至16 返回值:离散型。
若变量Var的第bitNo位为0,返回值OnOff为0; 若变量Var的第bitNo位为1,返回值OnOff为1。
例如: 开关=Bit(DDE1,6); 从变量DDE1的第6位得到变量―开关‖状态。
BitSet此函数将一个整型或实型变量的任一位置为指定值(0或1)。
语法格式: BitSet( Var, bitNo, OnOff); 参数:Var:整型或实型变量bitNo:位的序号,取值1至16 OnOff:位的设定值注意:对于IO变量来说,BitSet函数只是用于可读可写的变量。
例如: BitSet(DDE1,6,0); 将变量DDE1的第6位置为0。
ChangePassword password ['pɑ?s w??d] n. 密码;口令此函数显示―更改口令‖对话框,允许登录工程人员更改他们的口令。
使用格式: ChangePassword(); 例如: 为画面上某一按钮设置命令语言连接:ChangePassword( );运行时单击此按钮,弹出对话框:2提示工程人员输入当前的口令和新口令以及验证新口令。
完全正确后,工程人员的口令设置为新值。
ClosePicture此函数用于将已调入内存的画面关闭,并从内存中删除。
语法格式如下: ClosePicture("画面名"); 例如: ClosePicture("反应车间"); 将关闭画面―反应车间‖。
ConfigODBC此函数用于配置odbc的数据源,语法格式如下:ConfigODBC(nDatatbasetype,szAttributes); 参数: nDatatbasetype:数据库类型,目前支持 Access,SQL server 该参数为0时表示数据库类型为Access,参数为1时表示数据库类型为SQL server ;szAttributes:配置字符串: 例1: 配置 Access数据库,DSN名称为demo2,数据库文件为E:\ProgramFiles\Kingview\Example\Kingdemo1\数据库.mdb。
ConfigODBC(0,"DSN=demo2\0Description=E:\ProgramFiles\Kingview\Example\Kingdemo1\数据库.mdb\0PWD=1234\0UID=shihf"); 例2: 配置SQL数据库: ConfigODBC(1, "DSN=MyDSN\0 Description=SQLConfigDSNSample\0SERVER=MySQL\0ADDRESS=MyServer\0NETWORK=dbmssocn\0DATABASE=pubs\0");Date此函数为根据给出的年、月、日整型数,返回日期字符串,默认格式为:年:月:日。
语法使用格式如下:Date(LONG nYear, LONG nMonth, LONG nDay);例如:年、月、日变量分别为:―$年‖、―$月‖、―$日‖,用日期来显示由以上三个整数决定的―日期‖字符串,则在命令语言中输入: 日期=Date(年,月,日); DisplayMCI3此函数提供了一个对多媒体设备的通用接口,具有强大的功能。
语法使用格式: DisplayMCI( "MCICommand", option ); 下面举例说明此函数的使用方法。
例如: DisplayMCI(―PLAYCD‖,3); 用于播放CD唱片中的第3支歌曲。
DisplayMCI(―STOPCD‖,‖‖); 用于停止播放CD。
DisplayMCI(―PLAYMIDI‖,‖c:\midi.mid‖); 用于播放MIDI格式的背景音乐‖c:\midi.mid‖。
DisplayMCI(―PAUSEMIDI‖,‖ c:\midi.mid‖); 暂停播放MIDI格式的背景音乐‖c:\midi.mid‖。
DisplayMCI(―RESUMMIDI‖,‖ c:\midi.mid‖); 继续播放MIDI格式的背景音乐‖c:\midi.mid‖。
DisplayMCI(―CLOSEMIDI‖,‖ c:\midi.mid‖); 停止播放MIDI格式的背景音乐‖c:\midi.mid‖。
DisplayMCI(―EJECTCD‖); 将光驱中的CD盘片弹出。
Dtext此函数用于按离散变量的值动态地改变字符串变量。
语法格式如下: Str = Dtext(Discrete_Tag, OnMsg, OffMsg); 参描述数Discrete_Tag 离散变量名。
OnMsg 字符串变量名 OffMsg 字符串变量名当Discrete_Tag,1时,Str的值为OnMsg 当Discrete_Tag,0时,Str的值为OffMsg 例如: Str = Dtext(电源开关,"电源打开","电源关闭"); 当电源开关,1时,Str 的值为"电源打开当电源开关,0时,Str的值为"电源关闭"。
" EnableAllAlarm 全局报警使能函数。
调用形式: EnableAllAlarm(is_enable); 参数描述: is_enable 整数变量或数值 0--禁止所有报警非0--使能所有报警返回值:整数型,反映当前全局报警使能的状态:若为非0:使能;为0:禁止 EnableNavigate此函数用于显示/关闭导航图。
调用形式: EnableNavigate(is_enable); 参数:is_enable,整型。
0:is_enable为0时,关闭导航图1:is_enable为1时,显示导航图。
使用EnableNavigate函数关闭导航图后,除非使用该函数来显示导航图,否则无法显示导航图。
例如: EnableNavigate(0); //关闭导航图EnableSaveTagValueToIniValueWhenValueChange对于设置了―保存数值‖和―保存参数‖的变量,使用该函数后,当变量的值和参数发生4变化时,系统会自动将变量的值和参数保存到文件tagname.db中,无论组态王运行系统是否正常退出,再次运行后,将保存的变量值和变量参数作为变量的初始值和初始参数。
―保存数值‖和―保存参数‖的具体含义请参见《组态王手册》第七章变量定义和管理部分。
调用形式: EnableSaveTagValueToIniValueWhenValueChange(is_enable); 参数: is_enable:整型变量或数值1:当变量的值和参数发生变化时,保存变量数值和参数。