第5章 S7400H系统信息及诊断.docx

上传人:b****1 文档编号:2039503 上传时间:2023-05-02 格式:DOCX 页数:17 大小:197.47KB
下载 相关 举报
第5章 S7400H系统信息及诊断.docx_第1页
第1页 / 共17页
第5章 S7400H系统信息及诊断.docx_第2页
第2页 / 共17页
第5章 S7400H系统信息及诊断.docx_第3页
第3页 / 共17页
第5章 S7400H系统信息及诊断.docx_第4页
第4页 / 共17页
第5章 S7400H系统信息及诊断.docx_第5页
第5页 / 共17页
第5章 S7400H系统信息及诊断.docx_第6页
第6页 / 共17页
第5章 S7400H系统信息及诊断.docx_第7页
第7页 / 共17页
第5章 S7400H系统信息及诊断.docx_第8页
第8页 / 共17页
第5章 S7400H系统信息及诊断.docx_第9页
第9页 / 共17页
第5章 S7400H系统信息及诊断.docx_第10页
第10页 / 共17页
第5章 S7400H系统信息及诊断.docx_第11页
第11页 / 共17页
第5章 S7400H系统信息及诊断.docx_第12页
第12页 / 共17页
第5章 S7400H系统信息及诊断.docx_第13页
第13页 / 共17页
第5章 S7400H系统信息及诊断.docx_第14页
第14页 / 共17页
第5章 S7400H系统信息及诊断.docx_第15页
第15页 / 共17页
第5章 S7400H系统信息及诊断.docx_第16页
第16页 / 共17页
第5章 S7400H系统信息及诊断.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

第5章 S7400H系统信息及诊断.docx

《第5章 S7400H系统信息及诊断.docx》由会员分享,可在线阅读,更多相关《第5章 S7400H系统信息及诊断.docx(17页珍藏版)》请在冰点文库上搜索。

第5章 S7400H系统信息及诊断.docx

第5章S7400H系统信息及诊断

第5章S7-400H系统信息及诊断

在生产控制中,通常需要对S7-400H系统的信息和状态进行监控,例如监控CPU的主从状态、操作状态、DP从站与主站的通信状态等信息。

在程序中可以通过对状态的判断进行必要的操作,也可以将系统信息上传到HMI,便于操作及维护人员监控。

通过功能块可以将系统信息读出,下面介绍读取不同系统信息调用功能块的方法。

5.1利用SFC51(SSL-IDW#16#xy71)读出H系统信息

SSL-ID(SYSTEMSTATUSLIST)系统状态目录,利用SFC51可以读出在SSL-ID指定的PLC系统信息,当SSL-ID等于W#16#0071时,表示需要读出S7-400H系统当前的状态,可以在OB1或循环中断组织块OB3X中调用,调用SFC51的例子如图5-1所示:

图5-1调用SFC51(SSL-IDW#16#0071)例子程序

SFC51的参数解释如下,

REQ:

为1是读取SZL_ID指定的系统信息,本例中M1.1为1时启动读请求。

SZL_ID:

指定需要读取的系统信息,本例为W#16#71,H系统当前状态。

INDEX:

本例中没有意义。

RET_VAL:

调用SFC51的状态字。

BUSY:

为1时表示读进程没有完成。

SZL_HEADER:

输出系统信息存储的数据记录区号及长度,结构数据类型。

DR:

指定输出系统信息存储在CPU的地址区。

参数SZL_HEADER与DR的地址区在DB1中建立,如5-2所示:

图5-2参数SZL_HEADER与DR的地址区

参数SZL_HEADER为一个结构数据,包括两个字,第一个字输出系统信息长度,例如W#16#10表示输出16个字节,第二个字输出存储系统信息的数据记录区,例如W#16#1表示数据记录区为1。

参数DR为存储系统信息的地址区,数据类型为指针,长度必须大于参数SZL_HEADER第一个字输出的信息长度。

本例中当M1.1为时,读取的系统信息存储在DB1.DBB4~DB1.DBB2016个字节中。

用户可以对16个字节长度的系统信息进行分析和处理,系统信息内容如下:

内容长度含义

Redinf2bytes冗余信息

W#16#0011:

单机HCPU运行

W#16#0012:

H系统2备1运行

Mwstat11byte状态字节1

Bit0:

保留

Bit1:

保留

Bit2:

保留

Bit3:

保留

Bit4:

机架0中CPU的状态

=0:

从CPU

=1:

主CPU

Bit5:

机架1中CPU的状态

=0:

从CPU

=1:

主CPU

Bit6:

保留

Bit7:

保留

Mwstat21byte状态字节2

Bit0:

同步连接状态01:

CPU0和CPU1同步

=0:

不可能

=1:

可能

Bit1:

0

Bit2:

0

Bit3:

保留

Bit4:

=0:

CPU没有在机架0

=1:

CPU在机架0上

(冗余模式:

bit4=0)

Bit5:

=0:

CPU没有在机架1

=1:

CPU在机架1上

(冗余模式:

bit5=0)

Bit6:

保留

Bit7:

主从切换是否从新使能

=0:

=1:

Hsfcinfo2bytesSFC90"H_CTRL"状态字

Bit0:

=0:

从新使能没有激活

=1:

从新使能激活

Bit1:

=0:

从站Updating使能

=1:

从站Updating没有使能

Bit2:

=0:

Link-up模式没有使能

=1:

Link-up模式使能

Bit3:

保留

Bit4:

保留

Bit5:

保留

Bit6:

保留

Bit7:

保留

Bit8:

保留

Samfehl2bytes保留

Bz_cpu_02bytesCPU在机架0的模式

W#16#0001:

停止(update)

W#16#0002:

停止(resetmemory)

W#16#0003:

停止(self-initialization)

W#16#0004:

停止(internal)

W#16#0005:

启动(coldrestart)

W#16#0006:

启动(warmrestart)

W#16#0007:

启动(hotrestart)

W#16#0008:

运行(solomode)

W#16#0009:

运行(redundantmode)

W#16#000A:

HOLD模式

W#16#000B:

LINK-UP模式

W#16#000C:

UPDATE模式

W#16#000D:

故障

W#16#000E:

自检测

W#16#000F:

没有开机

Bz_cpu_12bytesCPU在机架1的模式

(与bz_cpu_0相同)

Bz_cpu_22bytes保留

Cpu_valid1byte信息变量bz_cpu_0和bz_cpu_1有效性

B#16#01:

bz_cpu_0有效

B#16#02:

bz_cpu_1有效

B#16#03:

bz_cpu_0和bz_cpu_1有效

hsync_f1byte连接质量的状态(只有mwstat2bit0为1时有效)

●Bit0:

上部插孔的同步模块光纤连接质量被限制

●Bit1:

下部插孔的同步模块光纤连接质量被限制

Bit2到7:

0

5.2利用SFC51(SSL-IDW#16#xy75)读出H系统可切换DP从站的信息

当SSL-ID等于W#16#0C75时,表示需要读出S7-400H系统可切换DP从站(ET200M)的状态,SFC51可以在OB1或循环中断组织块OB3X中调用,调用SFC51的例子如图5-3所示:

图5-3调用SFC51(SSL-IDW#16#0C75)例子程序

与读取SSL-IDW#16#xy71的方法相同,参数SZL_ID变成W#16#C75,参数INDEX为从站的诊断地址,例如从站诊断地址为8181,转换十六进制为W#16#1FF5。

参数SZL_HEADER和DR结构与上例相同,读出的信息长度同样是16个字节,本例中当M1.1为时,读取的系统信息存储在DB1.DBB4~DB1.DBB2016个字节中。

用户可以对16个字节长度的DP从站信息进行分析和处理,信息内容如下:

内容长度含义

adr1_bgt01wordDP从站接口模块第一个地址区,它的主站接口模块插在机架0上:

DP主站的PROFIBUS系统ID号和从站站号。

adr2_bgt01wordDP从站接口模块第二个地址区,它的主站接口模块插在机架0上:

DP主站的槽号和子槽号(集成在CPU的主站模块的接口号)

adr1_bgt11wordDP从站接口模块第一个地址区,它的主站接口模块插在机架1上:

DP主站的PROFIBUS系统ID号和从站站号。

adr2_bgt11wordDP从站接口模块第二个地址区,它的主站接口模块插在机架1上:

DP主站的槽号和子槽号(集成在CPU的主站模块的接口号)

Res2words保留

Logadr1wordDP从站的诊断地址:

●Bits0到14:

诊断地址

●Bit15:

I/O标识符(0=输入,1=输出)

Slavestatus1word通信状态:

●Bit0=1:

机架0的DP主站模块不能访问从站接口模块

●Bit1=1:

机架1的DP主站模块不能访问从站接口模块

●Bits2到7:

保留(每一个位为0)

 

5.3利用SFC87读出冗余连接状态信息

S7-400H之间可以建立冗余的连接,在单一网络上,两个站建立的连接可能为4个,如图5-4所示:

图5-4单一网络建立连接

如果网卡分别为A、B、C、D,可能的连接为A-C、A-D、B-C、B-D。

如果在冗余的网络上四个网卡的连接数只能为两个,以图5-4为例,如果D网卡有故障,数据可以通过A-C、B-C的连接进行通信,A-D、B-D通信故障,故障信息可以通过调用SFC87读出,连接建立之后,可以查看到建立的四个S7连接,如图5-5所示:

图5-5冗余的网络连接

从上到下的连接数定义为0、1、2、3,通过SFC87的调用同时可以监控主连接和备有的连接数。

SFC87可以在OB1或循环中断组织块OB3X中调用,调用的例子如图5-6所示:

图5-6调用SFC87例子程序

SFC87的参数解释如下,

REQ:

为1时,诊断任务激活。

MODE:

操作模式。

操作模式有四种:

W#16#0不传送连接状态到数据接收区,只传送确认信息到操作系统。

W#16#1传送连接状态到数据接收区,传送确认信息到操作系统。

W#16#2只在连接状态改变时传送连接状态到数据接收区,传送确认信息到操作系统。

W#16#3只传送连接状态到数据接收区,不传送确认信息到操作系统。

RET_VAL:

调用SFC87状态返回值。

BUSY:

任务没有完成。

N-CON:

指示上一次连接状态(DIS_PCON)变化的连接数。

冗余连接可以建立多个,这里指其中一个连接。

CON_ARR:

连接状态接收区。

以CPU最大的连接数计算,每一个连接占用八个字节。

本例以CPU417-4H为例,CPU的连接数为64个,每一个连接需要占用八个字节,总共512个字节。

如果连接状态输出区小,在RET_VAL值中将有错误信息。

参数CON_ARR其实是一个数组变量,每一个数组单元对应CPU的一个连接,数组的单元由一个八个字节的结构变量组成,表示每一个连接的状态。

输出八个字节的连接状态含义如下:

内容长度含义

CON_IDWORD在NETPRO中组态的连接号,输出W#16#FFFF表示连接没有配置,CON_ARR[i].DIS_PCON被置位表示连接被从新配置或被删除。

STAT_CONBYTES7连接或S7冗余连接当前状态,可能的输出值:

B#16#00:

S7连接没有建立。

B#16#10:

S7冗余连接没有建立。

B#16#01:

S7连接正在被建立。

B#16#11:

S7冗余连接正在被建立。

B#16#02:

S7连接被建立。

B#16#12:

S7冗余连接被建立,但是连接没有冗余(例如D通

信处理器故障,只能建立A-C、B-C连接)。

B#16#13:

S7冗余连接被建立

PROD_CONBYTE当前正在运行连接的子连接,可能的值为0、1、2、3。

STBY_CONBYTE备用连接的子连接,可能的值为0、1、2、3。

B#16#FF表示没

有备份连接,只有S7冗余连接有备用连接。

DIS_PCONBOOLCON_ARR[i].STAT_CON输出值由W#16#12->W#16#13或

W#16#13->W#16#12转变后被置1。

其他状态的变化不作考虑。

当MODE=B#16#01或02时,状态输出到接收区CON_ARR后该位被复位;当MODE=B#16#03时,该位不变化。

RES0BYTE保留(B#16#00)

RES1BYTE保留(B#16#00)

5.4利用SFC90控制H系统的连接状态和检测

当冗余CPU其中一个出现故障,这时只有一个CPU工作,更换故障的CPU上电后,需要向主CPU发送link-up请求,主CPU检测到link-up请求,Update从CPU,从CPU进入工作状态。

link-up和Update过程将影响主CPU对快速过程的处理,例如在Update过程中信号状态的变化不能被识别(执行link-up和Update的时间参考H手册),在这种情况下,通过SFC90可以终止link-up和Update过程,快速过程执行完成后再使能link-up和Update过程,通过调用SFC90还可以使H-CPU执行对数据存储区的检查,SFC90在OB1或循环中断组织块OB3X中调用,调用的例子如图5-7所示:

图5-7调用SFC90例子程序

SFC90的参数解释如下:

REQ:

为1时,控制任务激活。

MODE:

操作模式。

操作模式有七种:

B#16#3取消Link-up过程。

B#16#4使能Link-up过程。

B#16#1取消Updating过程。

B#16#2使能Updating过程。

B#16#20取消在SUBMODE中指定的循环自检测部分。

一个自检测部分只能取消一次。

B#16#21添加在SUBMODE中指定的循环自检测部分。

一个自检测部分在取消后才能添加。

B#16#22立即执行在SUBMODE中指定的自检测部分。

SUBMODE:

操作子模式。

操作子模式有六种:

0SP7–ASIC–检测

1Code存储器检测

2Data存储器检测

3操作系统代码校验和检测

4Code块校验和检测

5冗余操作中对数据块、M区、计数器、计数器的比较

RET_VAL:

调用SFC90状态返回值。

BUSY:

BUSY=1指示任务没有完成。

5.5利用FC125监控DP从站工作状态

在程序中调用FC125可以判断系统中DP从站和模块的错误。

它可以检测到丢失和故障的从站,S7-400H具有冗余的PROFIBUS总线,所以必须在CPU中调用2次,分别监控两条PROFIBUS(通过参数DP_MASTERSYSTEM识别)总线上的从站。

FC125需要在OB1中调用,在OB1中调用的程序如图5-8所示:

图5-8调用FC125例子程序

下面对每个参数进行说明。

CHECK_ACTIVE:

为1时开始检测从站。

EXTERNAL_DP_INTERFACE:

选择DP主站的接口,0表示集成在CPU上的DP主站,1表示外部DP主站接口,如CP443-5等。

DP_MASTERSYSTEM:

PROFIBUS的ID号,在硬件组态中可以查看到PROFIBUS的ID号。

H站有两条PROFIBUS网络,需要调用FC125两次,分别赋值两个PROFIBUS的ID号,数据类型为INT。

DATA_FIELD:

50个字节的数据区,仅供FC125内部使用,数据类型为POINTER。

SUM_SLAVES_DIAG:

从站诊断的总数,数据类型为INT。

LIST_SLAVES_NOT_PRESENT:

检查到丢失的从站(软件已经组态但是现场没有连接硬件),16个字节的数据区,每一个数据位对应一个从站,置1表示一个从站丢失,如果丢失的从站返回或维修好,相对应的位复位。

数据类型为POINTER。

LIST_SLAVES_ERROR:

故障的从站(部分模块有故障,其他模块可以连续运行),16个字节的数据区,每一个数据位对应一个从站,置1表示一个从站故障,如果故障的从站返回或维修好,相对应的位复位。

数据类型为POINTER。

RETVAL:

调用FC125时的状态返回值,数据类型为INT。

BUSY:

为1表示当前正在执行。

例如,本例中检查到丢失的从站地址区为DBB52~DBB6716个字节,每一字节8个位,每一个位表示一个从站,如果位被置1,表示从站丢失。

图5-9为从站编号的分配表,注意字节与站号排列次序:

图5-9从站编号的分配表

在编程界面下选择菜单栏中PLC->Monitor/ModifyVariables,如图5-10所示:

图5-10打开变量监控表

 

点击工具栏中的

,观察在线诊断结果,如图5-11所示:

图5-11监控变量

在第1栏中,显示ID1的PROFIBUS没有检测到的从站为3,4号从站。

在第3栏中,显示ID2的PROFIBUS没有检测到的从站为3,4号从站。

通过FC125可以获得故障的从站,从而排除故障。

同时数据存储区可以作为接口被其它程序读取和调用(如WINCC),更直观地在界面中显示故障从站和错误信息。

调用版本不同的FB125块可能会检测不到故障的从站

5.6利用OB块诊断S7-400H系统

通过组织块OB70、OB72、OB73中的临时变量可以对S7-400H系统进行诊断,以OB70为例介绍诊断信息的读取方法。

OB70为I/O冗余错误,当DP主站错误、从站接口模块错误以及主站连接从站I/O的更改都会调用OB70。

在程序中建立OB70,打开OB70可以看到接口参数,如图5-12所示:

图5-12OB70接口参数

接口参数解释如下:

变量类型描述

OB70_EV_CLASSBYTE事件等级和ID:

·B#16#72:

离开事件(故障清除)

·B#16#73:

进来事件(出现故障)

OB70_FLT_IDBYTE故障代码(可能的值:

B#16#A2,B#16#A3)

OB70_PRIORITYBYTE优先级;在STEP7硬件组态中可以分配

OB70_OB_NUMBRBYTEOB号(70)

OB70_RESERVED_1WORD保留

OB70_INFO_1WORD与错误代码有关

OB70_INFO_2WORD与错误代码有关

OB70_INFO_3WORD与错误代码有关

OB70_DATE_TIMEDATE_AND_TIMEOB块调用的时间

下列事件触发OB70的调用:

OB70_EV_CLASSOB70_FLT_IDOB70开始事件

B#16#72B#16#A2DP主站故障

B#16#73/B#16#72B#16#A3冗余的DP从站故障/清除

故障代码B#16#A2,B#16#A3的描述如下:

故障代码位描述

·B#16#A2-

OB70_INFO_1:

有故障DP主站的逻辑地址

OB70_INFO_2:

保留

OB70_INFO_3:

0to7保留

8to15有故障DP主站的系统ID

·B#16#A3

OB70_INFO_1:

DP主站的逻辑地址

OB70_INFO_2:

有故障DP从站:

0to14S7从站的逻辑地址或其他DP从站的诊断地址

15I/O识别,从站的数据类型

OB70_INFO_3:

有故障DP从站:

0to7站号

8to15主站的系统ID

如果触发OB70调用的事件出现,可以将事件信息传送到全局变量(例如M数据区)中进行分析,OB70程序例子如图5-13所示:

图5-13OB70程序示例

通过程序将触发OB70调用的事件信息记录到MB20~MB27中,可以为后续的判断及显示使用。

利用相同的方法,通过OB72、OB73可以读取S7-400H系统其他的诊断信息,这里不作描述。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2