当前位置:文档之家› 昆仑通态脚本开发函数

昆仑通态脚本开发函数

昆仑通态脚本开发函数
昆仑通态脚本开发函数

!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。此函数不区分字母大小写。

返回值:整型。

参数:str1,字符型;

str2,字符型。

实例:!StrCompCase("ABC","abc") = 0,!StrCompCase("BBC","abc") = -1。

!StrFormat(FormatStr,任意个数变量)

函数意义:格式化字符串,可以格式化任意多个数值。

返回值:字符型。

参数:FormatStr,字符型,格式化字符串。后面的参数可以任意多个。

实例:!StrFormat("%g--%g",12,12.34)= "12--12.34"。

!Trim(str)

函数意义:把字符型数据对象str中左右两端的空格剔除。

返回值:字符型。

参数:str,字符型。

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

!Ucase(str)

函数意义:把字符型数据对象str的所有字符转换成大写。

返回值:字符型。

参数:str,字符型。

实例:!UCase("sedERT") ="SEDERT"。

!Val(str)

函数意义:把字符型数据对象str的值转换成数值。

返回值:数值型。

参数:str,字符型。

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

!Sscanf(str1, str2, 任意)

函数意义:根据给出的字符串按一定的格式读取其值到变量中。

返回值:-1 失败,0 成功。

参数:str1,字符串型,需要转化为数值的字符串。

str2,字符串型,转化格式。任意,任意个需要转化出来的变量值

实例:!Sscanf("123,45.23", "%d,%f",int1, value1),则int1 = 123 value1 = 45.23。

!Sscanf("%-123.234" , "%%%f",value), 则value = -123.234。

说明:这里转化格式支持两种%f 和%d,以及支持在格式字符串中用%% 匹配源字符串

的%。

!Space(n)

函数意义:由多个空格形成长度为n的新字符串

返回值:字符型。

参数:n,整型,形成的新字符串长度;

实例:!Space(3) = " "。

!Strings(chr,n)

函数意义:由多个chr形成长度为n的新字符串

返回值:字符型。

参数:chr,字符型,源字符串;

n,整型,形成的新字符串长度;

实例:!Strings("A",3) = "AAA"。

!Strings("中",4) = "中中"。

!Chr(n)

函数意义:返回指定Ascii值的字符。

返回值:字符型。

参数:n,整型。

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

说明:与I2Ascii的功能一致,为了与VB的语法保持一致;

!Asc(s)

函数意义:返回字符串s的首字母的Ascii值。

返回值:整型。

参数:s,字符型。

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

说明:与Ascii2I的功能一致,为了与VB的语法保持一致;

!MidEx(str,n)

函数意义:从字符型数据对象str左边第n个字符起,右边所有的字符。数字字符时,从1开始算起。

返回值:字符型。

参数:str,字符型,源字符串;

n,整型,起始位置;

实例:!MidEx("ABCDEFG",3) = "CDEFG"。

!Prifix(str,chr,n)

函数意义:使字符型数据对象str左边增加前缀字符chr,使得新字符串的长度为n。

如果字符型数据对象str的长度已超过n,则只保留右边长度为n的字符串。

返回值:字符型。

参数:str,字符型,源字符串;

chr, 字符型,前缀字符;

n,整型,新字符串的长度;

实例:!Prifix("FA","0",4) = "00FA"。

!Prifix("FA","AB",8) = "ABABABFA"。

!Prifix("11FA","0",2) = "FA"。

!Postfix(str,chr,n)

函数意义:使字符型数据对象str右边增加后缀字符chr,使得新字符串的长度为n。

如果字符型数据对象str的长度已超过n,则只保留左边长度为n的字符串。

返回值:字符型。

参数:str,字符型,源字符串;

chr, 字符型,后缀字符;

n,整型,新字符串的长度;

实例:!Postfix("FA","0",4) = "FA00"。

!Postfix("FA","AB",8) = "FAABABAB"。

!Postfix("11FA","0",2) = "11"。

!InStrRev(n,str1,str2)

函数意义:查找一字符串str2在另一字符串str1中第一次出现的位置,字符串的首位置为1,本函数与Instr函数的区别为,它是从字符串的尾部开始进行查找。字符串的首位置为1。

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

参数:n,整型,开始搜索的位置,该位置是从字符串的首位置开始计算的,字符串的首位置为1,

如果值为0,则表示从最后一个字符开始;

str1,字符型,被搜索的字符串;

str2,字符型,要搜索的子字符串。

实例:!InStrRev(0,"sdlkfjsd","sd") = 7;!InStrRev(3,"sdlkfjsd","sd") = 1。

!Replace(expression, find, replace, start, count)

函数意义:将字符串expression中的字符串find替换为字符串replace,字符串的首位置为1。返回值:字符型,返回被替换后的结果字符串。

参数:expression,字符型,源字符串;

find,字符型,需替代的字符串;

replace,字符型,替代的字符串;

start,查询的起始位置,字符串的首位置为1;

count, 替换次数,-1表示将所有的可能字符串全部替换,1表示只替换第一个发现的字符串。

实例:!Replace("sdlkfjsd","sd","A",1,-1) = "AlkfjA";!Replace("sdlkfjsd","sd","A",3,-1) = "sdlkfjA"。

!Atn(x)

函数意义:反正切函数。

返回值:数值型,用弧度表示。

参数:x,数值型。

实例:!Atn(1) =0.785398。

!Cos(x)

函数意义:余弦函数。

返回值:数值型。

参数:x,数值型,用弧度表示。实例:!Cos(3.14159)=-1.0。

!Sin(x)

函数意义:正弦函数。

返回值:数值型。

参数:x,数值型,用弧度表示。实例:!Sin(3.14159)=0.0。

!Tan(x)

函数意义:正切函数。

返回值:数值型。

参数:x,数值型,用弧度表示。实例:!Tan(3.14159)=0.0。

!Exp(x)

函数意义:指数函数。

返回值:数值型。

参数:x,数值型。

实例:!Exp(2.3020585093)=10.0。

!Log(x)

函数意义:对数函数。

返回值:数值型。

参数:x,数值型。

实例:!Log(10)=2.302。

!Sqr(x)

函数意义:平方根函数。

返回值:数值型。

参数:x,数值型。

实例:!Sqr(4.0)=2.0。

!Abs(x)

函数意义:绝对值函数。

返回值:数值型。

参数:x,数值型。

实例:!Abs(-3.14159)=3.14159。

!Sgn(x)

函数意义:符号函数。

返回值:数值型。

参数:x,数值型。

实例:!Sgn(-10) = -1;!Sgn(10) = 1;!Sgn(0) = 0。

!Rand(x,y)

函数意义:生成随机数,随机数的范围在x和y之间。返回值:数值型。

参数:x,数值型。Y, 数值型。

实例:!Rand(3,4) = 3.1。

!BitAnd(m,n)

函数意义:按位与,位的计算从0开始。

返回值:整型。

参数:m,整型,n,整型。

实例:!BitAnd(&H03, &H04) =&H00。

!BitOr(m,n)

函数意义:按位或,位的计算从0开始。

返回值:整型。

参数:m,整型。n,整型。

实例:!BitOr(&H03, &H04) =&H07。

!BitXor(m,n)

函数意义:按位异或,位的计算从0开始。

返回值:整型。

参数:m,整型。n,整型。

实例:!BitXor(&H03, &H04) = &H07。

!BitClear(m,n)

函数意义:清除m的指定n位为0,位置从0开始计算。返回值:整型。

参数:m,整型。n,整型。

实例:!BitClear(&H03,1) = 1,把第2位清空。

!BitSet(m,n)

函数意义:设置m的指定位为1,位置从0开始计算。返回值:整型。

参数:m,整型。n,整型。

实例:!BitSet (&H03,2) = &H07。

!BitNot(m)

函数意义:按位取反。位的计算从0开始。

返回值:整型。

参数:m,整型。

实例:!BitNot(&H00) = &HFFFF。

!BitTest(m,n)

函数意义:检测指定位是否为1,位置从0开始计算。

返回值:整型,如果为1,则返回1,否则返回0。

参数:m,整型。n,整型。

实例:!BitTest(3,2) = 0。

!BitLShift(m,n)

函数意义:左移,位的计算从0开始。

返回值:整型。

参数:m,整型。n,整型。

实例:!BitLShift(&H03,1) = &H06。

!BitRShift(m,n)

函数意义:右移,位的计算从0开始。

返回值:整型。

参数:m,整型。n,整型。

实例:!BitRShift(&H03,1) = &H01。

!TimeStr2I(strTime)

函数意义:将表示时间的字符串(YYYY/MM/DD HH:MM:SS)转换为时间值。

返回值:整型,转换后的时间值。

参数:strTime,字符型,以字符串型表示的时间(YYYY/MM/DD HH:MM:SS)。

实例:!TimeStr2I("2001/1/1 3:15:28")。

实例说明:将表示时间的字符串“2001/1/1 3:15:28”转换为整型的时间值。

!TimeI2Str(iTime,strFormat)

函数意义:将时间值转换为字符串表示的时间。

返回值:字符型,转换后的时间字符串。

参数:iTime,整型,时间值(注意,这里只能用!TimeStr2I(strTime)转换出的时间值,否则将不能正确转换。);

strFormat,字符型,转换后的时间字符串的格式。

实例:!TimeI2Str(Time,"%Y/%m/%D %H:%M:%S")。

实例说明:将时间值转换为字符串型,其表示格式为:星期,月日,年。

!TimeGetYear(iTime)

函数意义:获取时间值iTime中的年份。

返回值:整型,时间值iTime中的年份。

参数:iTime,整型,时间值。

实例:!TimeGetYear(iTime)。

实例说明:获取时间值iTime中的年份。

!TimeGetMonth(iTime)

函数意义:获取时间值iTime中的月份。

返回值:整型,时间值iTime中的月份(1~12)。

参数:iTime,整型,时间值。

实例:!TimeGetMonth (iTime)。

实例说明:获取时间值iTime中的月份。

!TimeGetSecond(iTime)

函数意义:获取时间值iTime中的秒数。

返回值:整型,时间值iTime中的秒数(0~59)。

参数:iTime,整型,时间值。

实例:!TimeGetSecond (iTime)。

实例说明:获取时间值iTime中的秒数。

!TimeGetSpan(iTime1,iTime2)

函数意义:计算两个时间iTime1和iTime2之差。

返回值:整型,两时间之差。

参数:iTime1,整型,时间值;

iTime2,整型,时间值。

实例:!TimeGetSpan(iTime1,iTime2)

实例说明:计算两个时间iTime1和iTime2之差。

!TimeGetDayOfWeek(iTime)

函数意义:获取时间值iTime中的星期。

返回值:整型,时间值iTime中的秒数(1 为星期日, 2 表示星期一,……)。参数:iTime,整型,时间值。

实例:!TimeGetDayOfWeek (iTime)。

实例说明:获取时间值iTime中的星期。

!TimeGetHour(iTime)

函数意义:获取时间值iTime中的小时。

返回值:整型,时间值iTime中的小时(0~23)。

参数:iTime,整型,时间值。

实例:!TimeGetHour (iTime)。

实例说明:获取时间值iTime中的小时。

!TimeGetMinute(iTime)

函数意义:获取时间值iTime中的分钟。

返回值:整型,时间值iTime中的分钟(0~59)。

参数:iTime,整型,时间值。

实例:!TimeGetMinute (iTime)。

实例说明:获取时间值iTime中的分钟。

!TimeGetDay(iTime)

函数意义:获取时间值iTime中的日期。

返回值:整型,时间值iTime中的日期(1~31)。

参数:iTime,整型,时间值。

实例:!TimeGetDay (iTime)。

实例说明:获取时间值iTime中的日期。

!TimeGetCurrentTime()

函数意义:获取当前时间值。

返回值:整型,当前的时间值。

参数:无。

实例:!TimeGetCurrentTime()。

实例说明:获取当前时间值。

!TimeSpanGetDays(iTimeSpan)

函数意义:获取时间差中的天数;(时间差由TimeGetSpan函数计算得来)。返回值:整型,时间差中的天数(1~31)。

参数:iTimeSpan,整型,时间差。

实例:!TimeSpanGetDays(TimeSpan)。

实例说明:获取时间差TimeSpan中的天数。

!TimeSpanGetHours(iTimeSpan)

函数意义:获取时间差中的小时数;(时间差由TimeGetSpan函数计算得来)。返回值:整型,时间差中的小时数(0~23)。

参数:iTimeSpan,整型,时间差。

实例:!TimeSpanGetHours(TimeSpan)。

实例说明:获取时间差TimeSpan中的小时数。

!TimeSpanGetMinutes(iTimeSpan)

函数意义:获取时间差中的分钟数;(时间差由TimeGetSpan函数计算得来)。返回值:整型,时间差中的分钟数(0~59)。

参数:iTimeSpan,整型,时间差。

实例:!TimeSpanGetMinutes(TimeSpan)。

实例说明:获取时间差TimeSpan中的分钟数。

!TimeSpanGetSeconds(iTimeSpan)

函数意义:获取时间差中的秒数;(时间差由TimeGetSpan函数计算得来)。返回值:整型,时间差中的秒数(0~59)。

参数:iTimeSpan,整型,时间差。

实例:!TimeSpanGetSeconds(TimeSpan)。

实例说明:获取时间差TimeSpan中的秒数。

!TimeSpanGetTotalHours(iTimeSpan)

函数意义:获取时间差中的小时总数;(时间差由TimeGetSpan函数计算得来)。

返回值:整型,时间差中的小时总数。

参数:iTimeSpan,整型,时间差。

实例:!TimeSpanGetTotalHours(TimeSpan)。

实例说明:获取时间差TimeSpan中的小时总数。

!TimeSpanGetTotalMinutes(iTimeSpan)

函数意义:获取时间差中的分钟总数;(时间差由TimeGetSpan函数计算得来)。

返回值:整型,时间差中的分钟总数。

参数:iTimeSpan,整型,时间差。

实例:!TimeSpanGetTotalMinutes(TimeSpan)。

实例说明:获取时间差TimeSpan中的分钟总数。

!TimeSpanGetTotalSeconds(iTimeSpan)

函数意义:获取时间差中的秒总数;(时间差由TimeGetSpan函数计算得来)。

返回值:整型,时间差中的秒总数。

参数:iTimeSpan,整型,时间差。

实例:!TimeSpanGetTotalSeconds(TimeSpan)。

实例说明:获取时间差TimeSpan中的秒总数。

!TimeAdd(iTime,iTimeSpan)

函数意义:向时间iTime中加入由iTimeSpan指定的秒数。

返回值:整型,相加后的时间值。

参数:iTime,整型,初始时间值。

iTimeSpan,整型,要加的秒数。

实例:!TimeAdd(Time,500)。

实例说明:向时间Time中加上500秒。

!Str2ByteArr(str,ByRef ByteArr)

函数意义:将字符串str中的所有字符填入字节数组,字节数组位置计数从1开始。

返回值:整型,返回值0表示填充成功,-1表示字符串中字符的长度大于字节数组的长度,

超出部分已经被裁剪;-2 表示不是字节数组,-3 表示操作失败。

参数:str,字符型,需填充的字符串。

ByteArr,传址型,类型为字节型数组,被填充的字节数组。

实例:!Str2ByteArr("ABCDE",BA),其中BA为字节数组,BA中的数据为:"A"、"B"、"C"、"D"、"E",

从第6个字节开始的数据未知。

!ByteArr2Str(ByRef ByteArr, str, count)

函数意义:将字节数组ByteArr中的前Count个字节的数据填入字符串中。

返回值:0 成功,-1 失败。

参数:ByteArr,传址型,字节型数组。

Str,传址型,取得的字符串。

Count,整型,由字节数组填充而形成的字符串。

实例:! ByteArr2Str (BA,str, 5),其中BA为字节数组,BA中的数据为:"A"、"B"、"C"、"D"、"E",

则生成了一个长度为5的字符串str :“ABCDE”。

!SetIntToByteArr(ByRef ByteArr,start,n)

函数意义:对字节数组ByteArr中从start位置开始的内容进行填充,填充的长度为4字节,填充的内容为n,

按4字节整型进行填充,字节数组位置计数从1开始。

返回值:整型,判断是填充是否正常:

0:正常;

-1:start的值小于1;

-2:start的值大于字节数组的长度;

-3:填充后的结果的某些位置超出ByteArr的长度;

-4:不是字节数组。

-5:操作失败。

参数:ByteArr,传址型,字节型数组,被填充的字节数组。

start,整型,填充的首位置,从1开始。

n,整型,填充的内容

实例:!SetIntToByteArr (BA,1, 65),则形成的字节数组为:65 00 00 00

!SetShortToByteArr(ByRef ByteArr,start,n)

函数意义:对字节数组ByteArr中从start位置开始的内容进行填充,填充的长度为2字节,填充的内容为n,

按2字节整型进行填充,所以这种填充方式要求n的值范围为:-32767 ≤n ≤32768。

字节数组位置计数从1开始。

返回值:整型,判断是填充是否正常:

0:正常;

-1:start的值小于1;

-2:start的值大于字节数组的长度;

-3:填充后的结果的某些位置超出ByteArr的长度;

-4:其它错误。

参数:ByteArr,传址型,字节型数组,被填充的字节数组。

start,整型,填充的首位置,从1开始。

n,整型,填充的内容

实例:! SetShortToByteArr (BA,1, 65),则形成的字节数组为:65 00

!SetStrToByteArr(ByRef ByteArr,start,str)

函数意义:对字节数组ByteArr中从start位置开始的内容进行填充,填充的长度为字符串str的长度字节,

填充的内容为字符串str,字节数组位置计数从1开始。

返回值:整型,判断是填充是否正常:

0:正常;

-1:start的值小于1;

-2:start的值大于字节数组的长度;

-3:填充后的结果的某些位置超出ByteArr的长度;

-4:填充后的长度。

参数:ByteArr,传址型,字节型数组,被填充的字节数组。

start,整型,填充的首位置,从1开始。

str,字符型,填充的内容

实例:!SetStrToByteArr (BA,2, "BC" ),则形成的字节数组为:"B" "C"

!SetSingleToByteArr(ByRef ByteArr,start,x)

函数意义:对字节数组ByteArr中从start位置开始的内容进行填充,填充的长度为4,填充的内容为浮点型x,

填充的格式按照BASIC中单精度浮点型格式填充,字节数组位置计数从1开始。

返回值:整型,判断是填充是否正常:

0:正常;

-1:start的值小于1;

-2:start的值大于字节数组的长度;

-3:填充后的结果的某些位置超出ByteArr的长度;

-4:其他错误。

参数:ByteArr,传址型,字节型数组,被填充的字节数组。

start,整型,填充的首位置,从1开始。

x,数值型,填充的内容

实例:!SetSingleToByteArr (BA,1, 12.3 ),则形成的字节数组的前四个字节为BASIC中单精度浮点数的内部表示。

!GetIntFromByteArr(ByRef ByteArr,start,ByRef n)

函数意义:将字节数组ByteArr中从start位置开始的内容输出到变量n中,输出的格式为4字节整型,

字节数组位置计数从1开始。

返回值:整型,判断是输出是否正常:

0:正常;

-1:start的值小于1;

-2:start的值大于字节数组的长度;

-3:ByteArr无足够多的内容用以输出;

-4:变量n不能够用于保存数据,或空间长度不够

-5:其他错误。

参数:ByteArr,传址型,字节型数组。

start,整型,输出的首位置,从1开始。

n,传址型,长整型;

实例:!GetIntFromByteArr (BA,2, A),字节数组为:00 01 02 03 04 05 06 07 08 09 00 00 则A=67305985

!GetShortFromByteArr(ByRef ByteArr,start,ByRef n)

函数意义:将字节数组ByteArr中从start位置开始的内容输出到变量n中,输出的格式为2字节整型,

字节数组位置计数从1开始。

返回值:整型,判断是输出是否正常:

0:正常;

-1:start的值小于1;

-2:start的值大于字节数组的长度;

-3:ByteArr无足够多的内容用以输出;

-4:变量n不能够用于保存数据,或空间长度不够

-5:其他错误。

参数:ByteArr,传址型,字节型数组。

start,整型,输出的首位置,从1开始。

n,传址型,长整型;

实例:! GetShortFromByteArr (BA,2, A),字节数组为:00 01 02 03 04 05 06 07 08 09 00 00 则A=513

!GetStrFromByteArr(ByRef ByteArr,start,count,ByRef str)

函数意义:将字节数组ByteArr中从start位置开始的内容输出到字符型变量n中,输出的长度为count,

字节数组位置计数从1开始。

返回值:整型,判断是输出是否正常:

0:正常;

-1:start的值小于1;

-2:start的值大于字节数组的长度;

-3:ByteArr无足够多的内容用以输出;

-4:变量str不能够用于保存数据,或空间长度不够

-5:其他错误

参数:ByteArr,传址型,字节型数组。

start,整型,输出的首位置,从1开始。

count,整型,输出的字节数量;

str,传值型,字符型,输出的字符串

实例:!GetStrFromByteArr (BA,2,5, A),字节数组为:"B" "C" "D" "E" "F" "G" "H" 则A="CDEFG"

!GetSingleFromByteArr(ByRef ByteArr,start, ByRef x)

函数意义:将字节数组ByteArr中从start位置开始的4字节内容输出到数值型变量x中,字节数组位置计数从1开始。

返回值:整型,判断是输出是否正常:

0:正常;

-1:start的值小于1;

-2:start的值大于字节数组的长度;

-3:ByteArr无足够多的内容用以输出;

-4:变量x不能够用于保存数据,或空间长度不够

-5:其他错误

参数:ByteArr,传址型,字节型数组。

start,整型,输出的首位置。

x,传值型,单精度型,输出的变量

!DevSetBaud(参数1)

函数意义:设置串口的波特率。

返回值:整型

0:调用正常;

-1:设置失败;

参数:参数1,长整型,波特率,可选值包括:

110

19200

300

38400

600

56000

1200

57600

2400

115200

4800

128000

9600

256000

14400

实例:! DevSetBaud (57600)。

实例说明:设置父设备的波特率为57600。

!DevSetDataBit(参数1)

函数意义:设置父设备的串口的数据位。

返回值:整型

0:调用正常;

-1:设置失败;

参数:参数1,整型,7 = bit_7;8 = bit_8。

实例:! DevSetDataBit (8)。

实例说明:设置父设备的数据位为8位。

!DevSetStopBit(参数1)

函数意义:设置父设备的停止位。

返回值:整型

0:调用正常;

-1:设置失败;

参数:参数1,整型,停止位,0 = stop_1;1 = stop_1.5;2 = stop_2。

实例:! DevSetStopBit (2)。

实例说明:设置父设备的停止位为2位。

!DevSetParityBit(参数1)

函数意义:设置父设备的校验位。

返回值:整型

0:调用正常;

-1:设置失败;

参数:参数1,整型,校验位

0: 无

1: 奇

2: 偶

3: 置1

4: 置0

实例:! DevSetParityBit (0)。

实例说明:设置父设备无校验。

!DevGetBaud()

函数意义:读取父设备的波特率。

返回值:长整型。串口的波特率,见! DevSetBaud,-1表示父设备不支持串口操作或者没有父设备。

参数:无。

实例:! DevGetBaud ()。

实例说明:读取父设备的波特率。

!DevGetDataBit()

函数意义:读取父设备的数据位。

返回值:整型。串口的数据位,见! DevSetDataBit,-1表示父设备不支持串口操作或者没有父设备。

参数:无

实例:! DevGetDataBit ()。

实例说明:读取父设备的数据位。

!DevGetStopBit()

函数意义:读取父设备的停止位。

返回值:整型。串口的停止位,见! DevSetStopBit,-1表示父设备不支持串口操作或者没有父设备。

参数:无。

实例:! DevGetStopBit ()。

实例说明:读取父设备的停止位。

!DevGetParityBit()

函数意义:读取父设备校验位。

返回值:整型。串口的校验位,见! DevSetParityBit,-1表示父设备不支持串口操作或者

没有父设备。

参数:无。

实例:!GetDevParityBit (1)。

实例说明:读取父设备的校验位。

!DevClearBuff()

函数意义:清除父设备的读写缓冲区。

返回值:整型。0表示清除成功,-1表示操作失败。

参数:无。

!DevClearInBuff()

函数意义:清除父设备的读缓冲区。

返回值:整型。0表示清除成功,-1表示操作失败。

参数:无。

!DevClearOutBuff()

函数意义:清除父设备的写缓冲区。

返回值:整型。0表示清除成功,-1表示操作失败。

参数:无。

!DevWriteStr(参数1)

函数意义:向串口写一个字符串。

返回值:整型

-1:串口没有打开。

-2:写入超时,未写入一个字符;

>0,写入的字符数;

参数:参数1,字符型,写入的字符串。

实例:! DevWriteStr("ABCDE")。

实例说明:向父设备写入字符串”ABCDE”。

!DevReadStr(ByRef 参数1,参数2,参数3)

函数意义:从父设备读取一定长度的字符串。

返回值:整型。

-1:串口不正常;

-2:读超时,未读入一个字符;

>0,读的字符数;

参数:参数1,传址型,字符型,接收的字符串,

参数2,整型,需接收的字符数,接收到足够多的字符则返回;

参数3,整型,等待的时间,如果超过时间尚未读到足够的字符也返回,如果为0则直接返回。

实例:! DevReadStr(str,20,500)。

实例说明:从父设备读取字符串,如果在500毫秒内已读到20个字符,则返回,

如果超过500毫秒未读取到20个字符,超时返回。

相关主题
文本预览
相关文档 最新文档