机器在自动运行中,这时候发现了一个错误,需要我们手动更改气缸的位置,将它暂停切换为手动模式,然后点了气缸,此时没把气缸还原为手动模式前的状态。这时候再打自动是启动不了的,整个机器就呆住了,我想在这时做个防呆,并且需要报警出哪个气缸出错,需要复位。 这个逻辑要怎么写??
谢谢各位大神!
机器在自动运行中,这时候发现了一个错误,需要我们手动更改气缸的位置,将它暂停切换为手动模式,然后点了气缸,此时没把气缸还原为手动模式前的状态。这时候再打自动是启动不了的,整个机器就呆住了,我想在这时做个防呆,并且需要报警出哪个气缸出错,需要复位。 这个逻辑要怎么写??
谢谢各位大神!
具体是什么样的,我可以大约写程序,或者你把程序发上来看看
打到手动时,先保存一下气缸位的Bit状态,再把所有的Bit组成一个字;关闭手动时先比较一下当前气缸的“组合字”和打手动时保存的“组合字”是否一致?不一致的话异或操作一下就可以知道哪几个气缸没有被复原,对应报警就可以了。
如果有疑问可V W1649739144
如果不存在卡料的情况直接在自动之前写一个回位程序
切换到手动之前记录输出状态,再次切换到自动模式下进行对比,如果和记录不一样的那么就报警提示
你这个呆住了。是在步序中么?如果不在步序中,手动切换到自动时,可不可以把气缸全复位?
如果在步序中,想保留之前的步序。那么就可以用步序做报警,走一步给一步的反馈,没走就有反馈,可以直接报警,这样是不是就能定位报警点了?
同意5楼的做法哈,切到自动呆住,无非就是条件没接通,流程走不下去;这种情况满足条件执行下一步,不满足条件就做一个报警提示,是比较快速实现的做法;
如果不想停机人工干预,就直接根据不满足条件去跳到一个新步里,做一个满足条件的动作,跳回去;这个就稍稍麻烦点,根据实际情况,你可以自行调整;
流程步就执行一个到两个动作,不要搞太多动作在一个里面,这样维护和查看都便利些。
来学习打卡~
要检查下程序,看看暂停和手自动切换执行了哪些程序,对比步序对气缸位置的要求,发现异常时报警
首先,你需要定义一些状态变量来跟踪气缸的状态:
气缸状态(如 CylinderStatus
):记录气缸当前的位置和模式(自动或手动)。
气缸错误标志(如 CylinderError
):当气缸位置不正确时设置为真。
复位信号(如 ResetSignal
):用于复位气缸状态。
在自动模式下,当气缸位置被更改时,检测气缸是否处于预期的位置。
Copy Code// 假设气缸位置监测输入为 CylinderPositionInput// 假设气缸状态为 CylinderMode(自动/手动)IF CylinderMode == MANUAL THEN // 检查气缸是否在预期位置 IF NOT ExpectedCylinderPosition THEN // 设置错误标志 CylinderError := TRUE; ELSE CylinderError := FALSE; END_IFELSE // 自动模式下,清除错误标志 CylinderError := FALSE; END_IF3. 处理启动自动模式
在自动模式下,检查是否有气缸错误标志,若有则报警并阻止启动。
Copy Code// 假设启动自动模式的输入为 StartAutoMode// 假设报警输出为 CylinderErrorAlarmIF StartAutoMode THEN IF CylinderError THEN // 激活报警 CylinderErrorAlarm := TRUE; // 停止启动过程 AutoModeActive := FALSE; // 显示哪个气缸出错 // 假设显示气缸错误的函数为 ShowCylinderError ShowCylinderError(); ELSE // 继续启动自动模式 AutoModeActive := TRUE; CylinderErrorAlarm := FALSE; END_IF END_IF4. 复位处理
当气缸错误标志被激活时,可以提供复位功能以允许操作员复位气缸。
Copy Code// 假设复位信号输入为 ResetSignal// 假设复位操作为 ResetCylinder()IF ResetSignal THEN // 执行复位操作 ResetCylinder(); // 清除气缸错误标志 CylinderError := FALSE; // 重置报警 CylinderErrorAlarm := FALSE; END_IF5. 报警处理
设置报警显示和日志记录,确保操作员可以明确看到哪些气缸出错。
Copy Code// 显示报警信息IF CylinderError THEN // 显示哪个气缸出错 // 假设显示错误信息的函数为 DisplayErrorInfo DisplayErrorInfo(); END_IF
感谢求助者和答疑者对求助答疑板块的厚爱,赠人玫瑰,手留余香。
对于求助者要求:
1、请在一个月内自行结贴,把悬赏积分(如果设置积分悬赏求助)发放给答疑者;
2、如果在求助答疑过程中,自己已经有效解决问题,建议大家把解决问题方法在自己求助帖分享,有效分享可以获得50积分奖励。
3、求助答疑板块版主结贴时间一般滞后30~45天,以方便大家对求助问题答疑足够时间,也为了每一个优秀答疑人员都可以获取到自己的积分和MP奖励。
4、2024龙年加油!龙年棒棒!
感谢分享原创推荐
感谢分享原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐
感谢分享原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐