昆仑通态脚本开发函数

合集下载

MCGS脚本驱动开发工具使用指导手册

MCGS脚本驱动开发工具使用指导手册

脚本驱动V2.0使用指导手册版本号:0.1目录错误!未找到图形项目表。

第一章新脚本驱动说明一.脚本驱动适用范围1.脚本驱动适用的版本A. MCGS嵌入式组态软件;版本号:6.5(01.0010)注:此版本以上为新版本,以下为旧版本B. MCGS通用版的定制版组态软件C. MCGS网络版的定制版组态软件2.脚本驱动适用的设备A. 独立板卡设备B. 串口通信设备3.脚本驱动适用的协议二.脚本驱动兼容性1.旧版本脚本驱动兼容新版本组态软件2.新版本脚本驱动不兼容旧版本的组态软件,旧版本组态软件无法识别新版本脚本驱动三.脚本驱动新增内容1.脚本驱动新增功能新增加生成向导功能,具体参照第三章内容。

2.脚本驱动新增函数(1)数据解析函数1.!SvrGetByteFromByteArr(ByRef ByteArr, start, ByRef n, Flag)2.!SvrGetShortFromByteArr(ByRef ByteArr, start, ByRef n, Flag)3.!SvrGetIntFromByteArr(ByRef ByteArr, start, ByRef n, Flag)4.!SvrGetSingleFromByteArr(ByRef ByteArr, start, ByRef x, Flag)5.!SvrGetByteFromHexStr(str, ByRef n, Flag)6.!SvrGetShortFormHexStr(str, ByRef n, Flag)7.!SvrGetIntFromHexStr(str, ByRef n, Flag)8.!SvrGetSingleFromHexStr(str, ByRef x, Flag)(2)数据校验函数1.!SvrByteArraySum(ByRef ByteArr, start, length)2.!SvrStrSum(str, Flag)3.!SvrByteArrayXOR(ByRef ByteArr, start, length)4.!SvrStrXOR(str, Flag)5.!SvrStrModbusCRC(ByRef ByteArr, start, length)6.!SvrStrModbusLRC(str, start, length)7.!OpenLog()8.!CloseLog()(3)字节数组操作函数1.!HStr2HByre(str, arByte)2.!HByte2HStr(arByte, str)第二章基础概念讲解一.通讯协议1.ACSII码通讯协议(字符型协议)通讯信息按照ASCII码方式解析得到的参数信息称为ASCII码通讯。

中牟昆仑通态触摸屏部分总结

中牟昆仑通态触摸屏部分总结

昆仑通态触摸屏部分总结常用逻辑脚本1.登录自动注销脚本当前时间=!TimeI2Str(!GetLastMouseActionTime(),"%X")'获取鼠标的最后动作时间设定时间=!TimeSpanGetMinutes(!TimeGetSpan(!TimeGetCurrentTime(),!GetLastMouse ActionTime()))'计算鼠标最后的活动时间和当前时间的差值if flag1 = 0 then'判定是不是已经打开了一个登录窗口。

if !strComp("负责人",!GetCurrentUser())=0 OR !strComp("操作员",!GetCurrentUser())=0 then'判定当前的用户if 设定时间 >=50 then'鼠标停止动作是否已经超过50分钟回车=1 '注意这两个赋值的顺序,须先赋值在执行!LogOff()flag1=1'!LogOff( )endifendifendifif 回车=1 then!SendKeys("{ENTER}")'发送ENTER键flag1 = 0回车 = 0endif2.自动切换画面脚本if 设定时间>=50 then !CloseAllWindow("工艺图1") '50分钟后关闭除“工艺图1”之外所有窗口。

(结合自动注销脚本使用)3.在需要先开阀再开泵的情况时,可通过脚本和隐藏功能结合使用来避免现场误操作循环脚本:IF XX阀开到位=1 THEN XX泵隐藏变量=1IF XX阀开到位=0 THEN XX泵隐藏变量=0注释1:当隐藏变量=1时,触摸屏画面显示开泵按钮,隐藏变量=0时,触摸屏画面显示提示语如“请先开阀!”。

注释2:在有多种状态来判定隐藏条件可利用类似循环语句4.历史数据自动删除脚本!DelSaveDat(历史数据,12 )利用循环策略,将循环时间设为每月一次,即可实现每月删除12小时之前的历史数据。

昆仑通态触摸屏配方组态设计案例-查询保存编辑导入导出

昆仑通态触摸屏配方组态设计案例-查询保存编辑导入导出

昆仑通态触摸屏配方组态设计案例-查询保存编辑导入导出一.实现目的1.配方组态设计2.通过配方名称查询配方3.通过配方编号查询配方4.配方保存5.配方删除6.配方预览编辑功能7.配方导出功能8.配方导入功能二.环境条件如下图所示三.组态设计1.配方组态设计第一步:进入配方组态设计点击工具-配方组态设计,进入配方组态编辑器如上图所示,新建面包配方,添加变量名称和列标题第二步:配方编辑,如下图所示编辑如下配方2.配方预览查看添加四个标准按钮分别为首个配方,上个配方,下个配方,末个配方如下图所示为每个按钮添加脚本程序首个配方-脚本程序如下所示上个配方-脚本程序如下所示下个配方-脚本程序如下所示末个配方-脚本程序如下所示3.通过配方名称查看配方1>新建用户策略-按照配方名查找配方2>用户策略-按照配方名称查找配方的脚本程序如下所示3>在配方名称输入框中做如下操作勾选显示输出,按钮输入,按钮动作显示输出和按钮输入选择变量-配方名按钮动作-选择-按配方名查找配方-选择组态的策略4.通过配方编号查找配方1>新建用户策略-按照编号查找配方2>用户策略-按照配方编号查找配方的脚本程序如下所示3>在配方编号输入框中做如下操作勾选显示输出,按钮输入,按钮动作显示输出和按钮输入选择变量-配方名按钮动作-选择-按配方编号查找配方-选择组态的策略5.配方保存功能实现1>新建用户策略-配方保存2>脚本程序如下3>在配方保存按钮组态策略-配方保存6.配方删除脚本程序如下7.配方编辑配方编辑脚本程序如下模拟配方编辑功能如下所示8.配方选择配方选择脚本程序如下模拟配方选择如下图所示9.配方导出功能指令说明!RecipeToCsv(配方组名称,文件名,导出列名,起始编号,期望导出条数,实际导出条数,导出参数)函数说明:导出指定配方数据到CSV文件参数说明:配方组名称,字符串,指定配方组文件名,字符串,csv文件名,不含”\\”、”/”、”..”等非法字符导出列名,字符串,需要导出的列的集合,英文逗号分割,空表示全部列起始编号,整数,从起始编号开始导出配方数据期望导出条数,整数,希望导出配方的数目实际导出条数,整数,实际导出的配方数目,此为输出参数导出参数,整数BIT0表示导出数据的方式BIT0 = 0:代表保存现有数据,并追加到文件尾部BIT0 = 1:代表删除文件中现有数据,写入导出数据BIT1表示控制导出数据的内容BIT1 = 0:代表包含配方组成员字段名称BIT1 = 1:代表不包含配方组成员字段名称返回值:整数0:执行成功-1:执行失败-2:配方未加载-7:参数越界-12:U盘挂载失败-17:文件名格式错误-19:列标题不匹配实例:配方返回值 = (“面包”,“面包.csv”,“”,0,100,实际导出条数,3)注意事项:使用此方法需要配方处于已加载状态。

昆仑通态刷新页面的函数

昆仑通态刷新页面的函数

昆仑通态刷新页面的函数
昆仑通态刷新页面的函数是一种可以在网页中刷新页面的函数。

它可以通过在网页中调用JavaScript语言来实现。

当页面需要更新时,可以调用该函数,从而使页面重新加载并显示最新的内容。

昆仑通态刷新页面的函数可以在不同的场景中使用。

例如,在网
页中添加或删除元素后,可以调用该函数来刷新页面。

另外,当用户
需要在同一页面中进行不同的操作时,也可以使用该函数来刷新页面,以便用户能够看到最新的结果。

在使用昆仑通态刷新页面的函数时,需要注意一些细节。

首先,
由于刷新页面会导致页面中所有的数据都重新加载,因此刷新频率不
宜过高,以免影响用户体验。

其次,刷新页面时需要确保数据已经被
保存,以免因页面刷新而导致数据丢失。

总之,昆仑通态刷新页面的函数是一种十分实用的网页开发技术,它可以帮助开发人员更好地掌控页面的更新和展示,提高用户体验,
也可以更好的满足用户不同的需求。

昆仑通态人机界面与单片机通信实战教程二:脚本驱动的设计

昆仑通态人机界面与单片机通信实战教程二:脚本驱动的设计

昆仑通态⼈机界⾯与单⽚机通信实战教程⼆:脚本驱动的设计⼤家好,我是『芯知识学堂』的SingleYork,前⾯给⼤家介绍了“昆仑通态⼈机界⾯与单⽚机通信实战教程⼀:⼯程界⾯的设计”,今天笔者就要来给⼤家介绍“昆仑通态⼈机界⾯与单⽚机通信实战教程⼆:脚本驱动的设其实昆仑通态的软件也⾃带了很多标准设备的驱动,如:西门⼦PLC的驱动、三菱PLC的驱动等,直接加载驱动就可以⽤了,但是对于我们⾃⼰开发的单⽚机板的话,就需要⾃⼰编写驱动了。

⼀说到脚本驱动,⾃然就⽀持标准的modbus协议,也⽀持⾃定义协议,对于我们这些不是很复杂的设备来说,个⼈觉得,没必要去深⼊研究modbus协议,尤其是菜鸟,⾃定义协议可能会更加实⽤,所以,笔者重点给⼤家介绍“⾃动义协议”。

我们先来看⼀下,我们之前设计好的HDMI⼯程:从这个HDMI⼯程中我们可以看到,⼀共有14个输⼊状态、12个输出状态和12个输出控制,其中:14个输⼊状态可以⽤2个字节(BYTE),按位操作来实现状态的显⽰;12个输出状态也可以⽤2个字节(BYTE),按位操作来实现状态的显⽰;12个输出控制,我们可以也可以⽤2个字节(BYTE)来按位控制,也可以⽤12个BYTE来按控制,只是按位操作来控制的话,可能操作会⿇烦⼀些,为了操作简单,我们就⽤12个BYTE来实现控制吧;这样⼀来,我们就可以制定以下通信协议:(1)触摸屏读指令(0x80:⼀次性读取多个数据)格式(⼗六进制):主机发送(触摸屏):帧头(2)+ 长度(1)+ 功能码(1)+ 起始地址(2)+和校验(从长度位开始累加)从机应答(单⽚机):帧头(2)+ 长度(1)+ 功能码(1)+ 数据⼀(输⼊状态⼀:X00-X07)+数据⼆(输⼊状态⼆:X10-X17)+ 数据三(输出状态⼀:Y00-T07))+ 数据四(输出状态⼆:Y10-X17)+和校验(从例:主机发送:37 73 04 80 0000 84从机返回:5A A5 06 80 00 00 00 00 86(2)触摸屏写指令(0x81:写单个寄存器操作)格式(⼗六进制):主机发送(触摸屏):帧头(2)+ 长度(1)+ 功能码(1)+ 寄存器地址(2)+寄存器值(2)+和校验(从长度位开始累加)例:37 73 06 81 0000 0001 88写指令从机就不设置单独的返回指令了,在写完之后,可以通过读指令来查询状态来判断有没有写成功。

昆仑通态触摸屏上升沿触发函数

昆仑通态触摸屏上升沿触发函数

昆仑通态触摸屏上升沿触发函数
昆仑通态触摸屏上升沿触发函数是一种接口函数,用于在触摸屏检测到上升沿触发信号时执行特定的操作。

该函数通常用于处理触摸屏的输入事件。

在程序中,我们可以编写如下的昆仑通态触摸屏上升沿触发函数:
```c
void 昆仑通态触摸屏上升沿触发函数()
{
// 执行特定的操作代码
// ...
}
```
在函数体内,可以添加各种处理触摸屏上升沿触发事件的代码。

这些代码可以根据实际需求进行编写,比如获取触摸坐标、处理触摸事件、更新界面等操作。

需要注意的是,此函数的具体实现需要根据昆仑通态触摸屏的接口文档或开发者手册来进行编写。

函数中的代码取决于具体的触摸屏硬件和驱动库的特性,因此无法提供完整的代码示例。

在实际使用过程中,我们可以将该函数与其他代码结合,例如在主函数中注册该函数作为触摸屏上升沿触发事件的回调函数,或在相应的触摸屏驱动模块中调用该函数进行处理。

总之,昆仑通态触摸屏上升沿触发函数是一种用于处理触摸屏上升沿触发事件的函数,可以根据实际需求进行编写和定制。

昆仑通态脚本

昆仑通态脚本

相关容回首页数据对象操作函数!AnswerAlm(DatName)函数意义:应答数据对象DatName所产生的报警。

如对应的数据对象没有报警产生或已经应答,则本函数无效。

返回值:数值型,=0为操作成功,<>0为操作失败。

参数:DatName,数据对象名。

实例:!AnswerAlm(电机温度),应答数据对象“电机温度”所产生的报警。

!ChangeDataSave(Datname,n)函数意义:改变数据对象Datname存盘的周期。

返回值:数值型,=0为操作成功,<>0为操作失败。

参数:Datname,数据对象名;n,数值型,以秒表示的存盘间隔时间。

实例:!ChangeDataSave(温度,5),温度的存盘间隔时间为5秒。

!ChangeSaveData(DatName,Num1,Num2)该函数在通用版中可以使用,在嵌入版中不能使用!函数意义:改变数据对象DatName所对应存盘数据的存盘间隔,把Num1小时以前的存盘数据(以当前时间为0点)的存盘间隔改为Num2秒。

本操作只对组对象有效,对单个的数据对象无效。

当DataName =空字符,或Num1=0或Num2=0时,本操作无效。

返回值:数值型,返回值=0:调用正常,<>0:调用不正常。

参数:DatName:数据对象名。

Num1:数值型时间量,单位:小时。

本函数用Num1<0的一些数值来表示一些特殊意义的操作:=-1 改变当天对应数据对象所有存盘数据的存盘间隔;=-2 改变昨天对应数据对象所有存盘数据的存盘间隔;=-3 改变本星期对应数据对象所有存盘数据的存盘间隔;=-4 改变上星期对应数据对象所有存盘数据的存盘间隔;=-5 改变本月对应数据对象所有存盘数据的存盘间隔;=-6 改变上个月对应数据对象所有存盘数据的存盘间隔;Num2:数值型时间量,新的存盘间隔,单位:秒。

实例:!ChangeSaveData(电机1,-2,5),把组对象“电机1”对应的存盘数据中昨天的存盘数据的存盘间隔改为5秒钟。

昆仑通态函数大全

昆仑通态函数大全

!EnableDataSave !EnableDDEConnection !EnableDDEInput !EnableDDEOutput !EnableExitLogon !EnableExitPrompt !EnableStgy !exp !FileAppend !FileCopy !FileDelete !FileFindFirst !FileFindNext !FileIniReadValue !FileIniWriteValue !FileMove !FileReadFields !FileReadStr !FileSplit !FileWriteFields !FileWriteStr !Format !GetAlmValue !GetCurrentGroup !GetCurrentUser !GetDeviceName !GetDeviceState !GetEventDT !GetEventP !GetEventT !GetStgyName !GetWindowName !GetWindowState !Hex2I !I2Ascii !I2Bin !I2Hex !I2Oct !InStr !lcase !left !len !LinePrtOutput !log !LogOff !LogOn !ltrim !lVal !mid !MoveAlmDat !MoveSaveDat !Navigate !Oct2I !ODBCAddnew
绝对值 应答报警 激活应用程序 反余弦函数 反正弦函数 获取字符串的首字母的ASCII值 反正切函数 发出蜂鸣声 从2进制字符串转为整数 按位与 把指定位清零 左移 按位取反 按位或 右移 把指定位置一 检查指定位置是否为一 按位异或 调用后台对象 改变数据对象存盘的周期 改变循环策略的循环时间 打开改变用户密码对话框 改变数据对象的存盘间隔 检查用户是否属于指定的用户组 除了指定的窗口之外,关闭所有用户窗口 拷贝数据库中数据表的数据 余弦函数 重新检查并联接所有的DDE连接 删除数据对象的所有报警存盘数据 删除数据对象的所有存盘数据 删除数据对象的指定时间间隔内的报警存盘数据 删除数据对象指定时间间隔内的存盘数据 取消CTRL+ALT+DEL 打开用户管理对话框 起用/停止报警功能 恢复CTRL+ALT+DEL

MCGS(昆仑通态)报警功能的、配置、弹窗、脚本功能应用

MCGS(昆仑通态)报警功能的、配置、弹窗、脚本功能应用

MCGS(昆仑通态)报警功能的、配置、弹窗、脚本功能应用学习触摸屏时难免会接触到报警,说到报警是每一个学习触摸屏人员必会的一项功能,报警主要用于提示设备超限制和故障提示等!01报警条应用第一步:(新建一个触摸屏型号,根据实际触摸屏来选择)第二步:(设备窗口—创建通道地址:M0.0启动、M0.1停止)第三步:(在实时数据库定义M0.0为1时报警。

)第四步:(在窗口里设计一个按钮和关联地址。

)第五步:(工具箱—选择LED报警滚动条放到画面中)第六步:(属性—显示报警对象关联地址M0.0,滚动速度根据定义来设置)第七步:(演示效果)02MCGS报警浏览应用第一步:(在报警条基础上,在创建一个报警浏览。

)第二步:(报警浏览属性—显示模式—实时报警数据关联地址M0.0)第三步:(演示效果)03滑动输入与报警显示第一步:(在报警条与报警浏览基础上,在创建一个滑动输入器)第二步:(滑动输入器属性—操作属性—对应数据对象的名称关联地址数值,上下限填写0—100。

)第三步:(数值—属性—对象初值设置50。

)第四步:(数值—属性—报警属性勾选上下限报警,上限报警—报警注释—数值过大—报警值100。

)第五步:(数值—属性—报警属性勾选上下限报警,下限报警—报警注释—数值过低—报警值40。

)第六步:(演示效果)第七步:(在报警条、报警浏览、滑动输入基础上,再创建一个报警显示。

)第八步:(报警显示—基本属性—对应的数据对象的名称—报警组0。

)第九步:(演示效果)04报警弹窗与脚本使用第一步:(用户窗口—新建—报警窗口)第二步:(动画显示—基本属性—设计选择一个动画图标)第三步:(动画显示—显示属性—显示变量—类型选择开关,数值型,地址关联M0.0。

)第四步:(画面右下角有4组坐标,要记录下来,后面脚本要使用到。

)第五步:(动画图标放到零点位置,否则弹出位置不对。

)第六步:(运行策略—新建报警策略。

)第七步:(报警策略—属性—策略执行方式—对应数据对象—关联地址M0.0。

昆仑通态触摸屏实现只选择配方不能更改配方的方法

昆仑通态触摸屏实现只选择配方不能更改配方的方法

昆仑通态触摸屏实现只选择配方不能更改配方的方法
之邯郸勺丸创作
创作时间:二零二一年六月三十日
哈尔滨研奥科技有限公司
唐雪飞
2020/06/14
在实际触摸屏应用项目中, 涉及配方的情况下, 用户从管理角度往往希望把持员只能选择配方, 不能更改配方及看到配方数据.因昆仑通态触摸屏自带的配方选择函数:
!RecipeLoadByDialog (strRecipeGroupName, strDialogTitle)
执行后画面如下, 其中有“编纂配方”按钮, 不能启动呵护配方的目的.
因此本文介绍一种实现配方呵护的方法, 具体步伐如下:
1、新建配方:
2、建立变量:
3、建立画面如下:
4、画面启动脚本:
设置第一个配方为开机配方, 并显示配方名字.
5、上一配方按钮脚本:
6、下一配方按钮脚本:
7、通过控制这两个按钮的权限, 就启到呵护配方和选择
配方的目的.
哈尔滨研奥科技有限公司。

MCGS脚本驱动开发工具使用指导手册

MCGS脚本驱动开发工具使用指导手册

脚本驱动V2.0使用指导手册版本号:0.1目录第一章新脚本驱动说明一.脚本驱动适用范围1.脚本驱动适用的版本A. MCGS嵌入式组态软件;版本号:6.5(01.0010)注:此版本以上为新版本,以下为旧版本B. MCGS通用版的定制版组态软件C. MCGS网络版的定制版组态软件2.脚本驱动适用的设备A. 独立板卡设备B. 串口通信设备3.脚本驱动适用的协议二.脚本驱动兼容性1.旧版本脚本驱动兼容新版本组态软件2.新版本脚本驱动不兼容旧版本的组态软件,旧版本组态软件无法识别新版本脚本驱动三.脚本驱动新增内容1.脚本驱动新增功能新增加生成向导功能,具体参照第三章内容。

2.脚本驱动新增函数(1)数据解析函数1.!SvrGetByteFromByteArr(ByRef ByteArr, start, ByRef n, Flag)2.!SvrGetShortFromByteArr(ByRef ByteArr, start, ByRef n, Flag)3.!SvrGetIntFromByteArr(ByRef ByteArr, start, ByRef n, Flag)4.!SvrGetSingleFromByteArr(ByRef ByteArr, start, ByRef x, Flag)5.!SvrGetByteFromHexStr(str, ByRef n, Flag)6.!SvrGetShortFormHexStr(str, ByRef n, Flag)7.!SvrGetIntFromHexStr(str, ByRef n, Flag)8.!SvrGetSingleFromHexStr(str, ByRef x, Flag)(2)数据校验函数1.!SvrByteArraySum(ByRef ByteArr, start, length)2.!SvrStrSum(str, Flag)3.!SvrByteArrayXOR(ByRef ByteArr, start, length)4.!SvrStrXOR(str, Flag)5.!SvrStrModbusCRC(ByRef ByteArr, start, length)6.!SvrStrModbusLRC(str, start, length)7.!OpenLog()8.!CloseLog()(3)字节数组操作函数1.!HStr2HByre(str, arByte)2.!HByte2HStr(arByte, str)第二章基础概念讲解一.通讯协议1.ACSII码通讯协议(字符型协议)通讯信息按照ASCII码方式解析得到的参数信息称为ASCII码通讯。

MCGS昆仑通态脚本函数

MCGS昆仑通态脚本函数

函数意义:关闭所有窗口,如果在字符串”WndName”中指定了一个窗口,则打开这个窗口,
实例:!CloseAllWindow("工况图"),关闭除了用户窗口“工况图”以外的其他窗口,若“工
返 回 值:数值型。返回值=0:调用正常,<>0:调用不正常。
返 回 值:数值型。返回值=0:调用正常,<>0:调用不正常。
函数意义:关闭子窗口。
函数意义:关闭窗口中的所有子窗口。
函数意义:改变循环策略的循环时间。
实例:!CloseAllSubWnd() ,关闭当前窗口的所有子窗口。
参 数 值:WndName:子窗口的名字。
参数:WndName, 用户窗口名,字符型。
!CloseAllWindow(" "),关闭所有窗口。
讳柄勘叭煎礼瓮植风买醉坎抓乡仓浮症超杂婶纱砷待靡砂燕鲸比今掷炕炬呐渔鲤贿底龟港病坪傣陀婶综夕羌牧姻哄崇店颖脐逊枫销汐端褒廷捂捕筹掺站玖造道爸醉辩篓卉呐非曰拽芭剔充铁剪旧饼钻潦罪帧积账洁萄括抉乡让煤氮林甜纫缆资华逮存誊郡轨煤脖范甫皱腕倾邯异毫霹泻挽审署营役乘仙奖调脑径榔泌献熙河码僚抢垃衍苞褥既漏汾粮匝糠郡步靳秸座苞琼哪隋柑相济脆踢炒遇奥彰苍花圈芯酪哪厂撇槛龄外高贯玛穿斩耶集镰义引兆犊疲殊醛远擅桔痒扦缚腔您推捅蹭诣污啮词辞民驾您许圾殿馅最雄桓稚安倔蠕带挟噪彦煮岭区迎疲篆绍澄厄娄循很姜寺础札魏赠肺盛启攘游澄芽证诫MCGS昆仑通态脚本函数语褥挛挂罢待韭摊会甘您镍婉暗碾彬数卡脚北希姚滚村吾奔阳圾监操茫岸欧侥踪婿剩饰乘祟秃嘛捂遍耸无既髓拜琵擎维耀伸轨羊锥掖票码刚艘冶嵌锦滤浙埂目州扯鹏酋失葡凤舵希捕贯那吕狡蘸醉朔割它半拯靡署誊徊盏旨郴粹未瞥制炽喧攘膘肮缓服蛙摄电疥云而烃胳规蔼咙辫傍惮糕阻抄脂丘驳步星镶丧谴罢憨盆球滩榷拼缆阎豹钙孰悲盾志哗拧松拧浅配刁阮唾吧咬拔棕犹逼塞优有苏劈酗嘴菩弘返乐扔露肠唉脓殖侵戌砖蛋菠娶嘲酝惊豁证铰者累磐羚译湖诵些补秘帐调翟松袭刚固丫室韶闰导曾像疾弯喷牢男摸晓皱柒蔚饰涝甚爪获暗晤蒂佬拔绷习避雄匀痰吨讽纬齿温忿暮果伊姬撕独烁宁MCGS昆仑通态脚本函数陈凋店辈删汛烂提诞书礼沃摧捧狂狄拴迫缚匿袱荚墨示莆吩擎欠亲涡巩详肪趴屑妙声琶诺昌状仅守怔目熊啤猫褂境强墓懊攒返棠拈模象簇咀形吗痕绿础荫擂泰跃示位仁搓盟幻篱选模习醇朵炽倪掘尖阻咋杏遥屯耽剁签逼夺兼改丹扶帐累地扣殃伏剁儡懂帕瓷牲疼糠窃蚤禁醇惭幼钧焊副耪贾羹灭舷惺匝腐凹胰沙尸戚狐庄放我筹裕仅幌顿蜜嚷敬整侩屏源自鸵臆既誓撩哈蛀惮饱生宾情傅包足浙辫疯捎户盏铡助叭噬捡匹彭摘廓棱泪劣殖文孟握绊渍泻缸荚璃谍该延床矢懈粕阻苫疹础变芽化宇狂好奎啄披恐早板泵磺栅荣汁招判果碱饮撞雹懈忘劣郴酞圾彝恿罐篮蓖谣糖酣婴宛胶轻架渡边仙妇愁找

昆仑通态编程实例

昆仑通态编程实例

昆仑通态编程实例昆仑通态编程是一种全新的编程范式,它以人类认知和思维方式为基础,旨在将计算机编程与人类的日常生活更加紧密地结合起来。

通过昆仑通态编程,人们可以用更自然、更直观的方式来编写代码,使得计算机程序更容易理解和维护。

为了更好地理解昆仑通态编程,我们来看一个实例。

假设我们要编写一个简单的程序来计算一个整数数组的平均值。

在传统的编程中,我们可能会使用循环来遍历数组,并累加每个元素的值,然后再除以数组的长度得到平均值。

代码可能如下所示:```javapublic class Average {public static void main(String[] args) {int[] nums = {1, 2, 3, 4, 5};int sum = 0;for (int num : nums) {sum += num;}double average = (double) sum / nums.length;System.out.println("Average: " + average);}}这段代码使用了传统的迭代方式来计算平均值,需要使用循环和累加操作。

但在昆仑通态编程中,我们可以使用更直观的方式来表达这个问题。

在昆仑通态编程中,我们可以将问题表述为一个更加自然的描述:“计算一个整数数组的平均值”。

然后,我们可以使用昆仑通态编程的特性,将这个问题转化为一个更加形象、直观的表达方式。

在这个例子中,我们可以将整个数组想象成一条长长的绳子,每个元素都是绳子上的一个结。

我们要做的就是将这个绳子切成若干段,并计算每段的长度,然后将所有段的长度相加并除以段的数量,得到平均长度。

这个思路在昆仑通态编程中可以用如下代码来实现:```javapublic class Average {public static void main(String[] args) {int[] nums = {1, 2, 3, 4, 5};int sum = nums.length; // 绳子的总长度int segments = nums.length - 1; // 绳子的段数double average = (double) sum / segments; // 平均长度System.out.println("Average: " + average);}```通过这个例子,我们可以看到昆仑通态编程的一个特点:通过使用更加直观的表达方式,我们可以更容易地理解和解决问题。

MCGS昆仑通态脚本函数汇编

MCGS昆仑通态脚本函数汇编

运行环境操作函数!ChangeLoopStgy(StgyName,n)函数意义:改变循环策略的循环时间。

返回值:数值型。

返回值=0:调用正常,<>0:调用不正常。

参数:StgyName,策略名;n,数值型,以毫秒数表示循环策略的循环时间。

实例:!ChangeLoopStgy(报警策略,5000),将报警策略的循环时间改为5秒。

!CloseAllWindow(WndName)函数意义:关闭所有窗口,如果在字符串”WndName”中指定了一个窗口,则打开这个窗口,关闭其他窗口。

如果”WndName”为空串,则关闭所有窗口。

返回值:数值型。

返回值:=0:调用正常。

<>0:调用不正常。

参数:WndName,用户窗口名,字符型。

实例:!CloseAllWindow("工况图"),关闭除了用户窗口“工况图”以外的其他窗口,若“工况图”窗口没有打开,则在关闭其他窗口的同时打开该窗口;!CloseAllWindow(""),关闭所有窗口。

!CloseAllSubWnd()函数意义:关闭窗口中的所有子窗口。

返回值:浮点型,=0为操作。

实例:!CloseAllSubWnd(),关闭当前窗口的所有子窗口。

!CloseSubWnd(WndName)函数意义:关闭子窗口。

返回值:浮点型,=1为操作成功,<>1为操作失败。

参数值:WndName:子窗口的名字。

实例:!CloseSubWnd(窗口1),关闭子窗口“窗口1”。

!EnableStgy(StgyName,n)函数意义:打开或关闭某个策略,如报警策略或循环策略等。

返回值:数值型。

返回值=0:调用正常,<>0:调用不正常。

参数:SstgyName,策略名;n,数值型,为1时表示打开此策略,为0时表示关闭此策略。

实例:!EnableStgy(报警策略,1),打开报警策略;!EnableStgy(报警策略,0),关闭报警策略,使报警策略无效。

昆仑通态函数大全

昆仑通态函数大全

昆仑通态函数大全系统内部数据对象$Date字符型当前日期(XXXX年XX月XX日) $Day数值型日$Hour数值型时$Minute数值型分$Month数值型月$PageNum数值型当前打印页码$RunTime数值型系统运行秒数$Second数值型秒$Time字符型当前时间(XX:XX:XX)$Timer数值型从午夜起的秒数$UserName字符型用户名$Week数值型星期$Year数值型年系统内部函数!abs数值型绝对值!AnswerAlm数值型应答报警!AppActive数值型激活应用程序!arccos数值型反余弦函数!arcsin数值型反正弦函数!Ascii2I开关型获取字符串的首字母的ASCII值!atn数值型反正切函数!Beep数值型发出蜂鸣声!Bin2I开关型从2进制字符串转为整数!BitAnd开关型按位与!BitClear开关型把指定位清零!BitLShift开关型左移!BitNot开关型按位取反!BitOr开关型按位或!BitRShift开关型右移!BitSet开关型把指定位置一!BitTest开关型检查指定位置是否为一!BitXor开关型按位异或!CallBackSvr数值型调用后台对象!ChangeDataSave数值型改变数据对象存盘的周期!ChangeLoopStgy数值型改变循环策略的循环时间!ChangePassword数值型打开改变用户密码对话框!ChangeSaveDat数值型改变数据对象的存盘间隔!CheckUserGroup数值型检查用户是否属于指定的用户组!CloseAllWindow开关型除了指定的窗口之外,关闭所有用户窗口!CopySaveDat开关型拷贝数据库中数据表的数据!cos数值型余弦函数!DDEReconnect开关型重新检查并联接所有的DDE连接!DelAllAlmDat数值型删除数据对象的所有报警存盘数据!DelAllSaveDat数值型删除数据对象的所有存盘数据!DelAlmDat数值型删除数据对象的指定时间间隔内的报警存盘数据!DelSaveDat数值型删除数据对象指定时间间隔内的存盘数据!DisableCtrlAltDel开关型取消CTRL+ALT+DEL!Editusers数值型打开用户管理对话框!EnableAlm数值型起用/停止报警功能!EnableCtrlAltDel开关型恢复CTRL+ALT+DEL!EnableDataSave数值型启动/停止数据存盘!EnableDDEConnection开关型启动/停止数据对象的DDE连接!EnableDDEInput开关型启动/停止数据对象的DDE连接!EnableDDEOutput开关型启动/停止数据对象的DDE连接输入外部的数值!EnableExitLogon数值型启动/停止退出时的权限检查!EnableExitPrompt数值型启动/停止退出时的提示信息!EnableStgy数值型启动/停止策略的运行!exp数值型指数函数!FileAppend开关型合并文件!FileCopy开关型复制一个源文件到目的文件!FileDelete开关型删除文件!FileFindFirst开关型查找第一个文件!FileFindNext开关型查找下一个文件!FileIniReadValue开关型从配置文件中读取一个值!FileIniWriteValue开关型向配置文件中写入一个值!FileMove开关型移动文件!FileReadFields开关型从一个指定文件中读出 CSV(逗号分隔变量)记录!FileReadStr开关型从指定文件中读出一指定数目的字节(或一整行) !FileSplit开关型分解文件!FileWriteFields开关型向指定文件中写入CSV(逗号分隔变量)记录!FileWriteStr开关型向指定文件中写入一指定数目的字节(或一整行) !Format字符型格式化数值型数据对象!GetAlmValue数值型读取数据对象的报警限值!GetCurrentGroup字符型取到当前登录用户组!GetCurrentUser字符型取到当前登录用户名!GetDeviceName字符型按照顺序号取到设备名称!GetDeviceState数值型弹出设备状态!GetEventDT数值型取当前事件和上一次事件之间的时间差(秒) !GetEventP字符型取当前事件类型!GetEventT数值型取当前事件产生的时间相对1980年以来的秒数!GetStgyName字符型按照顺序号取到策略名称!GetWindowName字符型按照顺序号取到用户窗口的名称!GetWindowState数值型取到窗口的状态!Hex2I开关型从16进制字符串转为整数!I2Ascii字符型把ASCII值转换为字母!I2Bin字符型转为2进制字符串!I2Hex字符型转为16进制字符串!I2Oct字符型转为8进制字符串!InStr数值型查找一字符串在另一字符串中最先出现的位置!lcase字符型整个字符串转为小写!left字符型取字符串的左边n个字符!len数值型字符串长度!LinePrtOutput数值型输出到行式打印机!log数值型对数函数!LogOff数值型打开用户退出登录对话框!LogOn数值型打开用户登录对话框!ltrim字符型剔除字符串左边的空字符!lVal开关型将字符串转化为长整型数值!mid字符型取字符串的第n个字符起的k个字符!MoveAlmDat数值型转储数据对象在指定时间间隔内的报警存盘数据!MoveSaveDat数值型转储数据对象在规定时间间隔内的存盘数据!Navigate开关型引导浏览器浏览其他的网页!Oct2I开关型从8进制字符串转为整数!ODBCAddnew开关型在ODBC数据库中用当前连接的数据对象值添加一行!ODBCBind开关型把数据对象绑定到ODBC数据库上!ODBCClose开关型关闭ODBC数据库!ODBCConnectionCloseAll开关型关闭当前使用的所有ODBC数据库!ODBCConnectionCount开关型获取当前使用的ODBC数据库的个数!ODBCConnectionGetName字符型获取指定位置上ODBC数据库的名称!ODBCDelete开关型删除当前行!ODBCEdit开关型在ODBC数据库中用当前连接的数据对象值修改当前行!ODBCExecute开关型在打开的ODBC数据库中执行一条SQL语句!ODBCGetCurrentValue开关型获取当前行的数据!ODBCGetRowCount开关型获取ODBC数据库数据的行数!ODBCIsBOF开关型判断ODBC数据库的当前位置是否位于所有数据的前面!ODBCIsEOF开关型判断ODBC数据库的当前位置是否位于所有数据的后面!ODBCMoveFirst开关型移动到最前面!ODBCMoveLast开关型移动到最后面!ODBCMoveNext开关型移动到后一行!ODBCMovePrev开关型移动到前一行!ODBCOpen开关型打开ODBC数据库!ODBCSeekToPosition开关型移动到指定的行!PlaySound开关型播放声音文件!Rand数值型随机函数!RecipeAddNew开关型向配方的最后添加一个新配方!RecipeBind开关型把配方绑定到数据对象!RecipeClose开关型关闭配方!RecipeDelete开关型删除当前配方!RecipeEdit开关型用当前数据对象的值来修改当前配方!RecipeGetCount开关型获取指定配方中的配方个数!RecipeGetCurrentPosition开关型获取当前位置!RecipeGetCurrentValue开关型装载当前配方的值到绑定的数据对象上!RecipeInsertAt开关型向配方的指定位置插入一个新配方!RecipeLoad开关型装载配方文件!RecipeMoveFirst开关型移动到第一个配方!RecipeMoveLast开关型移动到最后一个配方!RecipeMoveNext开关型移动到下一个配方!RecipeMovePrev开关型移动到前一个配方!RecipeSave开关型保存配方文件!RecipeSeekTo开关型查找配方!RecipeSeekT oPosition开关型装载指定位置上的配方!RecipeSort开关型对配方进行排序!RestartProject开关型重新启动工程!right字符型取字符串的右边n个字符!rtrim字符型剔除字符串右边的空字符!SaveData数值型把数据对象的当前值存到硬盘上!SaveDataInit数值型保存数据对象的当前值为初始值!SaveDataOnTime开关型按照指定的时间保存指定的数据到存盘数据库中!SaveSingleDataInit数值型保存单个数据对象的当前值为初始值!SendKeys数值型发送按键消息!SetActiveX数值型操作指定的动画构件!SetAlmValue数值型设置数据对象的报警限值!SetDevice数值型操作指定的设备!SetLinePrinter数值型打开/关闭行式打印输出!SetStgy数值型执行指定的策略!SetTime数值型设置系统时间!SetWindow数值型操作指定的用户窗口!sgn数值型符号函数!Shell数值型启动应用程序!ShowDataBackup数值型显示数据备份恢复对话框!sin数值型正弦函数!Sleep数值型暂停脚本程序的执行!sqr数值型平方!Str字符型将数值转化为字符串!strComp数值型比较两个字符串!StrFormat字符型格式化字符串!SysWindow数值型打开用户窗口管理对话框!tan数值型正切函数!TerminateApplication数值型关闭应用程序!TimeAdd开关型向时间中加入指定的秒数!TimeGetCurrentTime开关型获取当前时间!TimeGetDay开关型获取时间中的日期!TimeGetDayOfWeek开关型获取指定的时间是星期几!TimeGetHour开关型获取时间中的小时数!TimeGetMinute开关型获取时间中的分钟数!TimeGetMonth开关型获取时间中的月份!TimeGetSecond开关型获取时间中的秒钟数!TimeGetSpan开关型计算两个时间的差!TimeGetYear开关型获取时间中的年份!TimeI2Str字符型把时间转换为字符串!TimerClearOutput数值型清除计时器的输出变量!TimerReset数值型设置计时器的当前值!TimerRun数值型启动计时器开始工作!TimerSetLimit数值型设置计时器的最大值!TimerSetOutput数值型设置计时器的输出变量!TimerSkip数值型在计时器当前时间数上加/减指定值!TimerState数值型取计时器的工作状态!TimerStop数值型停止计时器计时!TimerStr字符型以字符串的形式返回当前计时器的值!TimerValue数值型取计时器的当前值!TimerWaitFor数值型等待计时器到达指定的时间!TimeSpanGetDays开关型获取时间差中的天数!TimeSpanGetHours开关型获取时间差中的小时数!TimeSpanGetMinutes开关型获取时间差中的分钟数!TimeSpanGetSeconds开关型获取时间差中的秒数!TimeSpanGetT otalHours开关型获取时间差中的总小时数!TimeSpanGetT otalMinutes开关型获取时间差中的总分钟数!TimeSpanGetT otalSeconds开关型获取时间差中的总秒数!TimeStr2I开关型把字符串(YYYY/MM/DD HH:MM:SS)转换为时间!trim字符型剔除字符串左右两边的空字符!ucase字符型整个字符串转为大写!Val数值型将字符串转化为数值!WaitFor数值型等待条件满足!WinHelp开关型启动Windows帮助并打开帮助文件InputSTime字符型系统内建数据对象InputETime字符型系统内建数据对象InputUser1字符型系统内建数据对象InputUser2字符型系统内建数据对象5622666管理员。

昆仑通态脚本开发函数

昆仑通态脚本开发函数

昆仑通态脚本开发函数!getcurrentchannelnum()函数意义:得到当前触发单通道写的通道号;返回值:整型。

-1失败,>0通道号;参数:无;实例:!getcurrentchannelnum()。

!setintchannelvaluebyname(datastr,n)函数意义:根据地下通道的名称对地下通道展开设置,假设该地下通道类型为整型(控制器型)变量;返回值:整型。

-1失利,0顺利。

参数:datastr,字符型,需要设置的通道名称的字符串。

n,整型,需要设定的整型值实例:!setintchannelvaluebyname(\发电机启动\。

实例表明:将地下通道“发电机启动”的值设为1;!setsinglechannelvaluebyname(datastr,x)函数意义:根据地下通道的名称对地下通道展开设置,假设该地下通道类型为单精度浮点型(数值型)变量;返回值:整型。

-1失败,0成功。

参数:datastr,字符型,须要设置的地下通道名称的字符串。

n,单精度浮点型,须要预设的值实例:!setsinglechannelvaluebyname(\温度\。

实例说明:将通道“温度”的值设为45.5;!setintchannelvaluebynum(datanum,n)函数意义:根据通道的编号对通道进行设置,假设该通道类型为整型(开关型)变量;返回值:整型。

-1失败,0成功。

参数:datanum,整型,须要设置的地下通道编号,从1已经开始。

n,整型,须要预设的整型值实例:!setintchannelvaluebynum(3,1)。

实例说明:将通道3的值设为1;!setsinglechannelvaluebynum(datanum,x)函数意义:根据通道的编号对通道进行设置,假设通道为单精度浮点型(数值型)变量;返回值:整型。

-1失败,0成功。

参数:datanum,整型,须要设置的地下通道编号,从1已经开始。

MCGS昆仑通态脚本函数

MCGS昆仑通态脚本函数

运行环境操作函数!ChangeLoopStgy(StgyName,n)函数意义:改变循环策略的循环时间。

返回值:数值型。

返回值=0:调用正常,<>0:调用不正常。

参数:StgyName,策略名;n,数值型,以毫秒数表示循环策略的循环时间。

实例:!ChangeLoopStgy(报警策略,5000),将报警策略的循环时间改为5秒。

!CloseAllWindow(WndName)函数意义:关闭所有窗口,如果在字符串”WndName”中指定了一个窗口,则打开这个窗口,关闭其他窗口。

如果”WndName”为空串,则关闭所有窗口。

返回值:数值型。

返回值:=0:调用正常。

<>0:调用不正常。

参数:WndName,用户窗口名,字符型。

实例:!CloseAllWindow("工况图"),关闭除了用户窗口“工况图”以外的其他窗口,若“工况图”窗口没有打开,则在关闭其他窗口的同时打开该窗口;!CloseAllWindow(""),关闭所有窗口。

!CloseAllSubWnd()函数意义:关闭窗口中的所有子窗口。

返回值:浮点型,=0为操作。

实例:!CloseAllSubWnd(),关闭当前窗口的所有子窗口。

!CloseSubWnd(WndName)函数意义:关闭子窗口。

返回值:浮点型,=1为操作成功,<>1为操作失败。

参数值:WndName:子窗口的名字。

实例:!CloseSubWnd(窗口1),关闭子窗口“窗口1”。

!EnableStgy(StgyName,n)函数意义:打开或关闭某个策略,如报警策略或循环策略等。

返回值:数值型。

返回值=0:调用正常,<>0:调用不正常。

参数:SstgyName,策略名;n,数值型,为1时表示打开此策略,为0时表示关闭此策略。

实例:!EnableStgy(报警策略,1),打开报警策略;!EnableStgy(报警策略,0),关闭报警策略,使报警策略无效。

昆仑通态数据对象函数使用 -回复

昆仑通态数据对象函数使用 -回复

昆仑通态数据对象函数使用-回复昆仑通态是一个功能强大的数据操作工具,通过使用其数据对象函数,用户能够灵活地对数据进行处理和分析。

本文将详细介绍昆仑通态数据对象函数的使用方法,并以一步一步的方式进行解释。

第一步:数据对象的创建在使用昆仑通态数据对象函数之前,首先需要创建一个数据对象。

创建数据对象可以使用`new`关键字,后面跟上数据对象的名称,以及数据对象的初始化数据。

例:创建一个名为`myData`的数据对象,并初始化为一个空的数据表格。

new myData = {data: []};在上述例子中,我们使用`new`关键字创建了一个数据对象`myData`,并将其初始化为一个空的数据表格。

这个数据表格是一个包含一个数组的对象,用于存储数据。

第二步:数据对象的添加一旦创建了数据对象,我们可以使用数据对象函数向其中添加数据。

数据对象的添加使用`.`操作符,后跟数据对象的名称,再后跟`add`函数,最后跟上要添加的数据。

例:向`myData`数据对象中添加一条数据。

myData.add({name: "John",age: 25,city: "New York"});在上述例子中,我们使用`.`操作符将`add`函数应用到`myData`数据对象上,然后传入要添加的数据作为参数。

这里我们添加了一个包含姓名、年龄和城市信息的对象。

第三步:数据对象的查询除了添加数据,我们还可以使用数据对象函数来查询数据。

数据对象的查询使用`.`操作符,后跟数据对象的名称,再后跟`get`函数,并传入查询条件作为参数。

例:查询`myData`数据对象中年龄在20到30岁之间的所有数据。

myData.get(function(item) {return item.age >= 20 && item.age <= 30;});在上述例子中,我们使用`.`操作符将`get`函数应用到`myData`数据对象上,并传入一个匿名函数作为参数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

!GetCurrentChannelNum()函数意义:得到当前触发单通道写的通道号;返回值:整型。

-1 失败,> 0 通道号;参数:无;实例:!GetCurrentChannelNum()。

!SetIntChannelValueByName(DataStr,n)函数意义:根据通道的名称对通道进行设置,假设该通道类型为整型(开关型)变量;返回值:整型。

-1 失败,0 成功。

参数:DataStr,字符型,需要设置的通道名称的字符串。

n,整型,需要设定的整型值实例:! SetIntChannelValueByName ("发电机启动",1)。

实例说明:将通道“发电机启动”的值设为1;!SetSingleChannelValueByName(DataStr,x)函数意义:根据通道的名称对通道进行设置,假设该通道类型为单精度浮点型(数值型)变量;返回值:整型。

-1 失败,0 成功。

参数:DataStr,字符型,需要设置的通道名称的字符串。

n,单精度浮点型,需要设定的值实例:! SetSingleChannelValueByName ("温度",45.5)。

实例说明:将通道“温度”的值设为45.5;!SetIntChannelValueByNum(DataNum,n)函数意义:根据通道的编号对通道进行设置,假设该通道类型为整型(开关型)变量;返回值:整型。

-1 失败,0 成功。

参数:DataNum,整型,需要设置的通道编号,从1开始。

n,整型,需要设定的整型值实例:! SetIntChannelValueByNum(3,1)。

实例说明:将通道3的值设为1;!SetSingleChannelValueByNum(DataNum,x)函数意义:根据通道的编号对通道进行设置,假设通道为单精度浮点型(数值型)变量;返回值:整型。

-1 失败,0 成功。

参数:DataNum,整型,需要设置的通道编号,从1开始。

x,单精度数值型,需要设定的数值实例:!SetSingleDataV alueByNum(2,45.5)。

实例说明:将通道2的值设为45.5。

!GetIntChannelValueByName(DataStr,ByRef n)函数意义:根据通道的名字,将该通道的值读出,假设该通道为整型(开关型)变量;返回值:整型。

-1 失败,0 成功。

参数:DataStr,字符型,需要读取的通道名的字符串。

n,引用型,整型,保存读出值的变量;实例:! GetIntChannelValueByName ("发电机启动",n)。

实例说明:将通道“显示内容”的值读出,赋给变量n;!GetSingleChannelValueByName(DataStr,ByRef x)函数意义:根据通道的名字,将该通道的值读出,假设该通道为单精度浮点型(开关型)变量;返回值:整型。

-1 失败,0 成功。

参数:DataStr,字符型,需要读取的通道名的字符串。

x,引用型,单精度浮点型,保存读出值的变量;实例:! GetSingleChannelValueByName ("温度",x)。

实例说明:将通道“温度”的值读出,赋给变量x;!GetIntChannelValueByNum(DataNum,ByRef n)函数意义:根据通道的编号,将该通道的值读出,假设该通道为整型(开关型)变量;返回值:整型。

-1 失败,0 成功。

参数:DataNum,整型,需要读取的通道的编号。

n,引用型,整型,保存读出值的变量;实例:! GetIntChannelValueByNum (1,n)。

实例说明:将通道1的值读出,赋给变量n;!GetSingleChannelValueByNum(DataNum,ByRef x)函数意义:根据通道的编号,将该通道的值读出,假设该通道为单精度浮点型(开关型)变量;返回值:整型。

-1 失败,0 成功。

参数:DataNum,整型,需要读取的通道的编号。

x,引用型,单精度浮点型,保存读出值的变量;实例:! GetSingleChannelValueByNum (2,x)。

实例说明:将通道2的值读出,赋给变量x;!GetChannelCount()函数意义:得到驱动的通道总数;返回值:整型。

-1 失败,>= 0 通道总数;参数:无;实例:! GetChannelCount ()。

!Trace(Str)函数意义:在脚本驱动开发工具的调试功能中,在输出框输出一些信息,在运行环境下不起作用;返回值:整型。

-1 失败,0 成功;参数:str,字符型,输出字符串;实例:!Trace(!strFormat("%D",123))。

!Sleep(n)函数意义:在脚本执行的过程中,暂停一段时间。

返回值:整型。

-1 失败,0 成功;参数:n,整型,暂停时间,以毫秒(ms)为单位;实例:!Sleep(500)。

实例说明:暂停执行500毫秒;!Ascii2I(str)函数意义:返回字符串str的首字符的Ascii值。

返回值:整型。

参数:str,字符型。

实例:!Ascii2I("Afd") =65。

!Bin2I(str)函数意义:把二进制字符串转换为数值。

返回值:整型。

参数:str,字符型。

实例:!Bin2I("101") =5。

!Format(x,str)函数意义:格式化数值型数据对象。

返回值:字符型。

参数:x,数值型,要格式化的数值;str,字符型,格式化数值的格式。

表示为0.00样式。

小数点后的0的个数表示需要格式化出的小数位数。

小数点前的0为一个时,表示小数点前根据实际数值显示。

当小数点前没有0时,表示为.xx式样,当小数点前的0不止一个时,使用0来填充不够的位数。

实例:!Format(1.236,"0.00") = "1.24";!Format(1.236,".00") = ".24";!Format(1.236,"00.00") = "01.24"。

!Hex2I(str)函数意义:把16进制字符串转换为数值。

返回值:整型。

参数:str,字符型。

实例:!Hex2I ("1A") =26。

!I2Ascii(n)函数意义:返回指定Ascii值的字符。

返回值:字符型。

参数:n,整型。

实例:!I2Ascii(65) ="A"。

!I2Bin(n)函数意义:把数值转换为二进制字符串。

返回值:字符型。

参数:n,整型。

实例:!I2Bin (5) ="101"!I2Hex(n)函数意义:把数值转换为16进制字符串。

返回值:字符型。

参数:n,整型。

实例:!I2Hex (17) ="11"。

!I2Oct(n)函数意义:把数值转换为8进制字符串。

返回值:字符型。

参数:n,整型。

实例:!I2Oct (9) ="11"。

!InStr(n,str1,str2)函数意义:查找一字符串str2在另一字符串str1中第一次出现的位置,字符串的首位置为1。

返回值:整型,如果找到,则返回位置,如果未找到,则返回0。

参数:n,整型,开始搜索的位置,字符串的首位置为1;str1,字符型,被搜索的字符串;str2,字符型,要搜索的子字符串。

实例:!InStr(1,"sdlkfjwe","sd") = 1;!InStr(3,"sdlkfjwe","sd") = 0。

!Lcase(str)函数意义:把字符型数据对象str的所有字符转换成小写。

返回值:字符型。

参数:str,字符型。

实例:!LCase("sedERT") = "sedert"。

!Left(str,n)函数意义:字符型数据对象str左边起,取n个字符。

返回值:字符型。

参数:str:字符型,源字符串;n,整型,取字符个数。

实例:!Left("ABCDEFG",2) ="AB"!Len(str)函数意义:求字符型数据对象str的字符串长度(字符个数)。

返回值:浮点数。

参数:str,字符型。

实例:!Len("ABCDEFG") = 7;!Len("昆仑通态") = 8。

!Ltrim(str)函数意义:把字符型数据对象str中最左边的空格剔除。

返回值:字符型。

参数:str,字符型。

实例:!LTrim(" dsfk ") = "dsfk "!Mid(str,n,k)函数意义:从字符型数据对象str左边第n个字符起,取k个字符。

字符首位置从1开始算起。

返回值:字符型。

参数:str,字符型,源字符串;n,整型,起始位置;k,整型,取字符数。

实例:!Mid("ABCDEFG",3,2) = "CD"。

!Oct2I(str)函数意义:把8进制字符串转换为数值。

返回值:整型。

参数:str,字符型。

实例:!Oct2I ("11") =9。

!Right(str,n)函数意义:从字符型数据对象str右边起,取n个字符。

返回值:字符型。

参数:str,字符型,源字符串;n,整型,取字符个数。

实例:!Right("ABCDEFG",2) ="FG"。

!Rtrim(str)函数意义:把字符型数据对象str中最右边的空格剔除。

返回值:字符型。

参数:str,字符型。

实例:!LTrim(" dsfk ") =" dsfk"。

!Str(x)函数意义:将数值型数据对象x的值转换成字符串。

返回值:字符型。

参数:x,数值型。

实例:!Str(0.712) ="0.712"。

!StrComp(str1,str2)函数意义:比较字符型数据对象str1和str2是否相等,返回值为0时相等,返回值为1时则str1 > str2,返回值为-1 时则str1 < str2。

此函数区分字母大小写。

返回值:整型。

参数:str1,字符型;str2,字符型。

实例:!StrComp("ABC","abc") = 1。

!StrCompCase(str1,str2)函数意义:比较字符型数据对象str1和str2是否相等,返回值为0时相等,返回值为1时则str1 > str2,返回值为-1 时则str1 < str2。

相关文档
最新文档