KMScript.com DIGITIZED as KMScript
- 实例需求
- 假定一个脚本由3个部分组成
- 仓库门口进行了一套生物特征识别,得出结果 $a
- 仓库签到机进行了一次 RS232 接口的数据交互,鉴定了 $a 的身份,得出结果 $b
- 仓库搬运箱子时摄像头进行了若干生物特征识别,判定每一个人在变量 $b 中,若不在产生盗窃警报
- 现在在办公室也要这些系统,但是搬运箱子的步骤需要修改成另一套判定,那么能不能重用之前脚本的前2个模块呢?
比如我打开这个 kms 文件,保持其它模块不变,只修改搬运箱子判断的模块并保存为另一个文件 - 一段时间后单位对生物特征设备进行了升级,我们需要修改所有这些脚本?一个个的改?
是否有个机制把它们拆分成多个包并让这些包可以互相调用呢
- 解决方案
- kmscript 的 执行指定文件函数支持在 kmsz 之间跳转
- 那么我们就可以把前2个模块保存成 ab.kmsz 把仓库搬运箱子的模块保存成 c.kmsz(打开 kms 文件,删除其它模块,保存为特定名称.kms 再发布)
- 然后在相应 kms 添加以下步骤以解决 kmsz 之间的正常跳转
- c.kmsz
- 变量检查$b >0 即是否存在
- 失败则跳转模块d,模块d的内容如下
- 保存变量$脚本 值为 pub/c.kmsz 以便 ab.kmsz 完成后根据此值跳转回来
- 执行指定文件值为 pub/ab.kmsz
- 成功则继续执行
- ab.kmsz
- 进行预定操作直到得出结果 $b(保存变量 $b)
- 执行指定文件值为 $脚本
- 由于 $脚本 在刚才运行 c.kmsz 时已经设置为 pub/c.kmsz 那么这个执行指定文件就会运行时它
- 在 c.kmsz 由于刚才设置了 $b 它就能够继续运行而不再跳转到 ab.kmsz
- 现在有 ab.kmsz 和 c.kmsz,以后哪里要用只需要修改这个 c.kmsz 保存为 d.kmsz 然后把 $脚本 的值也改为 pub/d.kmsz 就可以重复利用 ab.kmsz
- 最后,在启动脚本时填入 c.kmsz 或 d.kmsz 运行它
- 其它说明
- 一个 kmsz 不能跳转到自己,因为 kmsz 内部可以在成功失败结果自由跳转
- 多个 kmsz 之间跳转所有变量都会继承,必要时请调用 清空变量方法
- kmsz 之间跳转(执行指定文件)时可以带关联参数,该参数可以是一个或多个变量且在目标 kmsz 运行前被设置。例如:
- $a=1
- { "$a": 1, "$b": "myname", "$c": "$d" }
骨骼配置:ui,值:li_tag