运动控制很难搞,Codesys解烦恼-----softmotion实现单轴控制的编程及可视化

这篇具有很好参考价值的文章主要介绍了运动控制很难搞,Codesys解烦恼-----softmotion实现单轴控制的编程及可视化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、序言

随着自动化技术的不断发展,伺服电机的精度高,稳定性好,可控性强等优势受到了越来越多的青睐,当前,多轴控制已成为主流,传统的控制模式(脉冲或模拟量)已逐渐跟不上自动化程度更新的脚步,总线控制以超强的灵活性和高性价比逐渐代替传统控制模式,成为运动控制主流。

Codesys的softmotion可以实现运动控制,支持Ethercat,canopen等主流的总线,可以实现单轴运动控制,也能通过电子凸轮,CNC等功能实现复杂的多轴同步控制。本文主要介绍通过Codesys实现简单的单轴控制,理解和学习绝对定位和相对定位的控制方法。

2、Softmotion简介

CODESYS将运动控制与逻辑控制合二为一,集成在IEC61131-3标准的CODESYS编程系统和CODESYS实时运行系统中,形成了CODESYS Softmotion(CNC)工具包。从单轴运动到复杂CNC控制和机器人应用,都可以使用CODESYS Softmotion(CNC)来编程实现。

CODESYS Softmotion(CNC)的功能包括:

(1)使用PLCopen认证的POU库,可实现单轴和多轴横向协同运动;

(2)电子凸轮传动;

(3)CNC控制;

(4)轻松开发多轴运动控制器;

(5)支持 PLCopen Part4 标准功能块;

(6)可通过集成凸轮编辑器对凸轮功能进行图形化规划。

本文主要介绍单轴控制逻辑,绝对定位与相对定位的区别,通过虚轴成可视化仿真验证其动作差异。

2.1、运动控制指令

运动控制很难搞,Codesys解烦恼-----softmotion实现单轴控制的编程及可视化

指令使用方法可以通过帮助文档查看,本文用到的指令有MC_Power,伺服使能,MC_Stop,伺服停止,MC_MoveVelcocity,绝对定位,MC_MoveRelative,相对定位。具体使用方法看下方程序。

3、程序编写

3.1、软件设置

a、创建工程,设备选择Softmotion Win3;

b、添加两个虚轴,X轴与Y轴;

c、创建两个POU,一个用梯形图编译,用于编写动作程序,一个用ST编译,用于编写数学运算;

d、创建全局变量表,两个POU都可使用

3.2、创建变量表

a、全局变量,创建全局变量,梯形图的POU和ST的POU都可以使用,无需在pou中再定义。

运动控制很难搞,Codesys解烦恼-----softmotion实现单轴控制的编程及可视化

b、梯形图变量,主要是开关控制的bool变量,功能块让其自动生成就好。

 运动控制很难搞,Codesys解烦恼-----softmotion实现单轴控制的编程及可视化

3.33.4、梯形图程序

a、轴使能,直接使能,用True;

运动控制很难搞,Codesys解烦恼-----softmotion实现单轴控制的编程及可视化

b、绝对定位,设置好定位位置,定位速度,加减速,方向以及衔接模式;

运动控制很难搞,Codesys解烦恼-----softmotion实现单轴控制的编程及可视化

 c、相对定位,与绝对定位相似设置 运动控制很难搞,Codesys解烦恼-----softmotion实现单轴控制的编程及可视化

d、停止指令

运动控制很难搞,Codesys解烦恼-----softmotion实现单轴控制的编程及可视化

e、伺服位置读取,添加伺服位置读取功能,方便可视化显示和查看 运动控制很难搞,Codesys解烦恼-----softmotion实现单轴控制的编程及可视化

 3.4、ST程序

主要是数据运算和转换,本例模拟仿真运算比较简单,只需要和可视化图中的位置匹配就好了,主要是codesys可视化中,图形移动需要用整数,因此用到了TO_DINT转换。

在实际应用中,轴的位置数据需要根据机械结构进行转换,比如说通过减速比,丝杆行程等数据将伺服的位置数据与实际的长度对应起来。

运动控制很难搞,Codesys解烦恼-----softmotion实现单轴控制的编程及可视化

 4、可视化组态

通过创建可视化视图,在视图中建立坐标及运行点,以原点的绿色点作为轴控制的点来仿真,用文本框创建需要输入的数据,按钮对应相应的运动控制开关,并连接各自的变量,如下图所示:

运动控制很难搞,Codesys解烦恼-----softmotion实现单轴控制的编程及可视化

 5、仿真运行结果

Codesys单轴运动控制,绝对定位与相对定位的可视化仿真

6、综述

本文主要介绍codesys使用softmotion实现轴控制程序的编写方法,并对其进行可视化仿真,通过仿真可以了解到相对定位与绝对定位的区别。

当然在实际应用中,轴的控制还注意:比如实际距离与轴位置的数据关系转换,轴的左右或上下限位,轴的零点及回零方式,故障报警等功能,本文并未做介绍,但在项目中这些都是必不可少的。

本文所使用的codesys版本为3.5.14.10,所涉及的程序可以在以下地址下载:

https://download.csdn.net/download/qq_19979629/85410502文章来源地址https://www.toymoban.com/news/detail-440242.html

到了这里,关于运动控制很难搞,Codesys解烦恼-----softmotion实现单轴控制的编程及可视化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 工业自动化控制通信协议Profinet系列-3、CoDeSys软PLC方案介绍

    之前在树莓派desktop上已经成功编译运行测试程序,但是还需要主站去和其交互才能看到比较完整的profinet交互过程,因此这里我们需要搭建运行profinet主站,并和之前的从站程序交互运行,这里一番查找后最终确认先使用软PLC方案来搭建主站验证,等到实际场景可以买PLC硬件

    2024年02月07日
    浏览(40)
  • QT实现固高运动控制卡示波器

    目录 一、固高示波器 二、基于QCustomPlot实现示波器 三、完整源码         固高运动控制卡自带的软件有一个示波器功能,可以实时显示速度的波形,可辅助分析电机的运行状态。但是我们基于sdk开发了自己的软件,无法再使用该功能,原因是2个软件不能同时与控制卡通

    2024年02月04日
    浏览(35)
  • 基于ROS实现的机器人运动PID控制器

    下面是一个基于ROS实现的机器人运动PID控制器的例子: 首先,需要定义机器人的运动控制器节点,例如: 其中, cmd_vel_pub 是一个发布器,用于发布机器人的运动控制指令; odom_sub 是一个订阅器,用于接收机器人的里程计信息。 然后,需要实现一个PID控制器的类,例如: 其

    2024年02月13日
    浏览(49)
  • 6轴关节机械手仿真和控制QtQuick3D 和 CodeSys Robotics

    本工程利用QtQuick3D做上位机 ,基于CodeSys的控制器,使用 Robotics的库,进行6轴垂直机械手仿真和控制。 2.1.1程序组织 2.1.2代码 2.1.2.1 pro文件 2.1.2.2 armgeometry.h 2.1.2.3 armgeometry.cpp 2.1.2.4 plccomm.h 2.1.2.5 plccomm.cpp 2.1.2.6 main.cpp 2.1.2.7 main.qml 2.2.1 程序组织 2.2.2 程序代码 2.2.2.1 KinGroup 2.2

    2024年02月08日
    浏览(65)
  • 【2023年电赛】运动目标控制与自动追踪系统(E 题)最简单实现

    本方案的思路是最简单的不涉及复杂算法:识别矩形框,标记矩形框,输出坐标和中心点,计算长度,控制舵机移动固定长度!仅供完成基础功能参考,不喜勿喷! # 实现运动目标控制与自动追踪系统 ## 任务概述 本文将介绍如何使用OpenMV开发板和舵机构建一个运动目标控制

    2024年02月14日
    浏览(36)
  • LabVIEW编写上位机控制汇川PLC H5U和伺服运动,海康威视相机视觉对位,实现全面的自动化控制

    LabVIEW编的上位机控制汇川PLCH5U和汇川伺服运动,海康威视相机视觉对位,LabVIEW通过网口控制汇川H5U和Ethercat伺服,LabVIEW需要装视觉 和DSC模块。 因给的是LabVIEW和PLC源码,项目里有LabVIEW上位机,PLC下位机,ethercat伺服,相机对位,涉及面比较全,这套学会的话,就可以接一般

    2024年04月14日
    浏览(35)
  • 基于X86六轮差速移动机器人运动控制器设计与实现(一)软件与硬件架构

    本文研究的六轮差速移动机器人 (Six-Wheeled Differential Mobile Robot , SWDMR) 为了满足资源站到资源站点对点的物资运输,对机器人的跨越障碍能力 有较高的要求。对比传统的四轮移动机器人,六轮移动机器人能够提供更强的驱动 力,而且六轮与四轮相比整车分散到单个车轮的负

    2024年02月12日
    浏览(52)
  • 运动控制器设计——基于FreeModbus在STM32F4平台实现ModbusTCP和ModbusRTU

    本文笔者最近的项目是设计一款运动控制器,MCU使用的是STM32F429,要求是通过Modbus TCP协议实现与示教器通讯,并通过ModbusRTU实现与触摸屏通讯。 本文将介绍在STM32F4上实现 ModbusTCP和ModbusRTU通讯 的过程。笔者才疏学浅,如有错误还请指正。 Modbus协议是典型的主-从通讯结构,链

    2024年02月05日
    浏览(50)
  • 利用qt实现机器人可视化界面,并在界面上控制机器人各个关节运动

     本工程借助于clion配置的qt环境,同时依赖eigen tinyxml2等开源库,也借鉴了博客上一些文章,具体哪些忘记了,十分抱歉。本工程仅供参考。机械臂模型为史陶比尔官网的TX2-60L-HB。可以去那下载对应的stp文件。 最终图:  通过鼠标中键控制旋转 缩放,配合ctrl进行平移。加载

    2024年02月11日
    浏览(54)
  • STM32单片机PWM控制实现电机调速度(小车运动,STM32F103C8T6&TB6612&TT电机)

    作者:公子易平 时间:2023/6/6 前段时间做一个智能小车的相关项目时,发现很少有人能够将STM32的PWM控制讲清楚,故而书此文,希望对后来的学习者有所帮助。 STM32F103C8T6最小系统板 直流TT电机 电机驱动芯片(TB6612) 杜邦线若干 接线情况: TB6612引脚说明: STM32主控芯片与TB6612接

    2024年02月15日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包