美文网首页
用户自定义功能的封装

用户自定义功能的封装

作者: ww4u | 来源:发表于2018-11-02 14:04 被阅读0次

    需求

    • 自定义应用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

    用户需要做什么?

    1. 调试开发自定义的script(不限语言,推荐python)
    2. 部署script到MEGAROBO Controller(直接拷贝)
    3. 在用户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

    相关文章

      网友评论

          本文标题:用户自定义功能的封装

          本文链接:https://www.haomeiwen.com/subject/xbqyzftx.html