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轴
三菱Q系列PLC定位伺服控制经典程序(指令带解释)
今天给大家说说关于三菱Q系列PLC定位伺服控制的一些经典程序,希望能对大家有帮助。
M1250 原点回归启动按键
Y50 定位启动(***参数)
Y44 轴停止(***参数)
Y40 PLC准备完成(***参数)
M1081 电机手动状态
M6401 原点回归启动条件输出脉冲
[T0 H4 K1500 K9001 K1] 原点回归专用指令
T0Plc>T0 Plc> 》》QD75
H4 QD75模块的首地址分配位置40
K1500 定位指令(***参数)
K9001 机械原点回归
K1 设定值
SET Y50 执行电机的输出,需要进行职位处理
Y50 原点回归动作进行中(***电机的定位启动输出)
X50 启动完成信号(***参数)
X4C 电机BUSY(忙轴)电机动作中处于忙轴中X4C接通
M6501 原点回归动作完成输出(采用维持处理,一直接通)
断开条件:
M6701 电机发生SERVO ERROR
X48 接通(***内部参数,报警输出)
YA42 ***电机的M/C电源断开
[ RST Y50] 当电机完成原点回归后,直接对电机进行复位
M1251 原点回归动作进行状态指示灯
当原点回归正在进行中时以间隔0.5S的时间闪烁原点回归完成后直接通
原点回归完成后一直接通
M1290 原点回归的启动开关
M1001 原点回归时必须在手动状态下进行
M100 原点回归的输出(动作需要进行维持处理)
原点回归的断开条件:
M101 全部原点回归执行完成
M1012 复位按键启动
M105 紧急停止开关启动
M1055 M1053 M1051 是速度选择的几个按键开关,可以通过TOUCH直接进行设定选择
SM400一直处于接通状态,表示JOG的速度选择可以通过开关的任意时间进行设定写入从而改变
行设定写入从而改变
D120 是速度值存储的字地址
DMOV 传送指令,D 32数据传送指令(速度的值是任意设定的)
[ DTO H4 K1518 D120 K1 ] JOG速度专用指令写入方法
来源:网络,侵删
——END——
相关问答
plc控制伺服驱动器编程实例?
plc控制伺服驱动器的编程实例1伺服一般都是位置模式,使用方法一般是脉冲控制。具体就是PLC发送高速脉冲,(驱动器按一定要设置转一圈需要多少脉冲以送下为例就...
哪位老师!麻烦回答一下台达plc控制伺服电机转动的程序例子?...
[回答]提高伺服控制系统速度的变化率可以提高纺织细纱机的生产效率。用一台PLC控制两组伺服驱动电机,两台电机启停时间错开,通过机械装置合成可使速度变化...
plc与伺服驱动器通讯怎么编写程序?
PLC与伺服驱动器通讯的程序编写步骤通常如下:1.确定通讯方式:根据PLC和伺服驱动器的型号和通讯接口,确定采用何种通讯方式,例如Modbus、Ethernet/IP、Profib...
三菱plc简单控制伺服电机完整程序?
以下是一个基本的示例程序,用于使用三菱PLC控制伺服电机:1.设置输入和输出点:```ladder//输入点X0.0:伺服电机启动信号X0.1:伺服电机停止信号//输...
西门子plc怎么控制伺服电机编程实例?
PLC与伺服电机之间通过伺服放大器进行链接PLC与伺服放大器之间使用以下三种方式:1、位置控制,即使用脉冲序列进行控制,PLC侧需要高速脉冲输出或者位控模块2...
伺服驱动器给PLC的是什么信号?PLC还要编程吗?
最常用的方式就是PLC发送脉冲到伺服电机驱动器,伺服电机驱动器再控制电机旋转。伺服驱动器除了供电的电源线外,一般至少还要接三条线缆。第一条是连接伺服电...
谁能给我个脉冲首轮通过PLC控制伺服电机的程序?PLC为FX1n-24MT-001?
这个估计不能成功,因为手轮速度是随时变化的,FX1N好像不支持,只有FX2N-10GP,10GM和20GM支持手轮脉冲发生器。这个估计不能成功,因为手轮速度是随时变化的,FX1...
Plc编程需要确定伺服的哪些参数?
在PLC编程中,需要确定伺服的一些重要参数,包括位置、速度、加速度、减速度、PID控制参数、限位设置、运动模式、运动轨迹、反馈传感器类型等。这些参数对于伺...
plc怎么控制伺服扭力?
PLC可以通过PWM或者PID控制伺服扭力。其中PWM,即脉宽调制技术,是通过控制脉冲宽度来调节电机的电源电压,从而控制电机的转速或扭矩。而PID控制则是利用比例、...
三菱PLC控制伺服电机脉冲频率和脉冲数量如何计算-懂得
齿轮比=编码器分辨率/电机每转脉冲数比如台达伺服分辨率是160000,这个设定齿轮比分母16,然后分子设定10,就是16:10=10000脉冲一圈齿轮比=编码器分...