汇川H3U标准程序:三轴定位、总线控制伺服定位,轴点动、回零、相对/绝对定位,模块化控制,工控...
汇川H3U标准程序,程序有本体脉冲控制的三轴定位,有总线控制的汇川伺服定位,轴点动,回零,相对定位绝对定位,程序结构清晰,分模块控制,是工控者学习的好案例。
最近在搞汇川H3U的项目时,发现它的标准程序框架特别适合拿来当教材。尤其是那个脉冲轴和总线轴混搭的三轴定位方案,把传统脉冲控制和现代总线伺服玩得明明白白。咱们直接上干货,看看这套程序怎么做到既稳定又灵活。

先说脉冲轴的控制,核心是H3U内置的PLSR指令。这个指令用起来确实比老式PLC的脉冲指令顺手多了:
LD M0 //启动绝对定位
PLSR D100 K5000 Y0
D100存目标位置,K5000是最高输出频率,Y0对应脉冲输出口。重点是这个指令会自动计算梯形加减速曲线,不像以前得自己写S曲线算法。但要注意基板上的Y0/Y1硬件口必须对应轴号,接错线直接罢工。
总线轴那边用到了SV660N伺服,组态配置里藏着个关键参数:
AxisParam[1].GearRatio := 10000; //电子齿轮比
AxisParam[1].MoveMode := 2; //绝对定位模式
这里电子齿轮比设置要是算错了,设备能给你表演原地蹦迪。遇到过新手把分子分母填反,结果伺服转得比陀螺还快,急停都来不及触发。

点动功能是设备调试必备,程序里用到了双线圈互锁:
LD X10 //正转按钮
AN X11 //互锁反转信号
OUT Y10 //正转输出
LD X11 //反转按钮
AN X10 //互锁正转信号
OUT Y11 //反转输出
这种结构比用SET/RST指令更可靠,特别是应对按钮卡死的情况。不过得注意PLC扫描周期的问题,点动速度太快时可能会丢脉冲。
汇川H3U标准程序,程序有本体脉冲控制的三轴定位,有总线控制的汇川伺服定位,轴点动,回零,相对定位绝对定位,程序结构清晰,分模块控制,是工控者学习的好案例。

回零程序最有意思的是这个搜索原点的方式:
IF HomeStatus = 1 THEN
Servo_Home(1, 3, 100.0, 50.0);
//轴号1,模式3(先找Z相再找极限),高速100mm/s,低速50mm/s
END_IF
模式3适合带机械限位的设备,先快速撞到限位开关,再慢速退回找Z相信号。调试时记得在伺服驱动器里把Z相脉宽调大点,不然容易错过信号。
程序结构最值得夸的是模块化设计,主程序就几行:
CALL Axis_Init //轴初始化
CALL Manual_Mode //手动模块
CALL Auto_Mode //自动模块
CALL Alarm_Handle //报警处理
每个模块对应独立的子程序,改某个功能时不用在几千步程序里大海捞针。特别是报警处理模块,用状态编码器实现故障分级:
CASE AlarmCode OF
1001: ErrMsg := "伺服使能异常";
1002: ErrMsg := "超程报警";
2001: ErrMsg := "气源压力不足";
END_CASE
这种设计比用M继电器做标志位直观多了,维护时看HMI报警代码直接对应处理方案。

最后说下绝对定位和相对定位的选择技巧,程序里用了个巧妙的模式切换:
MOV K1 D200 //D200=1时绝对定位
MOV K0 D200 //D200=0时相对定位
CMP D200 K1
= MOV D100 D101 //绝对模式用预设坐标
<> MOV D102 D101 //相对模式用偏移量
通过一个标志位切换数据源,比写两套程序省事。但要注意坐标系的转换,特别是存在多个参考点时容易搞混坐标系数据。
这套程序最牛的地方在于它把工控项目的常见坑都提前填平了。比如总线伺服的通信超时处理,脉冲轴的丢脉冲检测,甚至考虑了紧急停止时的动态减速。建议新手直接拿这个框架魔改,比看十本教科书都管用。下次可以聊聊怎么在这个框架上加视觉定位功能,那又是另一个层面的折腾了。
更多推荐
所有评论(0)