直播课堂
HOME
直播课堂
正文内容
plc运动轴编程 PLC的标准ST语言编程之运动控制部分
发布时间 : 2025-01-19
作者 : 小编
访问数量 : 23
扫码分享至微信

PLC的标准ST语言编程之运动控制部分

这次我们讲一下PLC控制里面比较重要的一点,伺服轴控制!

用ST语言给大家举例说明一下,通过面向对象编程,把伺服轴当作是一个对象,而轴的使能、绝对运动和相对运动是轴的一个能力。下面示例程序中定义结构化的状态信息(可用作声明),HMI和功能块。

伺服轴的信息结构体

把伺服的一些状态信息设置在ST_states结构体中,可以让其他子程序用这个结构体声明新结构。其它子程序使用这些数据不需要重新再一个一个写这些信息数据,又可以当成局部变量使用,数据互不干涉。

结构体

其它子程序声明用

MC功能块的再次封装

运动控制包括了4个功能块,分别是Axis_IO,Axis_PTP_CoE,FB_Home_ByLimit和ServoDriver_DI。

ServoDriver_DI: 获取伺服驱动上的原点信号,正向限位和负向限位

Axis_IO: 是对ServoDriver_DI继承和丰富,汇总了运动控制用到的所有硬件输入信号

FB_Home_ByLimit: 轴在任意位置回零功能块,无需考虑回零方向问题。该功能块先负方向找原点,如果碰到负极限则改为正方向找原点

Axis_PTP_CoE: 里面封装了Axis轴、MC功能块、Action动作和IO状态。该功能块包括了12个Action,每个Action就相当于NC轴的一个能力。

Axis_PTP_COE.ahome :实现原点搜索的功能

Axis_PTP_COE.aIO :获取原点信号,正向限位和负向限位,并且把伺服驱动和NC报错信息发布给状态机中。

Axis_PTP_COE.aJogB :反向点动

Axis_PTP_COE.aJogF :正向点动

Axis_PTP_COE.aManualJOG :外部硬件控制伺服点动

Axis_PTP_COE.aMoveAbs :绝对运动

Axis_PTP_COE.aMoveOff :复位所有功能块执行标志位及输出

Axis_PTP_COE.aMoveRel :相对运动

Axis_PTP_COE.aMoveVel :速度控制

Axis_PTP_COE.aPower :伺服轴的使能

Axis_PTP_COE.aReset :刷新IO,读取伺服轴的状态,如果有伺服报错,进行错误复位

Axis_PTP_COE.aStop :伺服轴的停止

HMI模板制作

运动控制使用的模板是PH_JOGLINE,该模板中包括了伺服的正反点动按钮,伺服轴名称,伺服轴运动的距离,还有一些伺服的状态位(使能完成的标志位,寻参完成的标志位,正向限位,负向限位,原点信号和NC的报错信息)和报错复位按钮。

hmi

运动控制模板的使用

第一步:程序中声明轴变量

轴变量

第二步:编写程序

axis1.sName:="皮带轴"; //对伺服轴命名,用于区分

axis1.aReset(); //调用相关Action,刷新IO,读取伺服轴的状态

axis1.aPower(); //调用相关Action,对伺服轴使能

IF axis1.Ref.Status.ControlLoopClosed //判断是否完成使能

THEN

axis1.aManualJOG(Velo:=100 , ); //调用相关Action,实现点动功能Velo:=100

END_IF

HMI模板的调用

通过HMI中的Frame控件来调用HMI模板

调用Frame控件之后,进入Frame属性里面设置相关参数:

1) 设置调用HMI控件,选择congfigure,添加PH_JOGLINE_1作为模板。

2) 通过绑定变量Main.axis1,实现控制器上的程序变量和HMI上的控件的对应。

创建NC轴,链接控制器上的轴变量

NC轴

西门子S7-200 SMART运动控制功能,运动轴组态,控制程序编写测试

今天我们来介绍一下西门子S7-200 SMART运动控制功能,下面我们先来学习如何使用向导组态运动轴。西门子S7-200 SMART CPU内置运动轴,可以实现速度和位置的开环运动控制。S7-200 SMART CPU输出脉冲和方向信号至伺服驱动器,伺服驱动器再将从CPU输入的给定值,经过处理后输出到伺服电机,控制伺服电机加速、减速和移动到指定位置。

CPU模块本体最多集成三路高速脉冲,输出频率高达100K赫兹,支持PWM、PTO输出方式,以及多种运动模式,可自由设置运动包络,配以方便易用的向导设置功能,以及运动控制面板,可以快速实现设备调速定位等功能。通过运动控制向导生成的运动轴子程序,可以实现各种运动控制要求。

下面我们通过一个实例演示运动控制功能的使用。任务要求,有一个伺服电机旋转一圈需要10000个脉冲,电机每转一圈为360度,要求使电机顺时针旋转,移动到一定的角度。组态向导,打开STEP7 Micro/WIN SMART编程软件,在项目树中双击向导项下的运动,启动运动控制向导,选择要组态的轴为轴0。

下一步保持默认名称,再下一步,测量系统中选择工程单位,电机一圈脉冲数为10000,测量的基本单位为度,电机旋转一次产生360度的运动。接下来在方向控制中为单向输出,极性为正,在下一步中输入各项为简单,皆不启用,输出项中的DIS不启用。

电机速度中最大速度3600度/s,最小速度0.72度/s,电机启动停止速度为180度/s,点动速度360度/s,增量为36度,加速、减速时间均为1000毫秒,急停时间为0,反冲补偿为0度,不设定参考点,不启用读取绝对位置,不使用曲线,采用建议分配地址,在下一步中选择要生成的子程序,默认为全选。

接下来显示I/O映射表,单击生成按钮,完成向导的组态。此时可以看到系统已经自动生成了编程可用的多个子程序。至此,西门子S7-200 SMART运动控制功能中的如何使用向导组态运动轴就讲完了,大家如果有条件的话可以自己试着操作一遍。

接下来我们来学习编写程序并测试以及如何使用运动控制面板。编写程序,首先将初始化速度送至相关存储区,再编写使能驱动程序,M2.0为1时使能驱动器,调用轴控制子程序,编写输入输出参数,输入端填写SM0.0,表示每个扫描周期都要使能该子程序。

在下一程序段中调用手动控制轴子程序,填写输入输出参数,速度为VD200,方向M0.3,手动运动M0.0,正向点动M0.1,反向点动M0.2。

调用GOTO子程序,一直使能该指令,M0.4上升沿发出GOTO命令,这样程序的编写就完成了,保存项目。

运行测试。单击下载按钮,将项目下载到PLC,运行项目,监视项目。在状态图表中修改M2.0为1,使能驱动器Q1.0,修改M0.0为1,手动运行,可以看到电机以设定速度旋转,当前位置数据在变化。M0.3控制方向,重新修改M0.0观察结果,还可以测试点动运行,修改M0.1为1,正向点动,M0.2为1,反向点动。

下面测试GOTO命令,设定目标位置,VD204为5000,修改M0.4为1,可以看到电机按照设定方向运转,到达指定位置自动停止。

运动控制面板。STEP7 Micro/WIN SMART编程软件提供了运动控制面板,方便用户进行运动控制的调试,运动控制面板只能在STOP模式下使用,通过工具栏打开运动控制面板,选择要操作的轴0,选择操作选项。此时运动控制面板显示轴的状态,例如当前位置、当前速度及方向等,还有错误及状态等。

可以选择各种命令对运动轴进行测试操作,例如执行连续速度移动,设置手动操作的目标速度和方向,单击启动按钮即开始运转,此时当前位置发生变化,单击停止按钮,停止运转,还可以点击点动按钮进行点动操作,执行重新加载当前位置命令,可以重新建立一个新的零点,单击执行按钮,可以看到当前位置变为新设定的位置。

执行以相对量移动命令,输入目标速度和目标位置,单击启动按钮,可以看到电机运转到指定位置停止。在组态选项中可以更新CPU中的轴组态,勾选允许更新,CPU中的轴组态可以修改各参数及设置。在曲线组态选项可以修改更新CPU中轴组态曲线等 。

本篇我们主要介绍了西门子S7-200 SMART运动控制功能,运动轴组态,运动控制程序编写测试,更多S7-200 SMART的相关知识我会在以后的文章中继续为大家讲解,欢迎大家持续关注!

相关问答

plc运动控制步骤?

PLC运动控制一般分为三个步骤:1、运动规划:设定轴的运动起始点、终点、速度、加减速等运动参数,以及运动前的准备工作,如检查机械部件、清除可能存在的障碍...

plc运动控制轴的划分?

答:plc运动控制轴的划分通道轴可以分为Pathaxis和POSaxis,PLC轴就属于定位轴,不参加插补,可以由PLCFC18单独控制。PLC可以直接将NC轴获取过去,前提是NC不...

plc怎么用xy轴画圆弧?

关于这个问题,要使用PLC控制XY轴画圆弧,需要遵循以下步骤:1.确定圆弧的参数,包括圆心坐标、半径、起始角度和终止角度。2.将XY轴移动到圆弧的起始点。3.计...

codesys运动控制轴怎么用?

在CODESYS运动控制中,要使用轴,需要按照以下步骤进行操作:1.新建工程并选择标准工程,并命名。2.启动CODESYSSoftMotionWinPLC。3.添加设备并选择虚...

Plc怎样拿其中一条轴做主轴?

在PLC控制系统中,可以通过编程来实现将其中一条轴作为主轴。通过编写程序,可以设置该轴的运行模式、速度、方向等参数,从而控制该轴的运动。同时,还需要做好...

PLC控制X轴Y轴走圆弧?

若是要做到精确控制,那么至少需要有圆弧插补功能,自己用标准脉冲控制程序做很难保证插补精度;若是要做到精确控制,那么至少需要有圆弧插补功能,自己用标准脉...

plc通过总线控制伺服电机还有脉冲轴限制吗?

PLC可以通过总线控制伺服电机,同时也可以进行脉冲轴限制。总线控制伺服电机可以实现对电机的速度、位置和力矩等参数的控制,从而实现精准的运动控制。而脉冲轴...

基恩士plc怎样控制伺服定位?

基恩士PLC可以通过与伺服驱动器的通信来控制伺服定位。PLC可以发送指令和控制参数给伺服驱动器,以实现伺服系统的定位控制。通过PLC编程,可以将目标位置、速...

用三菱PLC怎样写俩个轴的程序?

不需要写程序.将编码器线接正确后,在PLC里访问对应的高速计数器就可以了.也就是说,只要接线正确,转动编码器,PLC里的高速计数器值就应该有变化.不需要写程序...

三菱之后plc1s想控制步进电机,编一个程序。先让电机走3圈,...

[最佳回答]基于PMAC的数控火焰切割机数控系统开发摘要:通过分析数控火焰切割机加工工艺的特点,开发了基于工业PC机和PMAC卡的数控火焰切割机数控系统,并对它...

 黄圣依演的电视剧  阿富汗 百度百科 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部