|
上一篇《三菱运控一体机MXF100-8-N32控制MR-JET-G伺服入门之---设置篇》中详细讲述了如何使用GXWORK3软件组态运控一体机MXF100-8-N32和MR-JET-G伺服。这篇重点讲述编写程序控制伺服运转。 一:程序搭建 (1)进入编程界面: 点击1所示的图标。出现上图中2所示部件,右键 点击添加模块标签: 软件自动将模块标签添加到系统标签中。 (2)FB块调用 点击编辑界面左侧导航图标---FB/FUN---CM_MXR_MotionControl如下图所示: 拖拽此FB块到新建的ST程序文件中,如下图所示 整理过后如下图所示 上图中我使用的是结构体标签,初学者如果对此部分不熟悉,可以使用直接地址,要注意数据的格式。用到了单整数INT,双整数DINT,浮点数REAL,布尔量BOOL,在编程时数据格式一定不能用错,否则编译不通过,无法执行。 如果轴数较少使用直接地址方便,轴数多建议使用结构体。 以上程序,通过触摸屏界面操作即可实现基本动作,如下图所示 轴定位FB块元素分析:(红色部分为设置,绿色部分为状态显示) CM_MXR_MotionControl_1( 轴号:= 1, 使能:= AxCd[0].使能, 轴复位:= AxCd[0].轴复位, 轴停止:= AxCd[0].轴停止, JogCW:= AxCd[0].正转, JogCCW:= AxCd[0].反转, JogVel:= AxCd[0].JogVel, 轴回原:= AxCd[0].回原, 转矩执行:= AxCd[0].转矩执行, 定位模式:= AxCd[0].定位模式, 定位执行:= AxCd[0].定位执行, 定位距离:= AxCd[0].定位距离, 定位速度:= AxCd[0].定位速度, 目标转矩:= AxCd[0].目标转矩, 转矩波动:= AxCd[0].转矩波动, 速度限制:= AxCd[0].速度限制, 加速时间:= 10, 减速时间:= 10, 正转扭矩限制:= 300.0, 反转扭矩限制:= 300.0, 目标转矩完成=> axmd[0].目标转矩完成, 伺服OK=> axmd[0].使能OK, 回原完成=> axmd[0].回原OK, 定位完成=> axmd[0].定位OK, 实时位置=> axmd[0].反馈位置, 实时速度=> axmd[0].实时速度, 实时转矩=> axmd[0].实时转矩, 轴报错=> axmd[0].轴报错, 轴错误ID=> axmd[0].轴报错id, Flg_原点丢失=> axmd[0].原点丢失, Flg_上限位:=X6, Flg_下限位:= X7, Flg_近点狗:= AxCd[0].近点狗 ); 在本测试中应用到的数据如下表所示: FB元素 | 程序地址 | 触摸屏地址 | | | M0 | | | M1 | | | M2 | | | M3 | | | M4 | | | D1000 | | | M5 | | | D1300 | | | D1002 | 轴错误ID | axmd[0].轴报错id | D2005 | 轴报错 | axmd[0].轴报错, | M404 | 实时位置 | axmd[0].反馈位置, | D2000 |
至此测试程序已经编写完成。有兴趣的朋友可以自行下载测试,我应用的画面和程序截图都是我真实项目中使用的,不要怀疑,大胆尝试,有问题可以底部留言,希望对入门级的电气工程师有所帮助。如果需要源代码的朋友,可以先关注我“工控人老李”再加我留言区置顶微信。 工控人老李 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |