乐于分享
好东西不私藏

0基础PLC 汇川伺服控制标准模版FB块,项目直接套用 (有完整PLC程序分享)

0基础PLC 汇川伺服控制标准模版FB块,项目直接套用 (有完整PLC程序分享)
以下程序只是部分解读(完整的FB块内包含:读取轴和伺服故障、报警提示、使能、复位、点动、回原点、绝对定位、相对定位、匀速运动、力矩运动模式、停止、读取当前力矩、读取当前位置和速度
▶建立变量:
▶编写程序:
网络1:读取伺服故障及轴故障

MC_ReadAxisError指令

 Enable端接M8000(汇川PLC常ON标志,程序一运行就持续读取故障)

AxisID:填id_轴号,指定读哪根轴故障

ServoErrorID :伺服驱动器自身故障代码;伺服报过流、过载、编码器断线,代码存在这里

AxisErrorID :定位超限位、指令冲突、轴未使能就运行,属于PLC侧报错

只要故障代码不是0(0代表无故障),故障标志立刻置1,后面所有运动互锁都会检测这两个信号,一报错直接锁住所有运动,防止误动作

网络3:轴使能

按下使能按钮 → TONR计时3秒 → 输出vt_TO导通;vt_TO常开自锁,松开按钮依然保持导通,形成自锁

加300ms延时是为了防止按钮瞬间抖动、瞬间通断导致伺服频繁上下电损坏驱动器,同时故障自动切断使能,安全

伺服驱动器没上电、通讯断线、硬件报警,此时MC_Power无法完成,vb_PowerErr变ON,故障码存起来供画面查看

网络4:伺服复位

伺服或轴故障报警 报警提示 按下复位按钮 复位故障

网络5:手动运行程序

只要轴正在做任何自动定位动作,禁止点动,防止动作冲突撞机

vb_Ver1互锁版本标志(同一时间只跑一种运动)

故障/伺服没上电时,直接锁住点动;闸门导通条件:轴静止、无任何故障、伺服使能就绪,此时vb_AllowJog=ON,允许点动

点动正向按钮SV.ib_JogForBut按下 → vb_JogForEn导通,持续正向点动

点动反向按钮SV.ib_JogBackBut按下 → vb_JogBackEn导通,持续反向点动

Enable:正负点动任意一个导通就触发指令

AxisID:轴号

JogForward/vb_JogForEn:正向运行

JogBackward/vb_JogBackEn:反向运行

Velocity/SV.if_JogVel:点动速度(闸门FD下降沿提前读取画面设定速度)

 Acceleration/Deceleration:加减速(结构体里预设)

CurveType/id_TtypeStype:T/S型曲线切换

输出引脚:

Busy → SV.ob_JogBusy:点动运行中,画面指示灯

Error → vb_JogErr:点动报错

ErrorID → vd_JogErrID:点动故障代码

网络6:回原程序

禁止回零条件(常闭断开闸门):

点动中、各类定位运动中、伺服/轴故障、伺服未就绪;

同时加vb_Ver2互锁:正在做点动/定位时,不能启动回零

vb_HomeDoneHold自锁回路:回零完成SV.ob_HomeDone导通后,自锁保持ON;只有伺服故障时断开,用来长期标记“原点已校准”

下面就是回原点指令

网络8:相对定位程序

相对定位:以当前轴位置为基准,移动一段距离,比如当前在100,相对移动+50,终点就是150;移动-50,终点50

禁止启动条件:点动/回零/其他定位运行中、故障、伺服未就绪、vb_Ver4运动互锁。

FD下降沿提前读取画面设定的相对速度SV.if_MoveRelVel

下面是相对相位指令,直接引用。引脚上有具体含义 大家可以自行查看

网络12-13:读取当前轴位置和速度

MC_ReadActualPosition实时读当前位置 → SV.of_ActPosition

白话:触摸屏实时显示轴当前坐标,定位监控用

MC_ReadActualVelocity实时读当前速度 → SV.of_ActVelocity

白话:监控轴实时运行转速/进给速度,调试查看实际速度是否达标

两条指令无互锁,全程后台刷新,不影响其他运动

给id_轴号填0(控制0号伺服)

id_TtypeStype填1,使用S型加减速,减少震动

有需要的评论区 留言分享完整PLC程序
好文分享:以下是所有文章合集,大家需要学习哪方面的内容可以参照学习,后续一直都为大家持续更新
FB封装或标准化程序合集
0基础PLC 西门子1200 实战小项目案例
0基础 PLC 三菱实战项目合集
FX5U 系列学习教程
从0学习PLC,西门子1200入门
0基础电工基础
从0玩转ABB机器人