恭喜,你发布的帖子
发布于 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)。
请填写推广理由:
分享
只看
楼主