西门子授权总代理商
西门子PLC通信故障中断组织块有哪些与DP通信有关的中断组织块
CPU在识别到一个故障或编程错误,例如,DP从站或者PROFINETIO设备的诊断报警、站的故障等,将会调用对应的中断组织块(OB),应生成这些OB,通过OB中编写的程序对故障进行处理。如果这些组织块没有下载到CPU,CPU将会因为无法调用这些块而进入STOP 状态。下面介绍与通信故障有关的几个主要的中断组织块。
1. DP从站产生的诊断中断(OB82)
具有诊断功能的分布式IO模块通过产生诊断中断来报告事件,例如部分节点故障、信号模块导线断开、IO通道的短路或过载、模拟量模块的电源故障等。产生诊断中断时,CPU 的操作系统将自动调用处理诊断中断的组织块OB82。OB82的启动信息提供了产生故障的模块的类型(输入模块或输出模块)、模块的地址和故障的种类。当DP主站的CPU从RUN模式切换到STOP模式时,智能从站将调用诊断中断组织块OB82。故障出现和消失时将分别调用一次OB82。
通过在OB82中调用故障诊断的程序块,可以判断在哪个通道发生了什么样的故障。
2. 外设输入/输出区与过程映像输入/输出区
S7-300/400的外设输入/输出区(PIPQ区)用于直接读写IO模块。过程映像输入/输出区(IQ 区)是输入/输出模块在CPU的存储区中的“映像”。在每一扫描循环周期开始时,CPU将过程映像输出区中的数据成批地传送到输出模块,将输入模块外接的输入电路的状态成批地读入过程映像输入区。
PI/PQ区与I/Q区的关系如下:
1)访问PIPQ区时,直接读写输入/输出模块,而I/Q区是CPU内的存储区。
2)I/Q区可以按位、字节、字和双字寻址,PIPQ区不能按位寻址。
3)I/Q区的地址也可以用PI/PQ区访问。
3. 优先级错误中断(OB85)
以下情况将会触发优先级错误中断:
1)产生了一个中断事件,但是没有将对应的OB块下载到CPU(不包括OB81)。
2)操作系统访问模块时出错。
3)由于通信或组态的原因,模块不存在或有故障,刷新过程映像表时I/O访问出错。出现故障的DP从站的输入/输出值装入S7CPU的过程映像表时,就可能出现上述情况。
访问出错的输入字节被复位和保持为“0”,直到故障消失。
双击HW Config的机架中的CPU,打开CPU的属性对话框。可以用“周期/时钟存储器”选项卡中的选择框选择调用OB85的方式(见图6-25)。
图6-25 CPU的属性对话框的周期/时钟存储器选项卡
S7-300CPU默认的选项是“无OB85调用”,在发生I/O访问错误时不调用OB85,也不会在诊断缓冲区中生成条目,一般采用默认的设置。
S7-400CPU默认的选项是“每单个访问时”,在满足条件时,每个扫描循环周期都要调用一次 OB85 和在诊断缓冲区中生成一个条目,这样会增加扫描周期。建议选用“仅用于进入和离开的错误”,该选项只是在错误刚发生和刚消失时分别调用一次OB85。
在编写OB85的程序时,应根据OB85的启动信息,判定是哪个模块损坏或没有插入。OB85的局部变量OB_85_FLT_ID的错误代码的意义举例如下B#16#B1和B#16#B2分别表示更新过程映像输入、输出表时的I/O访问错误。可以用SFC49“LGC_GADR”查找有关模块所在的机架和槽位,以及模块的用户数据地址区中的偏移量。
4 机架故障或分布式I/O的站故障中断(OB86)
如果机架、DP主站系统或分布式I/O(DP从站或PROFINETIO设备)由于掉电、总线导线断开、IO 系统的故障,或者某些其他原因引起的故障,CPU的操作系统将调用组织块OB86。故障出现和消失时将分别调用一次OB86。可以根据OB86的启动信息,在OB86中编程,确定是哪个机架或分布式设备有故障或通信中断。
5. I/O访问错误中断(OB122)
CPU如果访问有故障的I/O模块、不存在的或有故障的DP从站的PIPQ输入/输出数据。或者访问了一个CPU不能识别的 I/O 地址,CPU的操作系统将在每个扫描周期调用一次OB122.
6. 故障处理中断组织块的作用
DP从站出现故障时,如果S7-400没有生成和下载OB82、OB85、OB86和OB122,S7-300 没有生成和下载OB82、OB86和OB122,CPU将切换到STOP状态。为了防止某个从站的故障造成整个PROFIBUS主站系统停机,作为一个常规的措施,至少要生成和下载上述组织块。即使没有在这些OB中编写任何程序,在DP从站出现上述故障时,CPU也不会进入STOP模式。
需要注意的是,生成上述OB后,CPU虽然不再进入STOP模式,但是可能不易察觉这些危险状态,它们会被忽视。为了解决这一问题,在故障 OB 中,应编写记录、处理和显示故障的程序,例如记录中断的次数,保存OB的局部变量,调用读取诊断数据的SFC13等。以便在出现故障时,迅速地查明故障的原因和采取相应的措施。
通过中断组织块的局部变量提供的信息,可以获得故障的原因、出现故障的模块地址、模块的类型(输入模块或输出模块)、故障出现或故障消失等信息。CPU的模块信息对话框中的诊断缓冲区保留着CPU曾经调用过的组织块的信息。
**在出错时通过监控设备产生一条报警信息,以便操作人员安全和正确地操作设备,具体的方法将在第8章介绍。
中断组织块的详细信息可以参阅STEP7的在线帮助,或者参考随书光盘中的手册《用于S7的系统软件和标准功能参考手册》。
本公司销售西门子全系列产品除特殊产品会备注说明
1,6ES7,S7-200/ S7-300/S7-400,LOGO系列PLC。
2,西门子OP、TP、MP(6AV)系列人机界面屏。
3,6SE70、6SE71、6RA70、6RA28系列大型传动;
4,数控系统802S、802C、802D、810T、810M、810D、840D、611系列驱动。
5,6SE6440变频器,西门子6SE6420, 6SE6430变频器。G120,G150,S120系列变频器整机及板卡。
6,伺服控制系统 伺服控制器 6FC、6SN、6FX、6AU系列 。
7,伺服电机 1PH、1FK、1FT系列 S120系列 6SL系列。
8,传动系统 西门子变频器、MM420/430/440系列,6SE70系列,G120系列,
直流调速器6RA70,6RA28系列,软启动3RW系列 及各种备件如:6SY7000、6SY7010等。
9,6EP系列、6DD系列 6GK系列
10,3RW40/44 3TF68/69 3RV 3RT 3RP 3TK 3TF 3RS 3RN 3TC 3TH 3WL 3VL 3WN等欢迎询价订货!
我公司大量现货供应,价格优势,品质保证,德国原装进口
PLC 软件系统设计的方法
在了解了 PLC 程序结构之后,就要具体地编制程序了。编制 PLC 控制程序的方法很多,这里主要介绍几种典型的编程方法。
1. 图解法编程
图解法是靠画图进行 PLC 程序设计。常见的主要有梯形图法、逻辑流程图法、时序流程图法和步进顺控法。
(1) 梯形图法:梯形图法是用梯形图语言去编制 PLC 程序。这是一种模仿继电器控制系统的编程方法。其图形甚至元件名称都与继电器控制电路十分相近。这种方法很容易地就可以把原继电器控制电路移植成 PLC 的梯形图语言。这对于熟悉继电器控制的人来说,是*方便的一种编程方法。
(2) 逻辑流程图法:逻辑流程图法是用逻辑框图表示 PLC 程序的执行过程,反应输入与输出的关系。逻辑流程图法是把系统的工艺流程,用逻辑框图表示出来形成系统的逻辑流程图。这种方法编制的 PLC 控制程序逻辑思路清晰、输入与输出的因果关系及联锁条件明确。逻辑流程图会使整个程序脉络清楚,便于分析控制程序,便于查找故障点,便于调试程序和维修程序。有时对一个复杂的程序,直接用语句表和用梯形图编程可能觉得难以下手,则可以先画出逻辑流程图,再为逻辑流程图的各个部分用语句表和梯形图编制 PLC 应用程序。
(3) 时序流程图法:时序流程图法使首先画出控制系统的时序图(即到某一个时间应该进行哪项控制的控制时序图),再根据时序关系画出对应的控制任务的程序框图,*后把程序框图写成 PLC 程序。时序流程图法很适合于以时间为基准的控制系统的编程方法。
(4) 步进顺控法:步进顺控法是在顺控指令的配合下设计复杂的控制程序。一般比较复杂的程序,都可以分成若干个功能比较简单的程序段,一个程序段可以看成整个控制过程中的一步。从整个角度去看,一个复杂系统的控制过程是由这样若干个步组成的。系统控制的任务实际上可以认为在不同时刻或者在不同进程中去完成对各个步的控制。为此,不少 PLC 生产厂家在自己的 PLC 中增加了步进顺控指令。在画完各个步进的状态流程图之后,可以利用步进顺控指令方便地编写控制程序。
2. 经验法编程
经验法是运用自己的或别人的经验进行设计。多数是设计前先选择与自己工艺要求相近的程序,把这些程序看成是自己的“试验程序”。结合自己工程的情况,对这些“试验程序”逐一修改,使之适合自己的工程要求。这里所说的经验,有的是来自自己的经验总结,有的可能是别人的设计经验,就需要日积月累,善于总结。
3. 计算机辅助设计编程
计算机辅助设计是通过 PLC 编程软件在计算机上进行程序设计、离线或在线编程、离线仿真和在线调试等等。使用编程软件可以十分方便地在计算机上离线或在线编程、在线调试,使用编程软件可以十分方便地在计算机上进行程序的存取、加密以及形成 EXE 运行文件。