在第十五课里,我们以tcp/ip通讯方式为例,对通讯工具的应用进行了阐述。
今天,我们将介绍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语句来声明变量,初始值的数据类型决定变量的数据类型。
图4var语句用法示例图
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
}
图7for语句、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 脚本数据的浅拷贝和深拷贝示例图
lw
华林科纳PFA管在半导体清洗工艺中的卓越应用
硅胶粘接剂百科
眼球追踪给VR/AR技术带来的6大变化
台积电3D Fabric先进封装技术详解
浏览器更应该做好哪些功能?
OPT小讲堂 ∣ SciSmart之Scriptor脚本编程应用
多级放大电路的组成
摩托罗拉One系列新机跑分曝光运行4GB内存多核成绩为5377分
千元机性价比之王,华为G9三星Galaxy J3等五大千元拍照神机分析
NASA将在太空任务中进行高度紧凑的热像仪成像测试
威迈斯公司在产品多功能化上取得了良好产业化成果
超稳运动抓拍 vivo X50系列开售1天倒计时
人工智能包括什么
华为畅享50全新亮相,6000mAh电池带来超强续航
抢推先进制程 Xilinx/Altera之战一触即发
《流浪地球 》一天60小时怎么算?量子精密测量:没关系,我会出手
每日一问 不入耳耳机究竟如何选?
人工智能与人类智能差异明显,未来将是人工智能和人类智能共同构建的!
高效管理,智能网关引领无人值守换热站新模式
比亚迪和上汽连续数月稳居新能源乘用车冠亚军,北汽新能源则雄风不再