浔之漫智控技术(上海)有限公司
    关于我们
  • 企业文化 组织结构 分支公司 售后服务 技术支持
  • 河南西门子S7-300代理商
  • 河南西门子S7-300代理商
  • 河南西门子S7-300代理商

产品描述

品牌西门子

河南西门子S7-300代理商


循环中断组织块用于按精确时间间隔循环执行中断程序,例如周期性执行闭环控制系统PID控制程序,间隔时间从cpu从STOP切换到RUN开始计算。S7-300大多数只能使用OB35,其余CPU可以实用的循环中断OB的个数和CPU型号有关。时间间隔不能小于5ms。时间间隔过短,还没有执行完循环中断程序又开始调用它,将会产生时间错误时间,调用OB80,如果没有调用OB80,CPU将进入STOP。
举例说明:
硬件组态如下:采用CPU315-2DP,双击硬件组态中的CPU,打开属性对话框,由【周期性中断】选项卡可知只能使用OB35。

3、时间中断组织块
300CPU只能使用OB10,400CPU可以使用OB10~17,可以设置在某一个特定的日期时间产生一次时间中断,也可以设置从设定日期时间开始,周期性的重复产生中断,可以用SFC28~SFC30设置、取消和激活时间中断。
1)、基于硬件组态的时间中断
要求在到达设置的日期和时间时,用Q4.0自动启动某台设备。具体如下:
硬件组态:打开CPU属性中的“时刻中断"选项卡,设置执行启动设备的日期和时间,执行方式为“一次"。

2)用SFC控制时间中断
除了在硬件组态功能中设置和激活时间中断外,也可以在用户程序中调用SFC来设置和激活时间中断,

在I0.0的上升沿调用SFC28和SFC30分别来设置和激活时间中断OB10。用I0.1调用SFC29来禁止时间中断。各SFC的参数中的RET_VAL是执行时可能出现的错误代码,为0时无错误,OB_NR是组织块编号,SFC28用来设置时间中断,它的参数SDT是开始产生中断的日期和时间。PERIOD用来设置执行方式,w#16#0201表示每分钟产生一次中断。

4、硬件中断组织块
OB40~47用于快速响应信号模块、通信模块和功能模块的信号变化,具有硬件中断功能的上述模块将中断信号传送给到CPU时,将触发硬件中断,S7-300只能用OB40。

)编写OB40程序
判断是哪个模块的哪个点产生中断,然后执行相应的操作。

3)禁止和激活硬件中断
OB1程序在I0.2的上升沿调用SFC40激活OB40对应的硬件中断,I0.3的上升沿调用SFC39禁止OB40对应的硬件中断,SFC的MODE为2时,OB_NR为实参的OB的编号

202202221501086452824.jpg202202221500455913174.jpg


安全PLC与普通PLC的区别

  安全型可编程逻辑控制器(PLC)是为特殊用途的机器设备而设计的,用于关键型控制和安全型应用。这些控制器通常是安全仪表系统(SIS)的 一部分,用在检测具有潜在危险的流程工业环境中。一旦出危险,SIS的应用程序能自动作用,把流程切换到安全状态。谈到这里,用户可能会有一系列的问题:常规PLC已经成功地使用了这么多年了,与安全PLC相比有什么不同?为什么在关键型控制和安全型应用中,不能使用常规的PLC?

    一、综述
    一台安全PLC采用了特殊的设计,能够实现两个重要目标:
    1.系统不会失效(采用冗余的工作方式),即使元件的失效不可避免;
    2.失效是在可预测的范围内,一旦失效,系统将进入安全模式。
    在设计安全PLC时,要考虑到很多因素,需要很多的特殊设计。比如:一台安全PLC更强调内部诊断,结合硬件和软件,可以让设备随时检测自身工作状态的不适;一台安全PLC具有的软件,要使用一系列的特殊技术,能确保软件的可靠性;一台安全PLC具有冗余功能,即使一部分失效,也能够维持系统运行;一台安全PLC还具有外加的安全机制,不允许通过数字通信接口随便读写内部的数据。
    安全PLC与常规PLC的不同还在于:安全PLC需要得到第三方专业机构的安全认证,满足苛刻的安全性和可靠性国际标准。必须*地采用系统方法,来设计和测试安全PLC。德国的TUV专家和美国的FM专家会提供对安全PLC设计和测试过程的、第三方独立的确认和验证,
    特殊的电子线路,细致的诊断软件分析,再加上对所有可能失效进行测试的完整性设计,确保了安全PLC具有测定99%以上的内部元件潜在危险失效的能力。一种失效模式、影响和诊断分析(FMEDA)方法一直指导着设计,这种方法会指出每个元件是怎样引起系统失效,并且告诉你系统应该如何检测这个失效。TUV的工程师会亲自执行失效测试,把它作为他们认证过程的一个部分。
    严格的国际标准软件应用于安全PLC。这些标准需要特殊技术,避免复杂性。更进一步的分析和测试,细致地检查操作系统的任务交互操作。这种测试包括实时的交互操作,比如多任务(当使用时)和中断。还需要进行一种特殊的诊断,被称为“程序流控制"和“数据确认"。程序流检查能确保基本功能能按正确的顺序执行,数据确认使所有的关键数据在存储器里进行冗余存储,并且在使用前进行有效性测试。在软件开发过程中,一个安全PLC需要附加的软件测试技术。为了核实数据完整性检查,必须执行一系列“软件失效注入"测试,也就是人为对程序进行故意破坏,来检查PLC的响应是否运行在预计的安全方式。软件的设计和测试带有详细的文件资料,这样第三方的检查员就能够明白PLC的运行原理,而多数软件开发没有使用这种规范的操作流程,这也正好说明为什么众多的垃圾软件会出现那么多的臭虫而无法发现了。
    二、举例
    下面试通过某公司的一款安全PLC,来更具体地说明安全PLC与常规PLC的区别。
    2.1安全PLC与常规PLC的CPU的差别
    常规PLC内部CPU的数量有一个或多个,它或它们的作用是:执行用户的程序、进行I/O的扫描和系统的诊断。但用户的程序通常就进行一次处理,多个CPU的功能是把程序中的逻辑运算、算数运算、通信功能等分担实现,也就是协作处理。
    而安全PLC的CPU至少有两个或多个,两个CPU的功能是:分别对同一个用户程序各自执行一次,然后再把两个结果放在一起进行比较,如果比较的结果是一致的,就输出这个,如果是不一致的,选择安全的输出。由此看出,这才是安全PLC与常规PLC较大的不同:冗余+比较。
    2.2安全PLC内部CPU的结构
    安全PLC包含2个处理器,每个处理器在自己的存储器区中,执行它们自己的安全逻辑,然后在每个周期的结尾和对方的结果进行比较,每个处理器有它自己独立的停机通道,如果检测到结果的不同或有失效成分,它能够实现系统停机,切到安全状态。这种双处理结构被称为内部的二选一结构。
    下图表示了这种安全PLC的内部结构:
   
     
    安全PLC通常都有两个处理器,同时进行解码和执行。这种差异提供了失效的下列优点:
    ?◎两个可执行码独自生成,编译的差异性使得在代码生成时,容易检测系统失效。
    ?◎两个生成码由不同的处理器执行,因此,CPU能够在代码执行时,出系统失效和PLC的随机失效。
    ?◎两个独立的存储器区用于两个处理器,因此,CPU能够出RAM的随机失效,而这在每个扫描周期的全部RAM检查时测不出来。
    这里我们接着引出安全PLC与常规PLC第二个较大的不同:随时+步步进行诊断和检测。这种检测有的是通过自身信息进行的,称为自检;还有的通过对方的信息进行检测,称为互检。后面我们还会提到更多的检测。
    2.3安全PLCCPU中的检测
    时钟测量:在处理器电路中,有两个不同的振荡器交叉检查它们的行为,每个处理器使用一个时钟检查另外一个是否运行。如果在一个确定的周期里,检测到对方没有运行,CPU就会进入安全状态。固件每秒钟会检查两个振荡器的精度。
    监视时钟:一个硬件和一个固件的监视时钟检查PLC的活动和执行用户逻辑的执行时间。这和常规的PLC系统是相同的。
    序列检查:序列检查监视CPU操作系统不同部分的执行。
    存储器检查:所有静态存储器区,包括Flash存储器和RAM,使用循环冗余码(CRC)进行检测,并且双码执行。动态存储器区由双码执行保护,周期性进行检测。在冷启动时,这些检测重新进行初始化。
    从上面的分析可以看出,安全PLC的诊断和检测比常规的PLC的检测要多很多,所以相对来说,硬件和软件的设计更复杂。当然,检测和诊断的范围也更广范,更细致。
    2.4安全PLCI/O诊断概述
    上面我们对安全PLC的CPU的情况进行了一个简单的分析,下面我们再来看看安全输入/输出模块的情况。
    所有安全I/O模块都要执行以下两个诊断功能:
    ?◎更多的系统层面的诊断,包括了:RAM测试、ROM测试、以及
    ?◎根据模块的类型不同,现场层面的诊断,
    还有,安全PLC要对安全CPU和安全I/O之间的通信进行诊断,比如使用CRC校验。因此,不仅要检查接收的数据是否等于发送的数据,而且要检查数据变化。为了解决扰动问题,比如EMC的影响,它可能瞬间破坏你的数据,所以你需要对每个模块,配置一个很大的连续CRC错误诊断。
    上电时诊断:在上电时,I/O模块执行扩展的自检程序,如果测试出现错误,模块被认为不健康,输入输出全部置为0。
    运行时的诊断:在系统运行时,I/O模块执行自检程序,输入模块检验是否能够从传感器读取整个范围的数据,输出模块对它们的开关执行脉冲测试,周期小于1ms,在数字量输入和数字量输出模块,上电自检失效和模块没有接到外部的24V电源时,模块不工作。
    过压诊断:因为电子元件,从理论上说,电源电压超过了较大值时,它们不应该工作,所以I/O模块必须对来自背板的电源电压进行监视。
    下表描述了对电源电压的监视




http://www.absygs.com

产品推荐