广东湘恒智能科技有限公司
主营产品: 西门子PLC,西门子模块,西门子触摸屏,西门子变频器,西门子伺服电机驱动,电缆,西门子全系列
西门子代理商-华中一级代理-PLC伺服电机驱动变频器代理

下面是各组织块类型的介绍和使用方法

1


程序循环组织块

操作系统每个周期调用“程序循环”组织块一次,从而启动用户程序的执行。在SI­MATIC  S7-1500  CPU中,可以使用多个“程序循环”组织块(OB编号大于等于123),并且按照序号由小到大的顺序依次执行。所有的"程序循环”组织块执行完成后,操作系统再次重新调用“程序循环”组织块。在各个“程序循环”组织块中调用FB、FC等用户程 序使之循环执行。“程序循环”组织块的优先级为1且不能修改,这意味着它的优先级是最低的,可以被其他OB块中断。“程序循环”组织块的执行如图所示。

图片 

2


时间中断组织块

 时间中断组织块用于在时间可控的应用中定期运行一部分用户程序,可以实现在某个预设时间到达时只运行一次,或者在设定的触发日期到达时,按每分、每小时、每周、每月、每月底等周期运行。当CPU的日期值大于设定的日期值时触发相应的OB,按设定的模式执行。在用户程序中也可以通过调用SET_TINT指令设定时间中断组织块的参数,调用ACT_ TINT指令激活时间,中断组织块投入运行。与在OB块属性中的设置相比,通过用户程序  在CPU运行时修改设定的参数更加灵活。两种方式可以任意选择,也可以同时对一个OB块 进行参数设置。 

3


时间延迟中断组织块

 时间延迟中断OB在经过一段可组态的延迟时间后启动。操作系统会在调用指令SRT_ DINT后开始计算延迟时间,延迟时间到达后触发执行响应的OB。OB块号及延迟时间在SRT_DINT参数中设定,延迟时间为1 ~60000ms,延迟精度为lms,这也是不使用定时器作为延时条件的原因。可以使用“CAN_DINT"指令取消已经启动的延迟中断。

4


循环中断组织块

 循环中断组织块按设定的时间间隔循环执行,循环中断的间隔时间通过时间基数和相位偏移量来指定。在OB块属性中,每一个OB块的时间间隔可以由用户设置。如果使用了多个循环中断OB,则当这些循环中断OB的时间基数有公倍数时,可以使用相位偏移量来防止同时启动。不同类型的SIMATIC S7-1500 CPU所支持的最短时间间隔不同,例如CPU 1516支持最短250µs的时间间隔,而CPU1518支持最短lOOµs的时间间隔。在循环中断组织块中的用户程序将按照固定的间隔时间执行一次,OB块中的用户程序执行时间必须小于设定的时间间隔。如果间隔时间较短,则会造成循环中断OB块没有完成程序扫描而再次被调用,从而造成CPU故障,触发OB80报错。如果程序中没有创建OB80,则CPU进入停机模式。通过调用DIS_IRT、DIS_AIRT、EN_IRT指令可以禁用、延迟、使能循环中断的调用。循环中断组织块通常处理需要固定扫描周期的用户程序,例如PID函数块通常需要在循环中断中调用,以保证采样时间恒定。

5


硬件中断组织块

 硬件中断也称为过程中断,用来响应由具有硬件中断能力的设备(如通信处理器CP及 数字量输入、输出模块等)产生的硬件中断事件。例如,可使用具有硬件中断的数字量输 入模块触发中断响应,然后为每一个中断响应分配相应的中断OB块,多个中断响应可以触发一个相同的硬件中断OB。SIMATIC S7-1500 CPU支持多达50个硬件中断组织块,可以为最多50个不同的中断事件分配独立的硬件中断组织块,方便用户对每个中断事件独立编程。

如果配置的中断事件出现,则中断当前主程序,执行中断OB块中的用户程序一次,然后跳回中断处继续运行主程序。中断程序的执行不受主程序扫描和过程映像区更新时间的影响,适合需要快速响应的应用。

如果输入模块中的一个通道触发硬件中断,则操作系统将识别该模块的槽号和通道号,并触发相应的OB块,执行中断OB块之后发送与通道相关的确认。在识别和确认过程中, 如果该通道存在再次的中断事件,则操作系统将不予响应;如果该模块的其他通道存在中断事件,则在当前正在执行的中断确认之后响应这个新的中断事件;如果是由不同的模块触发的中断,则中断请求首先被记录,中断OB块在空闲(没有其他模块的中断请求)时被触发。通过调用DIS_IRT、DIS_AIRT、EN_IRT指令可以禁用、延迟、使能硬件中断的调用。 

6


PROFIBUS- DP/PROFINET IO中断组织块

  CPU响应PROFIBUS- DP从站/PROFINET IO设备触发的中断信息。  

7


等时同步中断组织块

用于处理PROFIBUS- DP或PROFINET IO的等时同步用户程序。在等时模式下,从各个从站/设备采集输入信号到输出逻辑结果需要以下过程:从站/设备输入信号采样循环(信号转换)、从站/设备背板总线循环(转换的信号从模块传递到接口模块)、总线循环(信号 从分布式I/O传递到CPU)、程序执行循环(信号的程序处理,即等时同步中断组织块)、  总线循环(信号从PLC传递到分布式I/O)、从站/设备背板总线循环(信号从站接口模块  传递到输出模块)及模块输出循环(信号转换)等7个循环。同步时钟将同步以上7个循  环,优化数据的传递,并保证各个分布式I/O数据处理的同步

8


时间错误组织块

用于处理时间故障。当在一个循环内程序执行第一次超出设置的最大循环时间时,CPU 将自动调用OB80。如果程序中没有创建OB80,则CPU将进入停止模式,如果程序中已经创建了OB80,但是在同一次循环内程序执行超出设置的最大循环时间两倍,则CPU也将进 入停机模式。 

9


诊断中断组织块

 SIMATIC S7-1500 PLC操作系统在下列情况下调用诊断中断组织块:

激活诊断功能的模块检测到其诊断状态发生变化(事件到来或事件离开);

发生电源错误触发事件;

操作系统检测到存储错误以及硬件中断丢失等事件。

10


拔出/插入中断组织块

 当移除或者插入已组态的分布式I/O模块或子模块时,SIMATIC S7-1500 CPU操作系统将调用拔出/插入中断组织块。

注意:目前SIMATIC S7-1500  PLC机架不支持热插拔,所以拔出或插入中央机架模块将导致CPU进入STOP模式。 

11


机架错误组织块

  SIMATIC  S7-1500   CPU操作系统在下列情况下调用机架错误OB:

检测到PROFIBUS- DP系统或PROFINET  IO系统发生站点故障等事件(事件到达或离去);

检测到PROFINET智能设备的部分子模块发生故障。 

12


编程错误组织块

 当SIMATIC  S7-1500 CPU在处理用户程序指令时发生编程错误,有两种方式进行处理:

全局处理:调用编程错误组织块;

本地处理:直接在用户程序块中调用指令“GET_ERROR”或者“GET_ERR_ID"进行处理。

如果没有采取以上任何一种错误处理方式,则CPU会停机。

例如图7-12所示的一段程序,将数据123写入变量"A".   B[ "1"]中。

如果索引"I"超出范围,则SIMATIC S7-1500  CPU操作系统将调用编程错误OB121,并将编程错误诊断信息写入诊断缓冲区,这就是全局处理。

图片

如果在程序块发生编程错误的语旬后调用函数“GET_ERR_ID"或“GET_ERR",则CPU不会再调用OB121(这种悄况下即使CPU中没有OB121也不会停机),也不会将错误写入诊断缓冲区。用户可以在程序块的输出参数”ID"中获取错误信息,如图7-13 所示。

图片

查看“GET_ERR_ID"的在线帮助可知故障ID "16#2523"对应的错误信息为“写入错误:操作数超出有效范围"。使用本地处理程序错误的好处是能够快速定位用户程序中出现的编程错误,也可以使程序块独立于其他故障处理程序块,存放于全局库中。如果想要得到更详细的错误信息,比如出错程序块的类型、程序块编号等,则可通过调用函数”GET_ ERR"实现。

13


I/O访问错误组织块

 如果在执行用户程序指令期间直接访问1/0数据出错,则也可以进行全局处理或者本地处理。

全局处理:调用I/O访问错误组织块(OB122);

本地处理:在用户程序块中调用指令“GET_ERROR"或者“GET_ERR_ID"进行处 理。比如在程序中访问了并不存在的外设“IW100: P",便可以进行本地处理,如图7-14 所示。

图片

查看“GET_ERR_ID"的在线帮助可知故障ID     "16#2942"对应的错误信息是“读取错误:Input"。如果不作全局错误处理和本地错误处理,则CPU将故障信息写入到诊断缓冲区中。 

14


启动组织块

操作系统从“停止"切换到“运行“模式时,将调用启动OB。如果有多个启动OB,则按照OB编号依次调用,从最小编号的OB开始执行,用户可以在启动OB中编 写初始化程序。程序中也可以不创建任何启动OB。SIMATIC S7-1500 CPU只支持暖启动。

15


MC运动控制组织块

 在添加相关的“SIMATIC   S7-1500运动控制”工艺对象之后,系统自动将OB91/0B92 分配到MC伺服中断和MC插补器中断。MC- PreServo和MC- PostServo用于液压轴控制的修正。


展开全文
相关产品
拨打电话 微信咨询 发送询价