obxin开机后忘记密码ob怎么用办

摘要:本文档着重讲述西门子PLC中OB組织块的使用包含组织块的说明,编程举例并提供相应的例程。

3.1 程序循环组织块(OB1)

请参阅文档OB_Specification.pdf如果想查阅英文文档,可从下面嘚链接下载该文档:

您也可以通过按F1键查阅相应组织块的在线帮助操作方法为:在程序中插入相应的OB块,然后选中该组织块并按F1键

程序循环组织块(OB1);

日期时间中断组织块(以OB10为例);

延时中断组织块(以OB20为例);

循环中断组织块(以OB35为例);

硬件中断组织块(以OB40为唎);

诊断中断组织块(以OB82为例);

机架故障组织块(以OB86为例);

编程故障组织块(以OB121为例);

I/O 访问故障组织块(以OB122为例);

还有其它的組织块,如:I/O 冗余故障OB(OB70)CPU 冗余故障OB(OB72),通讯冗余故障OB(OB73)请咨询CPU400H系统工程师这里不做说明。

硬件组态完成后保存编译。

OB1的程序循环执行用Step7可以时时监控程序的运行,具体程序参见OB_Example/OB1_ExampleOB1 的STL程序(可转成梯形图)为:

将OB1程序和硬件组态下载到CPU中。

Step7时时监控画面如下:

設置开始执行的日期(Start date)和时间(Time of day),设置完成后画面如下:

硬件组态完成后保存编译。

将OB10程序和硬件组态下载到CPU中

此时可以监控MW0每分鍾加1。

硬件组态完成后保存编译。

每一次OB20的程序执行必须调用SFC32 (SRT_DINT),延迟时间在SFC的输入参数中给定同时给定OB号,调用SFC32且设定的时间延迟箌后执行OB程序,如果再次执行OB程序需要再次调用SFC32。如果在延迟时间未到之前想取消程序的执行可以调用SFC33(CAN_DINT),同时可以使用SFC34

打开OB1组织块編写程序OB1 的STL程序(可转成梯形图)为:

此时可以监控MW0的变化,将M20.0置为true10秒钟后延迟时间到,MW0加1,再将M20.0置为true10秒钟后延迟时间到,MW0再加1如果当延迟时间未到,此时将M20.1置为true那么此次时间延迟中断被取消,MW0不会加1每次执行的状态都可以从MW18种读出,具体状态的含义请参阅SFC34(QRY_DINT)的在線帮助

硬件组态完成后,保存编译

OB35程序按照设定的执行周期循环执行,使用Step7不能时时监控程序的运行可用Variable Table 监控实时数据变化。具体程序参见OB_Example/OB35_Example

然后打开OB35组织块编写程序,OB35 的STL程序(可转成梯形图)为:

将OB351和硬件组态下载到CPU中

此时可以监控MW0每秒钟加1。

可以在OB35中周期的调鼡PID模块(FB41/42/43)完成PID调节,也可以OB35中调用周期的数据发送指令完成数据发送功能,等等总之OB35是按设定的循环周期执行。

硬件组态完成后保存编译。

OB40程序当在硬件组态中设定的硬件中断发生后执行当OB40执行时可以通过它的临时变量OB40_MDL_ADDR读出产生硬件中断的模板的逻辑地址,通過OB40_POINT_ADDR可以读出产生硬件中断的通道临时变量的具体含义请参阅在线帮助。Step7不能时时监控程序的运行可用Variable Table

将OB40 和硬件组态下载到CPU中。

此时可鉯监控MW0的变化每当I0.1有上升沿脉冲产生MW0加1,MW10为硬件中断模板的逻辑地址,本例中为0MD12为中断产生的通道号,注意此值以16进制表示

结合模板嘚断线检测应用和SFC51来说明诊断中断组织块OB82的使用方法。

硬件组态完成后保存编译。

OB82程序当在硬件组态中设定的诊断中断发生后执行当OB82執行时可以通过它的临时变量OB82_MDL_ADDR读出产生诊断中断的模板的逻辑地址,OB82其它临时变量的具体含义请参阅OB82的在线帮助Step7不能时时监控程序的运荇。

(4)  打开OB82的程序并做简单修改将19 和20 行拷贝到go:后面并保存,具体变化如下:

(5)  将整个S7-300站的程序和硬件组态下载到CPU中下载完成后,將CPU的模式选择开关切换到RUN位置此时CPU“RUN”灯亮、“SF”灯亮,SM331的“SF”灯亮同时,查看CPU的诊断缓冲区Hardware > Online双击CPU、选择 “Diagnostic Buffer”,可获得相应的故障信息;

(6)  打开DB13 数据块在线监控,具体画面如下:

因为通道断线是一到来事件所以诊断信息存储到COME数组中,具体每一字节的含义参见S7-300嘚硬件手册中B Diagnostics Data of Signal Modules部分的详细说明S7-300的硬件手册可以从西门子网站下载,下载网址为:

(7)本例中COME数组字节的含义解释如下:

331-7KF02-0AB0),同时注意CPU的DP主站哋址和ET200M从站地址不能相同并且ET200M的站地址必须和ET200M上的实际地址一致,组态完成后的画面如下:

硬件组态完成后保存编译。

OB86程序当在通讯發生问题后或者访问不到配置的机架或站时执行此时程序还可能需要调用OB82和OB122等组织块,当OB86执行时可以通过它的临时变量读出产生故障的錯误代码和事件类型通过它们的组合可以得出具体的错误信息,这些信息可以通过OB86的在线帮助查到同时也可以读到产生错误的模块地址和机架的信息,临时变量的具体含义请参阅在线帮助Step7不能时时监控程序的运行,可用Variable

将OB86 和硬件组态下载到CPU中

此时可以读到MB0,MB1为16#39和16#C4鈳以通过它们的组合得出主站逻辑地址为2047的站有通讯错误,出现错误的从站地址为3更多的信息读取请参阅OB86的在线帮助。

OB100程序在CPU执行Warm Restart时执荇且只执行一次,可用于变量的初始化使用Step7不能时时监控程序

然后打开OB100组织块编写程序,OB100 的STL程序(可转成梯形图)为:

此时可以监控MW0為123如果修改MW0的值为0,则MW0不会再被赋值为123只有当CPU再次执行Warm Restart(重新上电或者从Stop切换到Run状态)后才会被赋值。

OB121程序在CPU程序执行错误时执行此错誤不包括用户程序的逻辑错误和功能错误等,例如当CPU调用一未下载到CPU中的程序块CPU会调用OB121,通过临时变量OB121_BLK_TYPE可以得出出现错误的程序块。使用Step7鈈能时时监控程序的运行可用Variable Table

(3)打开OB1编写程序,OB1 的STL程序(可转成梯形图)为:

Variable按钮程序运行正常,将M10.0置为trueCPU报错并停机,查看CPU的诊斷缓冲区信息发现为编程错误,将OB121下载到CPU中再将M10.0置为true,CPU会报错误但不停机MW0立刻为16#88,查看OB121的在线帮助16#88表示为OB程序错误,检查发现FC1未丅载具体画面如下:

下载FC1后再将M10.0置为true,CPU不会再报错程序也不会再调用OB121。

硬件组态完成后保存编译。

OB122程序在出现I/O访问错误时被调用唎如当CPU程序访问一未定义的I/O地址,CPU会出现I/O访问错误CPU会调用OB122,如果OB122未下载,CPU会报故障停机通过临时变量OB122_SW_FLT可以读出错误代码,通过OB122_BLK_TYPE得出出现錯误的程序块通过OB122_MEM_AREA可以读出被访问的地址类型,通过OB122_MEM_ADDR可以读出发生错误的存储器地址使用Step7不能时时监控程序的运行,可用Variable

(2)打开OB1编寫程序OB1 的STL程序(可转成梯形图)为:

Variable按钮,程序运行正常将M10.0置为true,CPU会报错误并停机查看CPU的诊断缓冲区信息,发现为I/O访问错误将OB122下載到CPU中,再将M10.0置为trueCPU会报错误但不停机,MW0为16#0042MW2为16#0000,MW4为16#00200MW62为16#012C,查看OB121的在线帮助可得到相应的故障信息具体监控画面如下:

将程序和硬件组態下载到CPU中,然后执行Hot Restart

此时可以监控MW0为123,如果修改MW0的值为0则MW0不会再被赋值为123,只有当CPU再次执行Hot Restart后才会被赋值

将程序和硬件组态下载箌CPU中,然后执行Cold Restart

此时可以监控MW0为123,如果修改MW0的值为0则MW0不会再被赋值为123,只有当CPU再次执行Hot Restart后才会被赋值

当CPU的SF红灯亮,CPU停机后不知道是什么原因此时ob怎么用办呢?您需要去查看CPU的诊断缓冲区根据缓冲区中提供的停机信息采取相应的措施,例如需要OB82 ,OB86的组织块下载等

那麼如何查看CPU的诊断缓冲区呢?

再选择Diagnostic Buffer选项可以查看CPU的故障信息,具体画面同上

因为OB100位暖启动组织块,只有当CPU执行暖启动操作时才执行OB100嘚程序且只执行一个周期,所以当监控OB100程序时感觉程序没有运行

将OB35的执行周期设为60000ms,在OB35组织块中做一加法计数,当计数值等于5后执行相應的程序然后将计数值清零,简单程序举例如下:

通过在程序中添加OB83可以防止CPU停机而添加OB81不能防止CPU停机通常我们很冗易以为OB81就是处理所有电源故障的OB块,但对于冗余电源配置中某个电源模块掉电故障,实际上CPU当作模块插拔故障来处理因此需调用OB83。

如图1所示当程序中沒有插入OB83时电源模块掉电CPU会停机。查看 Diagnostic Buffer 中显示的信息是模块插拔故障导致停机

如图2所示当程序中没有插入OB83时电源模块掉电后恢复,CPU停機不恢复查看 Diagnostic Buffer 中显示的信息是模块插入恢复。

如图3所示当程序中插入OB83时电源模块掉电CPU不会停机。查看 Diagnostic Buffer 中显示的信息是模块拔除故障调鼡OB83

如图4所示当程序中插入OB83时电源模块掉电后恢复,CPU不停机外部故障灯恢复查看 Diagnostic Buffer 中显示的信息是模块插入恢复。

西门子(中国)有限公司

自动化与驱动集团 客户服务与支持中心

我要回帖

更多关于 ob怎么用 的文章

 

随机推荐