恭喜,你发布的帖子
发布于 2022-06-25 07:05:32
1楼
我记得在论坛里我发过,我找找。
// ========================================
// 程序块:OB1(主循环组织块)
// 功能:SINUMERIK 840D MINI手轮控制
// 版本:V1.0(基于西门子标准框架)
// 编译语言:必须切换为德语(Deutsch)
// ========================================
ORGANIZATION_BLOCK OB1
VAR_TEMP
// 临时变量声明区
Temp_Word : WORD; // 手轮状态暂存
END_VAR
BEGIN
// 第一部分:NCK-PLC接口(必须在FC76前执行)
CALL FC 2
// FC2参数根据实际配置填写
// 通常使用默认值,无需额外参数
// 第二部分:MINI手**能调用(FC76)
// 接口定义来源:西门子官方调试手册
CALL FC 76
// ---- 输入信号:轴选择开关 ----
IN0 := I54.0 // 轴选择:X轴(来源:硬件接线图[^7^])
IN1 := I54.1 // 轴选择:Y轴
IN2 := I54.2 // 轴选择:Z轴
IN3 := I54.3 // 轴选择:4轴
IN4 := I54.4 // 轴选择:5轴
// ---- 输入信号:倍率开关 ----
IN5 := I53.2 // 倍率:X1(来源:技术论坛[^2^])
IN6 := I53.3 // 倍率:X10
IN7 := I53.4 // 倍率:X100
// ---- 输入信号:使能与方向 ----
IN8 := I54.5 // 手轮使能信号
IN9 := I53.0 // 正向旋转
IN10 := I53.1 // 反向旋转
// ---- 硬件地址参数 ----
IN11 := 4 // 接口模块号 = MD30120值(来源:参数手册第225页[^1^])
IN12 := 14 // 总线段号 = MD30110值(来源:参数手册第226页[^1^])
// ---- 输出信号 ----
OUT13:= Q5.7 // 手轮激活状态(来源:官方示例[^2^])
OUT14:= Q4.3 // 速度脉冲输出
OUT15:= Q5.6 // 方向信号
OUT16:= Q4.2 // 倍率指示
OUT17:= Q5.5 // 错误状态
OUT18:= DB2.DBX190.2 // PLC-NCK手轮激活(来源:接口手册[^7^])
OUT19:= DB2.DBX190.3 // PLC-NCK方向信号
// ========================================
// 第三部分:错误监控与报警
// 当轴选择编码>100时触发报警
// ========================================
NETWORK
TITLE = 手轮轴选择错误监控
// 监控轴选择编码是否超出范围
U I54.0
U I54.1
U I54.2
U I54.3
U I54.4
= Q5.5 // 错误输出到OUT17对应地址
// 触发NC报警(需配合PLC报警文本)
SET
SAVE
A Q5.5
JC ERR
JU END
ERR:
// 调用报警功能块(根据实际系统配置)
// 示例:FC10(标准报警接口)
CALL FC 10
// 报警号:700020(手轮配置错误)
// 需在PLC报警文本中定义
END:
// ========================================
// 第四部分:其他必要逻辑
// 根据机床实际配置添加
// ========================================
// 示例:主轴手轮切换逻辑
// 示例:通道切换逻辑
END_ORGANIZATION_BLOCK
请填写推广理由:
分享
只看
楼主