湖南西控自动化设备有限公司
主营产品: 工程型传动 通用变频器与通用伺服 数控系统 伺服电机 FA工厂自动化 PA过程自动化 Simoreg DC Master、Sinamics DC Master、Sinamics G130/G150、S120 装机装柜型/柜机、S150柜机等系列产品 保外的现场服务和室内维修,不包含水冷装置 Sinamics V20、部分G120C 和G120、G120X、G120XA,V90和配套的1FL6电机等系列产品保内及保外的 室内维修、现场服务,以及保内更换服务。保内标准服务类型由翩唉啊搏碍臂哎阿哎唉熬癌 唉啊哀挨安挨艾挨包爸焙 蚌安岔挨哀靶柏材挨宾哀挨捌安熬袄唉 伴义 828D数控系统保内和保外的现场服务 进口1FK2、1FK7、1FT2、1FT7、1PH81、1PH82等系列产品的保内及保外的室内维修、现场服务,以及保内更换服务 西门子 PLC 、HMI、SCADA 、 IPC、SIMOTION 等产品及网络相关产品的保外现场服务(具体服务产品、类型,以西门子派遣为准)。PLC : S7-200、S7-200 Smart、S7-300、S7-400、S7-1200和S7-1500等系列HMI : TP系列、OP系列、MP系列,精简面板、精智面板和移动面板;SCADA : SIMATIC WinCC及其选件,Portal WinCC Advanced / Professional及其选件;IPC: SIMATIC Flat Panel 系列、SIMATIC Panel PC 系列、SIMATIC BOX PC系列利I SIMATIC Rack PC 系列;SIMOTION: SIMOTION 系列相关产品 西门子过程自动化产品的保外现场服务具体服务产品、类型,以西门子派遣为准)。包括: S7-400,S7-400H,S7-410,故障安全型产品,ET200PA,ET 200SP,ET200ISP,SITOP电源产品,Scalance交换机,PCS 7软件
安徽省六安市西门子中国总代理-西门子选型-西门子技术支持-西门子维修服务

我们来分析上图中的OB类型。OB块主要用于程序循环、启动、延时中断、循环中断、硬件中断、HSC中断、诊断错误和时间错误八大事件。

OB块还有两个属性是编号和优先级,优先级越高,中断级别越高。在同样的优先级别,OB编号越小,越优先执行。

从图1中,我们看到Main程序的地址在OB1,是一个循环运行程序,优先级为1较低。

时间错误事件的优先级Zui高,当发生该事件时,会暂停执行Main程序,优先执行时间错误事件OB块。程序循环OB类块的编号属性为"1;>=123",意为我们可以创建多个类似OB块。

因为新建程序默认OB编号为1,假设我们要创立该事件类型OB块,那么默认编号为123起,同时OB1的执行要优先于OB123。诊断错误事件OB块和时间错误OB块只有一个。

图片

图5 添加OB新块

图片

图6 手动选择创建编号

图5添加OB新块界面,我们可以看到,在红色矩形框处,OB编号数值为123,我们选择的创建方式为自动。如果你想起用别的编号,可以选择手动方式,同时可以选择创建OB块采用的语言。大家不妨自己试一试哦。


这里讲解几个常用的OB类型块使用,其他类型OB块使用,大家可以翻阅系统编程手册。

程序循环事件OB块(programcycle):该块主要用于执行循环运行的程序,一般一个程序中创建一个便可以,就是默认的Main程序(OB1),我们可以通过调用FC和FB来实现其他功能。系统CPU每个扫描周期都会执行该类型OB块。

启动事件OB块(Startup):该块主要用于初始化变量,当PLC断电重启或者CPU从STOP切换为RUN时候执行,往后不再运行,也就是只运行一次。我们新建一个DB1块,添加两个,设置初始值,如下图所示:

图片

图7 添加DB块变量

然后新建一个Startup事件OB块,写如下程序(SCL语言):

图片

图8 Startup事件OB块程序

我们可以看到该类型OB块编号为100,如果再建一个该类型OB块,编号必须>=123。然后我们下载程序,这里顺便提一下下载选项,如下图所示:

图片

图9 下载选项

如果是初次下载,选择"硬件和软件(仅更改)"。如果不是初次,可以选择你修改的部分,这样会提高下载速度。

图片

图10 程序运行结果

循环中断事件OB块(Cyclicinterrupt):常常用于需要定时执行的任务,比如我们需要1秒钟采样50个模拟值,我们可以把循环时间设置为20毫秒。可能会有人问,为什么不采用普通定时器每隔20毫秒采样一次呢?

因为普通定时器会受到CPU扫描周期的影响。在PID程序中,我们需要采用循环中断事件来调整计算PID输出。

图片

图11 添加循环中断事件OB块

在实验程序里,通过INC指令把DB1块里面的变量,每隔1秒加1,运行效果如下:

图片

图12 循环中断事件OB

我们会看到在OB30这个程序块里面,"Data".Var2的值会每隔1秒变化,如果把INC指令放在Main[OB1]里面会是什么情况呢?

诊断错误事件OB块(Diagnostic errorinterrupt):当PLC发生故障时,会触发该事件;解除故障时,也会触发该事件,在该模块里面,我们可以读到故障信息。

图片

图13 添加诊断错误事件OB块

在实验程序里,我们需要捕捉模拟量输入的溢出错误,所以需要对模拟量输入进行如下配置:

图片

图14 添加溢出诊断功能

图片

图15 AI通道硬件标识符

在配置硬件组态时,TIA PORTAL将为每个硬件对象(如模块、接口或模块端口,甚至是智能设备的传输区)自动分配硬件标识符,相当于我们的身份证号码,duyiwuer。

图片

图16 诊断程序

在诊断程序中,我们可以获取错误IO状态,硬件标识符和通道,并添加了STP指令。当错误发生时候,使PLC处于STOP状态,若不添加STP指令,PLC仍以RUN状态运行。

图片

图17 诊断运行结果

通过读取IO_State,LADDR和Channel三个变量,IO状态以二进制格式显示,第4位为1,所以会出现错误。具体每个变量含义请看下图:

图片

图18 诊断错误中断 OB 的启动信息


结束语

这期我们主要讲解TIA PORTAL编程中一个非常重要的元素OB块,该内容不仅适合于1200,同样也适用于1500,300,400。

由于1200本身的功能限制,1200的知识点还是与其他型号有所区别。与200相比,则是程序结构分类更为精细。



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