Skip to content

常见问题


一、插件开发

Q1: Contribution 和 View 的 UI 信号之间有什么规则能指导一下吗?

答:

1. UI signal -> View::slotXxx() -> Contribution::setXxx() -> undo/redo->push -> data_model_->set()
2. Contribution::openView() -> View::updateXxx()
3. undo/redo -> DataModel change signal -> Contribution::openView() -> View::updateXxx()

Q2: Hi, I'm doing exception handling in a plugin and want to catch exceptions from the aubo_scope space. But right now I am not able to raise any exception even intentionally. Using createUserProgramNode I try to get IllegalArgumentException, but I get only Segmentation fault. And so it is with all exceptions. Could you please tell me how to work with aubo exceptions? How could I call them to test processing? Do they occur in real work, or will I always get Segmentation fault?

**答:**We apologize that in some plugin interfaces, we did not perform adequate checks on the parameters, leading to the failure to throw the appropriate exceptions. However, in the SDK, we do throw exceptions, and the type is arcs::common_interface::AuboException, which you can view here: https://docs.aubo-robotics.cn/arcs_api/classarcs_1_1common__interface_1_1AuboException.html.

O3: 自定义子节点脚本执行顺序

**问题详述:**标准接口中的 ScriptWritter::writeChildren() 是按程序树顺序执行子节点脚本生成。但我们想指定插件 A 节点下的 B 节点不论在程序树中什么位置,都在子节点最后执行。

**答:**可以让 B 节点脚本生成一个函数,原本执行的功能放在函数里面。然后在 A 节点脚本最后,去调用 B 节点生成的函数,即可自定义子节点脚本执行顺序。

二、软件操作

Q1: 软件为什么安装失败?

答:

  1. 检查磁盘空间是否充足
  2. 检查软件安装包是否下载出错,尝试重新下载安装

Q2: 为什么远程运行程序功能异常?

**答:**远程运行程序是直接运行的文件系统中的 .lua 脚本,如果编辑过程序树,程序名带 * 没有保存,则运行的程序和编辑后的程序不一致。需要保存程序后再远程运行程序。

而且推荐将操作模式改为自动后再远程运行程序。