今天,我们将介绍Scriptor脚本编程应用。
一、Scriptor简介
SciSmart智能视觉软件支持脚本编写功能,通过SciSmart智能视觉软件的脚本可以完成包括变量复杂运算、获取日期和时间、对结果进行排序、对文件操作(新建、删除、txt文件内容读写)等操作。
图1 界面图
二、全局变量
按照以下步骤,添加全局变量:菜单栏->设置->变量设置。
图2 变量设置界面图
1.全局变量说明:
●全局变量在流程图中的各模块有效。
●全局变量名称以Vars.为开头。(注:Vars.为系统自动添加,无需手动添加,如添加名称为n的全局变量,流程图显示为Vars.n。)
●变量名称支持中文。
●添加变量时,可以对变量进行初始化及备注。
2. 变量类型说明:
●N:数值型(Number)可以进行数值运算的数据类型。
●S:字符型(String)由数字、字母、下划线组成的一串字符。
●B:布尔型(Boolean)非true(真),即false(假)。
●P:点类型(Point)其成员有两个,即 Point.x 和 Point.y。
●N[ ]:数值型数组。
●S[ ]:字符型数组。
●B[ ]:布尔型数组。
●P[ ]:点类型数组。
3.使用“脚本”算子进行赋值:
图3 “脚本”算子赋值示例图
三、局部变量
1.局部变量:这里所指的局部变量是仅在当前脚本有效的变量,其他脚本算子或其他模块无法调用的变量。
2.var语句:
(1)声明变量:
●var variable
●var variable2=value
(2)参数:
●variable,variable2为被声明的变量的名字。
●value为赋给变量的初始化值。
3.局部变量示例:下例阐明了var语句的用法,需要注意的是,使用var语句来声明变量,初始值的数据类型决定变量的数据类型。
图4 var语句用法示例图
4.注释符号:在SciScriptor中,有以下两种形式的注释:
●单行注释:单行注释以双斜线“//”开头。
●多行注释:多行注释以“/*”开始,以“*/”结束。
四、运算符
常用运算符:
●加法运算符(+)
●减法运算符(-)
●乘法运算符(*)
●除法运算符(/)
●==运算符:比较两个表达式是否相等
●&&运算符:对两个表达式执行逻辑与运算
●||运算符:对两个表达式执行逻辑或运算
●++运算符:变量值加1
●<运算符:比较两个表达式,看是否一个小于另一个
●<=运算符:比较一个表达式的值是否小于等于另一个表达式的值
●其他运算符
五、控制语句
1.条件语句:(1)if…else语句:根据一个表达式的值,有条件地执行一组语句。
if(condition)
{statement1}
else
{statement2}
图5 if...else语句用法示例图
(2)switch语句:当指定的表达式的值与某个标签匹配时,即执行相应的一个或多个语句。
switch(expression) {
case label :
statementlist
case label :
statementlist
case label :
statementlist
...
default :
statementlist
}
图6 switch语句用法示例图
3. 循环语句:(1)for语句:只要指定条件为true都执行语句块,例如:
for(initialization; test; increment)
{
statements
}
(2)while语句:在循环第一次被执行前检查expression。每当expression满足条件,则执行一次该循环;如果expression不满足条件,循环结束。例如:
while(expression)
{
statements
}
图7 for语句、while语句用法示例图
3.自定义函数:function,例如:
function Demo()
{
statements
}
图8 自定义函数function用法示例图
六、内部对象
1. 内部对象类型:
(1) Math对象:是一个固有对象,可以提供基本数学函数和常数,如:
●Math.abs(number):返回数字参数number的绝对值。
●Math.cos(number):返回值为其数字参数的余弦值。
●Math.PI:返回圆的周长与其直径的比值,约等于3.141592653589793。
(2)Date对象:启用基本存储器并取得日期和时间。
(3)Array对象:提供对创建任何数据类型的数组的支持。
(4)String对象:可用于处理或格式化文本字符串以及确定和定位字符串中的子字符串,如:
●length属性(String):返回String对象的长度。
●split方法:将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
●substr方法:返回一个从指定位置开始的指定长度的子字符串。
2.内部对象使用演示与查找:
(1)内部对象使用演示:
图9 内部对象使用示例图
(2)内部对象查找:
●方式一:使用JScript中文参考手册快速查找。
图10 使用JScript中文参考手册查找示例图
●方式二:上网查找。
11 上网查找示例图
七、注意事项
1.检查脚本的方式:
图12 脚本检查方式示例图
2.脚本数据的浅拷贝和深拷贝:
图13 脚本数据的浅拷贝和深拷贝示例图
以上为OPT小讲堂之SciSmart智能视觉软件操作培训第十六课的内容,如对课程有任何问题欢迎在留言区留言。