需求
- 自定义应用Api用于实现特定的功能
- 支持参数调整
- 应用api运行在控制器端
理解
- 对应用过程进行抽象
- 流程是固定的,但流程中进行的内容是不一样的
- “瓶子是固定的,但瓶子可以装水也可以装酒...”
实现--I
image.png用户开发script
- 一个script就是一个完整的py文件
- script可以带有输入
- 在script中进行流程实现
- 用户script的重点是流程
-
MISA的重点是设备控制
image.png
将这个调试好的script放置到 控制器的 script目录中
-
调试时可以直接在PC上进行
image.png - 通过控制器UI或FTP导入用户script
在应用开发中使用rpc调用
image.png用户需要做什么?
- 调试开发自定义的script(不限语言,推荐python)
- 部署script到MEGAROBO Controller(直接拷贝)
- 在用户App中调用自定义的script
得到返回数值
- 在 main 中调用 sys.exit( n ) 返回
- 注意: sys.exit() 只能在 __main__ 中进行调用
if __name__=="__main__":
sys.exit( 100 )
在app中得到返回值
- rpq <your cmd>
rpq "python G:\work\mc\develope\installer\package\script\demo_motor.py"
"finished,100"
- 系统错误码:
-1: 进程执行错误
-2: 进程创建失败
附:具体的例子
if __name__=="__main__":
mgr = DevMgr( ip="192.168.1.183" )
print( mgr.IDN )
cmd = r"python /home/megarobo/study/package/script/demo_motor.py 1000 5 -1000 5"
mgr.rpc( cmd )
print( mgr.rpwaitEnd( cmd ) )
print( mgr.rpq( cmd ) )
- 创建DevMgr时填写了IP参数,表示需要进行远程调用
- cmd为远程设备中的脚本路径
- rpc
-
等待调用结束
image.png
网友评论