ABB机器人仿真软件而开发:Smart组件I/O信号的声明方法

  机器人I/O信号说明

  Smart组件是RobotStudio软件实现虚拟仿真必不可少的功能,它是机器人I/O信号对仿真对象运动属性控制的连接桥梁。由此可以看出,Smart组件其实就是由I/O信号控制功能与仿真对象的属性配置两大核心功能构成。

  对于Smart组件的二次开发也是围绕着这两大核心功能,按照Smart组件的开发标准,I/O信号与仿真对象属性的添加都是在*.xml文件中直接声明。

  本期,就先为大家介绍一下Smart组件I/O信号的声明方法。

  RobotStudio软件版本:RobotStudio 6.08

  SDK版本:RobotStudio SDK.6.08

  开发软件版本:Microsoft Visual Studio Professional 2019

  项目创建

  首先搭建RobotStudio软件二次开发环境,然后使用RobotStudio SDK提供的Smart组件二次开发模板创建开发项目,详细操作步骤请查阅之前发布的文章《RobotStudio软件二次开发:基于C#语言的Smart组件开发基础》。

  I/O信号声明方法

  I/O信号是Smart组件与仿真环境进行通信的重要元素。在Smart组件二次开发技术中,I/O信号的创建是通过在SmartComponent.xml文件中声明实现的。

  SmartComponent.xml文件主要用于在Smart组件中添加组件元素,如I/O信号、仿真对象属性等。使用Smart组件二次开发模板创建的开发项目,SmartComponent.xml文件会自动生成,无需再次添加。

  二次开发能够声明的I/O信号均包含在IOSignal类中,并且信号类型可以在IOSignal Type成员中直接枚举,能够枚举的信号类型及机器人信号属性对应关系如下表所示。

  I/O信号是在SmartComponent.xml文件中的两个“<Signal>”代码行之间声明的,信号声明代码语句格式如下所示。

  public IOSignal(string name, IOSignalType type)

  name:指定声明的I/O信号名称,类型为字符串(String)。

  Type:指定声明的I/O信号枚举成员类型。

  DI、DO、AI、AO、GI、GO类型信号均可声明,声明代码如下图红色方框所示。

  完整的I/O信号声明代码如下所示。

  <Signals><IOSignal name="DI" signalType="DigitalInput" /><!--声明数字量输入信号--><IOSignal name="DO" signalType="DigitalOutput"/><!--声明数字量输出信号--><IOSignal name="AI" signalType="AnalogInput" /><!--声明模拟量输入信号--><IOSignal name="AO" signalType="AnalogOutput" /><!--声明模拟量输出信号--><IOSignal name="GI" signalType="DigitalGroupInput" /><!--声明组输入信号--><IOSignal name="GO" signalType="DigitalGroupOutput" /><!--声明组输出信号--> </Signals>

  I/O信号属性设置

  在声明I/O信号过程中也可以对信号的属性进行设置,如数字量信号的初始状态、模拟量信号值的上下限、组信号的初始值等,详细的属性设置如下表所示。

  信号属性设置代码是在信号声明代码语句的枚举成员类型后直接编写添加的,如下图红色方框所示。本例中分别对I/O信号的自动重置、最大值、最小值、只读性、可见性、初始值属性进行编写说明。

  完整的I/O信号属性设置代码如下所示。

  <Signals> <IOSignal name="DI" signalType="DigitalInput" /><!--声明数字量输入信号--><IOSignal name="DO" signalType="DigitalOutput"/><!--声明数字量输出信号--><IOSignal name="AI" signalType="AnalogInput" /><!--声明模拟量输入信号--><IOSignal name="AO" signalType="AnalogOutput" /><!--声明模拟量输出信号--><IOSignal name="GI" signalType="DigitalGroupInput" /><!--声明组输入信号--><IOSignal name="GO" signalType="DigitalGroupOutput" /><!--声明组输出信号--> <IOSignal name="DOautoReset" signalType="DigitalOutput" autoReset="true" /><!--指定信号为自动重置--><IOSignal name="AI0to15" signalType="AnalogInput" minValue="0" maxValue="15" /><!--设定信号最小值与最大值--><IOSignal name="DIReadOnly" signalType="DigitalInput" readOnly="true" /><!--指定信号为只读--><IOSignal name="DIVisible" signalType="DigitalInput" uiVisible="false" /><!--执行信号为初始化不可见--><IOSignal name="DOInit" signalType="DigitalOutput" value="1" /><!--指定信号初始化值为1--> </Signals>

  程序编译与测试

  在二次开发项目属性的“生成后事件命令行”中修改“TargetPath”对应的目录地址为LibraryCompiler.exe文件所在的目录地址,如D:Program Files (x86)ABB Industrial ITRobotics ITRobotStudio 6.08binLibraryCompiler.exe。若是RobotStudio软件使用默认文件目录安装,则不需要修改。

  在RobotStudio软件中创建一个虚拟仿真项目,然后在“基本”菜单栏“导入模型库”下拉菜单中,选择“浏览库文件”。

  浏览到编译生成的*.rslib格式的Smart组件二次开发文件,将其加载进来。打开Smart组件的属性对话框,如下图所示,可以看到声明的所有I/O信号以及设置的信号属性。

  The End

  上一篇:RobotStudio软件:ABB机器人行走轴添加与控制

  举报/反馈