用户定义的诊断事件(用SFC52 WR_USMSG)
在STOP模式下,在诊断缓冲区中尽量少的存储事件,以便用户能够很容易在缓冲器中找到引起STOP的原因。因此,只有当事件要求用户产生一个响应(如需要系统内存复位,电池需要充电)或必须注册重要信息(如固件更新,站故障)时,才将条目存储在诊断缓冲器中。
在STOP模式下,用户程序不被执行。因此,不存在因用户程序引发的诊断缓冲条目。
诊断缓冲区中的条目不包括:
临时性错误
统计信息或跟踪记录
关于数据或服务质量的信息
循环OB启动调用
循环发生的故障事件通常仅在次输入,在此之后,只有当引起错误的原因被识别后才输入。这确保溢出不会覆盖重要的条目。通过在线帮助,用户可以分析诊断缓冲条目,并找到可能的原因以及事件的补救措施。
诊断缓冲区的合理评估
诊断缓冲区的综合分析一般是通过诊断工具-如S7 系统诊断来完成。可以通过诊断缓冲区找到有问题的用户程序,但需要注意,仅凭此来推断控制器对用户程序的响应是不合适的。
CPU完全复位后保留下来的设置
问题:
CPU全面复位后哪些设置会保留下来?
解答:
当完全复位时,CPU内存没有被完全删除。而是整个系统内存被完全删除了,但装载内存如MC卡或微存储卡(MMC)中数据仍然会全部保留下来。除了装载内存以外,CPU的运行时钟和诊断缓冲器中的数据也被保留。
具有MPI接口或一个MPI/DP接口的CPU在全部复位之后, 其所设置的MPI地址及波特率仍然保留。但如果MPI/DP接口设置为一个PROFIBUS接口,其地址及波特率的设置被完全删除,不能再访问。
在全部复位之后,其前设置的保护等级也将保留。
当一个分布式 IO 设备出故障时被处理的组织块
当CPU315-2DP做主站或从站时,应分别调用哪些“故障 OBs”?
当把CPU315-2DP配置为从站时,必须在STEP7程序中调用下列OB块以来识别分布式I/O出错的类型:
诊断中断 OB 块OB 82
机架故障 OB 块OB 86
I/O 访问出错 OB块OB 122
诊断块OB82
如果一个模块支持诊断功能并且选取了它的诊断中断,那么它就可以识别一个错误,当有错误事件进入或离去时,就会向CPU提出中断申请。操作系统就会调用OB82。在内部变量里OB82包含了错误模块的逻辑基本地址和四个字节的诊断数据,如果没有调用OB82,则CPU就会进入停止模式。
可以将 2 线制传感器连接到紧凑型CPU的模拟输入端吗
可以将 2 线制和 4 线制的传感器连接到CPU 300C的模拟输入端。使用一个 2 线制传感器时,在硬件组态中将“I = Current”设置为测量类型,与 4 线制传感器的设置一样。
注意事项:
请注意紧凑型CPU仅支持有源传感器( 4 线制传感器)。如果使用无源传感器( 2 线制传感器),必须使用外部电源,但版本为1.0的紧凑型CPU没有短路保护 。
警告:
请注意所允许的大输入电流。2 线制传感器在出现短路时可能会超出大允许电流。技术数据中规定的大允许电流是50mA(破坏极限)。对于这种情况,要加上短路保护(例如,对 2 线制传感器加电流限制或与传感器串联一个PTC热敏电阻)。
S7-300 中的过程报警指南
说明:
在当前过程中可能会发生这样的事件,它要求的响应比当前程序周期所能提供的响应更快。还可能会发生这样的事件,它的持续时间太短以至于不足以在当前程序周期中被识别出来。因此,在 SIMATIC S7-300 控制器和下列模块中组态过程警报:
模拟量输入模块 (AI)
数字量输入模块 (DI)
功能模块 (FM)
过程警报能力:程序满足事件要求而被实时调用。
过程警报类似于中断。
这篇文章作为 S7-300 CPU 中的过程警报指南。
概要:
如果在程序处理过程中发生警报触发事件,则操作系统调用警报 OB 40 来中断程序周期的运行或中断优先级较低的程序块处理。