设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
Codesys——PLCopen基本运动控制功能块的使用 ...
返回列表
发新帖
[CodeSys]
Codesys——PLCopen基本运动控制功能块的使用方法总结
[复制链接]
101
|
0
|
2024-4-7 14:00:03
|
显示全部楼层
|
阅读模式
加入工控分享社区,学习更多Codesys知识
PLCopen运动控制功能块
PLCopen组织努力实现这个标准化。PLCopen组织成立于1992年,在开发、安装、维护中按照IEC61131编程环境通过不同平台协调工业控制市场。现在的主题包括运动控制、安全功能、XML数据交换和评价标准。PLCopen也持续促进这种标准在世界上的使用和培训,因为世界范围内的接受对它的开放的、独立的目标非常重要。为了创建标准运动控制规范,一套可重复使用的独立于硬件的控制组件已基于IEC61131功能块定义。根据这个标准,能重复使用应用软件。甚至多平台也是可能的。同时,也降低了培训和支持成本。实施新的开发更容易,从而带来更短的上市时间。在定义他们的运动控制功能块时,PLCopen特定任务要实现下列目标:
·容易编程、安装和维护的简单设计;
·创建多个功能块的效率;
·遵守著名的IEC 61131语言标准的一致协议;
·允许硬件独立实施的广泛的适应性;
·这些功能块和将来扩展的柔性;
·大多数运动控制应用的足够覆盖率。用允许单轴运动和同步多轴运动的一套基本的功能块实现这些目标。状态机在机器的顺序中描述单轴的行为。
推荐阅读:
codesys安装教程及注意事项
Codesys控制器关于CANopen总线的详细应用说明
使用详解:
在运动控制系统中,将轴的运行状态分成若干个逻辑状态,而每个逻辑状态直接的转移,需要特定的条件、或指定的MC 运控指令。这样划分处理的好处是便于轴按运动模式分类控制,轴在一个时候只能处于一种逻辑状态,而逻辑状态的转移需要按规则进行,不会因不同MC 的误触发而带来运行的混乱。
轴数据结构变量(Axis.nAxisState)来指示轴的当前运行状态,该变量Axis.nAxisState 为枚举型变量,共有如下8种可能状态:0:Power_off(Disabled):轴未上电使能,或未使能,需执行MC_Power 指令
1:Errorstop;——————- 先执行MC_Reset/MC_Power 指令
2:Stopping;——————– 等待停机操作完成
3:Standstill;——————- 轴已停止运行,脱离同步
4:Discrete_Motion;——— 轴处于离散运行状态
5:Continuous_Motion;—– 轴处于连续运行中
6:Synchronized_Motion;— 轴处于同步运行中
7:Homing;———————- 轴处于回零运行中,等待归零操作执行完成
轴状态转移图如下,从一个状态转移到另一个状态,需要运行对应的条件,如运行MC 指令,或外部出现了故障,用户无法对其状态进行强制,编程时一定要按照逻辑要求,运行相关的指令:
图中的MC 功能块可以使轴状态转移到指定的状态,由图中可以看到:
在轴停止状态(Standstill,即 Axis.nAxisState=3)可以转移到各种运行状态;
可以由多种状态转移到停止状态(Standstill,即 Axis.nAxisState=3),,
若伺服轴出现告警(Errorstop,即Axis.nAxisState=1),就必需先运MC_Reset 指令、MC_Power 指令使轴进入Standstill 状态,才能让轴再次运行;
若不按上述转移图方式使用MC指令命令轴运动,就不会使轴响应,反而得到 MC 功能块的错误告警信息;
用户程序中,有时需要根据轴的状态,启动后续的控制逻辑,此时依据Axis.nAxisState 的判断,相比于对 MC 功能块的done 信号判断,更为准确可靠。
熟悉上述轴状态图的转移条件,并在编程时,注意MC 指令的使用逻辑和顺序,才能编写出稳定可靠的应用程序。
工控应用技术知识分享,就在VIP技术服务社区
MC_Halt
在MC_MoveVelocity模式下,用MC_Halt停止其轴,当前轴的状态由
ContinuousMotion(当前转速)---》DiscreteMotion(速度不为0)---》Standstill(速度为0)。
MC_Stop
在MC_MoveVelocity模式下,用MC_Stop停止其轴,当前轴的状态由
ContinuousMotion---》Stopping---》StandStill(速度为0)
MC_Reset
当轴出错时,执行MC_Reset可清除轴错误,但不会掉使能。
执行复位功能块,也有可能报错;
当轴报错且错误代码为34时,很有可能是MC_Stop的Execute一直为TRUE,此错误不需要用MC_Reset命令清除。当取消MC_Stop的输入端Execute为FALSE后,就可以执行其他功能块。
MC_Power
在bRegulatorOn为TRUE且bDriveStart为TRUE时,给Enable一个上升沿,MC_Power的输出Status就为TRUE。上使能成功之后,即使修改输入端Enable为FALSE,其输出端Status仍然为TRUE。
MC_MoveVelocity
每次要更新轴的设定速度时,需要给MC_MoveVelocity输入端的Execute一个上升沿,设定的速度值才会被更新到轴状态中。
MC_GearIn
同MC_MoveVelocity,每次更新电子齿轮比并发挥作用,需要给MC_GearIn输入端Execute一个上升沿,电子齿轮比才会起作用。
MC_GearOut
脱离齿合后,轴以脱离时的速度继续转动。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
PLC发烧友
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』