回复:西门子机床840d,外挂设备修改进给倍率, 无法做到线性调整,如何解决?

已锁定

lranbing

版主 西门子1847工业学习平台

  • 帖子

    8831
  • 精华

    48
  • 被关注

    345

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2025-03-27 12:56:28

2楼

西门子840D的进给倍率调节通常基于格雷码编码规则,通过MCP面板的旋钮输入4-5位二进制信号实现固定档位切换(如50%、100%、120%等)。会导致倍率调整只能以离散档位生效,无法实现连续数值调节。PLC程序将倍率旋钮信号处理为开关量输入(如DB3X.DBB19的低4位),而非模拟量输入,导致系统仅识别预设档位。

楼主想做到线性调整的话。先检查参数与硬件是否支持。

1、若使用模拟量旋钮,需确保MCP面板或扩展模块支持模拟信号输入,并配置对应的I/O地址。

2、确认参数 MD12060(进给倍率下限)和 MD12070(进给倍率上限)是否允许设置连续值范围(如50-150%)。验证 DB21.DBX6.6(G0倍率生效)和 DB21.DBX6.7(G1倍率生效)的触发逻辑是否兼容连续调节。

实现线性调整的可行方案

1. 修改PLC程序处理逻辑

信号转换优化:将旋钮输入的格雷码信号解析为?连续数值范围,例如通过以下方式:

// 示例代码(基于DB3X.DBB19信号处理)  

IF "MCP_OVR_Signal" = 0 THEN "Feedrate_OVR" := 50;  

ELSIF "MCP_OVR_Signal" = 1 THEN "Feedrate_OVR" := 75;  

... // 增加更多细分档位  

END_IF;  

通过增加细分档位模拟线性效果(如每5%一档)。

模拟量输入替代:若硬件支持,改用模拟量旋钮(如0-10V电压信号)替代多档位开关,通过模拟量模块(如SM331)接入PLC。

2、NC程序动态调整

使用条件触发指令动态修改倍率:

WHENEVER ($AA_IM[X] < 4000) DO $AA_OVR[X] = 50  // 低速段固定50%  

WHENEVER ($AA_IM[X] >= 4000) DO $AA_OVR[X] = 100 // 高速段切换至100% 

扩展此逻辑可定义更多速度区间对应不同倍率。 

3、HMI扩展输入功能

在HMI界面添加手动输入框,允许直接输入100%、101%等任意倍率值,通过PLC将数值写入对应接口信号(如DB21.DBWxx)。


不停的学习,不停的进步!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SINUMERIK

共有25497条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。