当前位置: 首页 > news >正文

SICAR 标准功能块 FB3352 (MODE)工作模式功能块

一、MODE功能块功能

MODE 功能块在整个系统中起着核心的模式管理与控制作用,它通过对多种输入信号的处理和逻辑判断,实现了系统运行模式的切换、状态监测、安全保护以及模式状态的准确反馈等功能,下面进行详细描述:

1. 模式选择与切换

  • 自动与手动模式切换:功能块依据SetAutoModeSelPB(自动模式选择)和Ext_ManualModeSelPB(手动模式选择)信号来确定系统的运行模式。借助上升沿检测与SR触发器,实现自动和手动模式的可靠切换,并且保证两种模式互斥,即同一时间只能处于一种模式。例如,当按下#Mode.Hmi_PB.Auto(HMI 自动模式按钮)且自动模式未激活时,会触发自动模式;按下#Mode.Hmi_PB.Manual(HMI 手动模式按钮)且自动模式已激活时,则切换到手动模式。
  • 全局与局部模式关联:通过GlobalModeMode输出信号,将全局模式和具体模式信息反馈给系统其他部分,使整个系统能够协调工作。

2. 启动与复位控制

  • 启动逻辑:当外部启动按钮#Ext_StartPB导通时,驱动#Mode.StartPB。在自动模式下,#Mode.StartPB导通会启动延时定时器#TON_Start(预设时间 3s),当定时器输出Q与一系列条件(如外部自动模式选择、未选手动模式、自动模式标志位、所有机器人处于自动模式、无高级报警、硬件正常、通讯正常)都满足时,驱动#Mode.AutoModeRun(自动模式运行信号),并通过自锁保持运行状态。
  • 复位逻辑:整合#Mode.Hmi_PB.Rest(HMI 复位按钮)和#Ext_ResetPB(外部复位按钮)的信号,当任一按钮按下时,驱动#Mode.RsetPB(模式复位信号)和#GlobalMode.RsetPB(全局模式复位信号)。同时,当#Mode.Hmi_PB.Rest导通时,启动延时定时器#TON_Reset(预设时间 0.5s),定时器输出Q导通后复位#Mode.Hmi_PB.Rest,避免复位信号持续有效。

3. 状态监测与保护

  • 硬件与通讯状态监测:通过HardwareOK(硬件正常)和BusOK(通讯正常)信号,分别驱动#Mode.*Hardware OK*#Mode.BusOK,实时监测硬件和通讯状态。只有当硬件和通讯都正常时,系统才可能进入正常运行模式。
  • 安全状态监测:当SafetyOK(安全状态信号)不导通时,驱动#Mode.HighAlarm(高级报警信号)。在手动模式运行条件判断中,若有高级报警(#Mode.HighAlarm导通),则阻止手动模式运行,保障系统安全。

4. 模式状态细化与稳定处理

  • 工件位置状态监测:针对#A_Side_InMulStation(A 面在上件位检测信号)和#B_Side_InMulStation(B 面在上件位检测信号),分别触发断电延时定时器#TIMER[0]#TIMER[1](预设时间 100ms),定时器输出Q驱动#Mode.A_Side_InMulStation#Mode.B_Side_InMulStation,避免因信号抖动导致误判,提升系统对工件位置检测的可靠性。
  • 屏蔽与空循环模式控制:通过复位指令对#Mode.Bypass(屏蔽状态)和#Mode.DryRun(工位空循环模式)进行复位操作,确保系统屏蔽功能处于初始关闭状态,且不处于测试性的空循环状态,保障系统按正常模式运行。

5. 报警管理

  • 报警类别输出:将不同类型的报警模式(#Mode.AlarmA - #Mode.AlarmD)集中映射到对应的报警输出(#Alarm."1" - #Alarm."4"),便于统一管理和识别报警类别。
  • 报警状态重置:通过复位指令依次对#Mode.AlarmA#Mode.AlarmB#Mode.AlarmC#Mode.AlarmD进行复位,清除所有报警模式的当前状态,为后续报警检测做准备。

      MODE 功能块通过对多种输入信号的综合处理和逻辑判断,实现了系统运行模式的灵活切换、状态的准确监测与反馈以及安全保护等功能,确保整个系统能够稳定、可靠地运行。

mode功能块外观:

二、功能块引脚描述

2.1 内部输入引脚

2.2 内部输入输出引脚 

2.3  内部静态变量

2.4  功能块输入输出引脚 

引脚名称输入 / 输出引脚描述
Set_StartPB输入连接 “Global.Key_Start”,接收全局启动按钮信号,用于触发系统启动相关逻辑
Set_ResetPB输入连接 “Global.Key_Reset”,接收全局复位按钮信号,用于系统复位操作
AutoNoBypass输入连接 “Global.Key_AutoNoBypass”,表示无旁路自动模式的设置输入
SetAutoModeSelPB输入连接 “Global.Key_AutoModeSel”,用于设置自动模式选择信号
Ext_ManualModeSelPB输入外部手动模式选择按钮输入,触发手动模式逻辑
HardwareOK输入硬件状态正常信号输入,表明系统硬件无故障
BusOK输入总线通讯正常信号输入,表明通讯链路正常
SafetyOK输入安全状态信号输入,反映系统安全条件是否满足(如无急停、防护门关闭等)
A_Side_InMulStation输入A 面在上件位的检测信号输入
B_Side_InMulStation输入B 面在上件位的检测信号输入
AllRobot_AutoMode输入所有机器人处于自动模式的状态信号输入
AllStation_AutoPB输入所有工位自动模式按钮的信号输入
AllStation_ManualPB输入所有工位手动模式按钮的信号输入
GlobalMode输入输出输出全局模式信号,综合各输入条件定义系统整体运行模式
Mode输入输出输出具体模式信号,细化系统当前所处的运行模式(如自动、手动等)

三、功能块内部程序

3.1、1-3#程序段 

3.1.1、1截图

3.1.2 程序解释
程序段 1:启动按钮
  • 逻辑:当外部启动按钮触点 #Ext_StartPB 导通时,驱动 #Mode.StartPB
  • 作用:将外部启动信号映射到模式控制信号,为系统启动相关逻辑提供触发条件。
程序段 2:硬件正常、通讯正常
  • 逻辑
    • 第一行:若硬件正常信号 #HardwareOK 导通,驱动 #Mode.*Hardware OK*(硬件正常标识位)。
    • 第二行:若总线通讯正常信号 #BusOK 导通,驱动 #Mode.BusOK(通讯正常标识位)。
  • 作用:通过硬件和通讯状态信号更新模式标识位,用于系统状态监控及后续逻辑判断。
程序段 3:复位
  • 逻辑:当 #Mode.Hmi_PB.Rest 导通时,启动延时定时器 #TON_Reset(预设时间 PT = 0.5s);定时器输出 Q 导通后,复位 #Mode.Hmi_PB.Rest
  • 作用:避免 #Mode.Hmi_PB.Rest 信号持续有效,通过延时自动复位,确保复位操作短时触发。

3.2、4-5#程序段 

3.2.1截图

3.2.2 程序解释
程序段 4:复位按钮
  • 逻辑#Mode.Hmi_PB.Rest(HMI 复位按钮)与 #Ext_ResetPB(外部复位按钮)并联(“或” 逻辑),任一导通时:
    • 驱动 #Mode.RsetPB(模式复位信号)。
    • 置位 #GlobalMode.RsetPB(全局模式复位信号)。
  • 作用:整合 HMI 和外部复位信号,统一触发系统复位,保证复位操作的便捷性与冗余性。
程序段 5:模式选择
  • 逻辑
    • #Mode.Hmi_PB.Auto 触发上升沿检测(P_TRIG),若 #Mode.Auto_Mode 未激活(常闭触点导通),驱动 #ClickOn
    • #Mode.Hmi_PB.Manual 触发上升沿检测(P_TRIG),若 #Mode.Auto_Mode 激活(常开触点导通),驱动 #ClickOff
    • 通过 SR(置位优先)触发器,#ClickOn 置位 #Mode.Auto_Mode#ClickOff 或 #Ext_ManualModeSelectPB 复位 #Mode.Auto_Mode
    • #Mode.Auto_Mode 的常闭触点驱动 #Mode.Manual_Mode,实现自动与手动模式互斥。
  • 作用:通过上升沿检测与触发器,实现自动 / 手动模式的可靠切换与状态保持,确保每次操作仅触发一次模式切换。

3.3、6-9#程序段 

3.3.1 程序截图

3.3.2 程序解释
程序段 6,7:手动模式
  • 逻辑
    • 两个并联支路:
      1. #Ext_ManualModeSelectPB + #Mode.HighAlarm 常闭(无高级报警) + #Mode.Manual_Mode
      2. #Mode.Manual_Mode 自锁。
    • 驱动 #Mode.ManualModeRun(手动模式运行信号)。
  • 作用:在无高级报警时,通过外部按钮或模式自锁启动手动模式运行,确保安全条件下手动操作的执行。
程序段 8:高级报警
  • 逻辑:当 #SafetyOK 不导通(安全异常)时,驱动 #Mode.HighAlarm(高级报警信号)。
  • 作用:检测到安全异常时激活高级报警,该信号在程序段 6 中作为条件,若有高级报警则阻止手动模式运行,保障系统安全。
程序段 9:所有机器人在自动模式
  • 逻辑:当触点 #AllRobot_AutoMode(所有机器人处于自动模式的信号)导通时,驱动 #Mode.Sp031
  • 作用:用于标识所有机器人已处于自动模式,为后续程序段(如自动模式运行条件判断)提供关键状态信号。

3.4、10-13#程序段 

3.4.1 程序截图

3.4.2程序解释
程序段 10:自动模式运行
  • 逻辑
    1. #Mode.StartPB 导通时,启动延时定时器 #TON_Start(预设时间 PT = 3s)。
    2. 定时器输出 Q 与以下条件串联:
      • #Ext_AutoModeSelectPB(外部自动模式选择按钮,导通表示选择自动模式)。
      • #Ext_ManualModeSelectPB 的常闭触点(未选择手动模式)。
      • #Mode.Auto_Mode(自动模式标志位,导通表示激活自动模式)。
      • #AllRobot_AutoMode(所有机器人处于自动模式)。
      • #Mode.HighAlarm 的常闭触点(无高级报警)。
      • #Mode."Hardware OK*"(硬件正常)。
      • #Mode.BusOK(通讯正常)。
    3. 满足上述所有条件时,驱动 #Mode.AutoModeRun(自动模式运行信号),且通过下方 #Mode.AutoModeRun 的触点实现自锁,保持运行状态。
  • 作用:确保在启动信号有效、延时到位、模式选择正确、机器人状态正常、无报警且硬件通讯均正常的情况下,激活并保持自动模式运行,保障系统按自动流程可靠工作。
程序段 11:A 面在上件位
  • 逻辑
    1. 第一行:当 #A_Side_InMulStation(A 面在上件位检测信号)导通时,触发断电延时定时器 #TIMER[0](预设时间 PT = 100ms),定时器输出 Q 驱动 #Mode.A_Side_InMulStation
    2. 第二行:当 #B_Side_InMulStation(B 面在上件位检测信号)导通时,触发断电延时定时器 #TIMER[1](预设时间 PT = 100ms),定时器输出 Q 驱动 #Mode.B_Side_InMulStation
  • 作用:通过断电延时定时器对 A 面、B 面在上件位的信号进行处理,确保信号稳定后再更新对应的模式状态(#Mode.A_Side_InMulStation#Mode.B_Side_InMulStation),避免因信号抖动导致误判,提升系统检测的可靠性。
程序段 12:重置屏蔽状态
  • 逻辑:通过复位指令 {R} 对 #Mode.Bypass 进行复位操作。
  • 作用:清除 #Mode.Bypass(屏蔽状态)的激活状态,确保系统屏蔽功能处于初始关闭状态,避免异常屏蔽影响系统运行。
程序段 13:工位空循环模式不启用
  • 逻辑:利用复位指令 {R} 复位 #Mode.DryRun
  • 作用:关闭工位空循环模式(#Mode.DryRun),确保系统处于正常运行模式,而非测试性的空循环状态,保障功能的正确执行。

这四个程序段从系统运行模式、检测可靠性以及初始状态等多个方面进行控制和优化,以保证整个系统能够高效、稳定且准确地运行。

3.5、14-15#程序段 

3.5.1 程序截图

3.5.2 程序解释
程序段 13:报警类别集中输出
  • 逻辑
    • #Mode.AlarmA 导通时,驱动 #Alarm."1"
    • #Mode.AlarmB 导通时,驱动 #Alarm."2"
    • #Mode.AlarmC 导通时,驱动 #Alarm."3"
    • #Mode.AlarmD 导通时,驱动 #Alarm."4"
  • 作用:将不同类型的报警模式(#Mode.AlarmA - #Mode.AlarmD)集中映射到对应的报警输出(#Alarm."1" - #Alarm."4"),便于统一管理和识别报警类别,提升系统报警处理的清晰度与效率。
程序段 14:报警轮询重置
  • 逻辑:通过复位指令 {R} 依次对 #Mode.AlarmA#Mode.AlarmB#Mode.AlarmC#Mode.AlarmD 进行复位。
  • 作用:清除所有报警模式的当前状态,为后续报警检测做准备,避免历史报警信号干扰新报警的判断,确保报警系统的准确性和可靠性。

这两个程序段分别针对系统的报警输出及报警状态进行管理,通过复位操作和信号映射,保障系统状态的清晰、模式的正确切换以及报警处理的高效可靠。

  

相关文章:

  • Nacos 3.0 正式发布:MCP Registry、安全零信任、链接更多生态
  • 无锡哲讯科技:引领企业数字化转型的SAP实施专家
  • C# 导入EXCEL 报错外部表不是预期的格式错误指南方案
  • 前缀和 后缀和 --- 寻找数组的中心下标
  • Idea 如何配合 grep console过滤并分析文件
  • g4f api报错:ImportError: cannot import name ‘model_validator‘ from ‘pydantic‘
  • SELinux 从理论到实践:深入解析与实战指南
  • 存储过程补充——定义条件、处理程序及游标使用
  • shell编程基础(第x篇:子进程知识点汇总)
  • MySQL日志详解
  • Spring事务开发经验 回滚和不回滚?
  • AI应用实战:Excel表的操作工具
  • 51la 统计登录日志-悟空统计成为高效的选择
  • (004)Excel 监视窗口
  • MIT6.S081-lab7
  • 清晰易懂的跨域请求知识——拿捏
  • 《解锁CSS Flex布局:重塑现代网页布局的底层逻辑》
  • 实习技能记录【4】-----消息分发中的观察者模型
  • Canvas基础篇:绘制矩形
  • Git 实操:如何使用交互式 Rebase 移除指定提交(真实案例分享)
  • 万科:一季度营收近380亿元,销售回款率超100%
  • 当初没有珍惜巴特勒的热火,被横扫出局后才追悔莫及
  • 从腰缠万贯到债台高筑、官司缠身:尼泊尔保皇新星即将陨落?
  • 来伊份一季度净利减少近八成,今年集中精力帮助加盟商成功
  • BNEF:亚洲、中东和非洲是电力基础设施投资的最大机会所在
  • 找化学的答案,解人类的命题:巴斯夫的“变革者”成长之道