昆仑通态脚本开发函数
(中牟)昆仑通态触摸屏部分总结

昆仑通态触摸屏部分总结常用逻辑脚本1.登录自动注销脚本flag1=1'!LogOff( )endifendifendifif 回车=1 then!SendKeys("{ENTER}")'发送ENTER键flag1 = 0回车 = 0endif1.自动切换画面脚本if 设定时间>=50 then !CloseAllWindow("工艺图1") '50分钟后关闭除“工艺图1”之外所有窗口。
(结合自动注销脚本使用)1.在需要先开阀再开泵的情况时,可通过脚本与隐藏功能结合使用来避免现场误操作循环脚本:IF XX阀开到位=1 THEN XX泵隐藏变量=1IF XX阀开到位=0 THEN XX泵隐藏变量=0注释1:当隐藏变量=1时,触摸屏画面显示开泵按钮,隐藏变量=0时,触摸屏画面显示提示语如“请先开阀!”。
注释2:在有多种状态来判定隐藏条件可利用类似循环语句1.历史数据自动删除脚本!DelSaveDat(历史数据,12 )利用循环策略,将循环时间设为每月一次,即可实现每月删除12小时之前的历史数据。
1.在有“触屏控制”与“上位控制”切换功能的触屏中可利用画面启动脚本与退出脚本,使进入画面时触摸屏获得权限(即自动切换到触屏控制),退出画面时自动切换为上位控制。
6.触屏键盘普遍偏小,修改输入键盘大小脚本-1:自动全屏大小。
0:原始大小。
实例:!SetNumPanelSize(1,500),将数值输入键盘改为500*500大小,该正方形相对于屏幕居中。
所有修改将在下一次打开输入框时生效,运行环境退出后,将自动保留上次输入框的大小。
触摸屏编辑注意事项1.在用以太网传输时,注意先改好IP地址,包括本地IP和远程IP。
否则可能会将工程下载至同网段其他触摸屏中或造成与PLC通讯失败。
1.如果与PLC通讯不成功考虑以下几种情况:2.在通讯不成功的页面是否存在与PLC不一直的变量,寻找方法应将PLC变量表与触摸屏变量表对比寻找,如当前画面控件较少可通过一次删除控件来排除。
昆仑通态函数大全

昆仑通态函数大全系统内部数据对象$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管理员。
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码通讯。
昆仑通态触摸屏实现只选择配方不能更改配方的方法

资料范本
本资料为word版本,可以直接编辑和打印,感谢您的下载
昆仑通态触摸屏实现只选择配方不能更改配方的方法
地点:__________________
时间:__________________
说明:本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容
昆仑通态触摸屏实现只选择配方不能更改配方的方法哈尔滨研奥科技有限公司
唐雪飞
2020/06/14
在实际触摸屏应用项目中,涉及配方的情况下,用户从管理角度往往希望操作员只能选择配方,不能更改配方及看到配方数据。
因昆仑通态触摸屏自带的配方选择函数:
!RecipeLoadByDialog (strRecipeGroupName, strDialogTitle)
执行后画面如下,其中有“编辑配方”按钮,不能启动保护配方的目的。
因此本文介绍一种实现配方保护的方法,具体步骤如下:
新建配方:
建立变量:
建立画面如下:
画面启动脚本:
设置第一个配方为开机配方,并显示配方名字。
上一配方按钮脚本:
下一配方按钮脚本:
通过控制这两个按钮的权限,就启到保护配方和选择配方的目的。
哈尔滨研奥科技有限公司。
昆仑通态触摸屏实现只选择配方不能更改配方的方法之欧阳地创编

昆仑通态触摸屏实现只选择配方不能更改配方的方法
哈尔滨研奥科技有限公司
唐雪飞
2020/06/14
在实际触摸屏应用项目中,涉及配方的情况下,用户从管理角度往往希望操作员只能选择配方,不能更改配方及看到配方数据。
因昆仑通态触摸屏自带的配方选择函数:
!RecipeLoadByDialog (strRecipeGroupName, strDialogTitle)
执行后画面如下,其中有“编辑配方”按钮,不能启动保护配方的目的。
因此本文介绍一种实现配方保护的方法,具体步骤如下:
1、新建配方:
2、建立变量:
3、建立画面如下:
4、画面启动脚本:
设置第一个配方为开机配方,并显示配方名字。
5、上一配方按钮脚本:
6、下一配方按钮脚本:
7、通过控制这两个按钮的权限,就启到保护配方
和选择配方的目的。
哈尔滨研奥科技有限公司
时间:2021.03.04 创作:欧阳地。
昆仑通态人机界面与单片机通信实战教程二:脚本驱动的设计

昆仑通态⼈机界⾯与单⽚机通信实战教程⼆:脚本驱动的设计⼤家好,我是『芯知识学堂』的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 昆仑通态触摸屏上升沿触发函数()
{
// 执行特定的操作代码
// ...
}
```
在函数体内,可以添加各种处理触摸屏上升沿触发事件的代码。
这些代码可以根据实际需求进行编写,比如获取触摸坐标、处理触摸事件、更新界面等操作。
需要注意的是,此函数的具体实现需要根据昆仑通态触摸屏的接口文档或开发者手册来进行编写。
函数中的代码取决于具体的触摸屏硬件和驱动库的特性,因此无法提供完整的代码示例。
在实际使用过程中,我们可以将该函数与其他代码结合,例如在主函数中注册该函数作为触摸屏上升沿触发事件的回调函数,或在相应的触摸屏驱动模块中调用该函数进行处理。
总之,昆仑通态触摸屏上升沿触发函数是一种用于处理触摸屏上升沿触发事件的函数,可以根据实际需求进行编写和定制。
昆仑通态函数大全

!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
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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。