浅析西门子编程器与PLC连接调试常见问题的处理方法
2014-06-12王汉秀
王汉秀
摘 要:主要就西门子编程器(PG)在与PLC模板之间调试应用时经常出现的一些典型故障问题进行分析探讨,进而找到解决故障的方法。
关键词:PG;PLC;PROFIBUS-DP;PG/PC;接口设置
Abstract: This paper mainly Siemens PLC programming device (PG) in and debug applications often appear between the template to analyze some typical faults of the discussion, and then find a way to solve the fault.
Keywords: PG; PLC; profibus-dp; communication;online connection ; interface Settings
PLC是一种电子控制器,其功能可以作为一个程序保存在控制单元中,因此,控制器的组态和布线与控制系统的功能无关。PLC具有计算机的结构;由→CPU(中央处理器)、存储器、I/O模块和内部总线系统组成。I/O和编程语言都为面向控制工程需而设计。使用时只需将现场的各种设备与PLC相应的I/O端相连接,即可投入运行。要使PLC能正常工作,通常编程器(ProGrammer-PG)是必需的,程序首先是在PG内完成编制,然后通过通讯连接下载到PLC以使PLC运行。在调试阶段经常会发生系统错误,由于这些错误可能发生在硬件方面,也有可能发生在软件方面,因此这些错误的查询非常耗时。本文将阐述调试时所应遵守的注意事项及常见问题的处理方法,以避免人身伤害或机器损坏。下面介绍一些调试一般过程及存在的问题。
一、软件要求
为了使用所有CPU的功能,对于CPU31×C、312、314、315-2DP,使用STEP7 V5.1以上版+SP4;对于所有其他CPU,使用STEP7 V5.X以上版。本文就STEP7 V5.4+SP5版本进行分析探讨。
调试的前提条件:已安装S7-300系统;已接线S7-300系统;对于组网S7-300系统已组态MPI/PROFIBUS地址,网段都是用端接电阻端接。
二、调试步骤
(一)硬件组态中模板组态错误
根据要求进行安装和布线检查,调试时断开驱动装置和控制元件的连接,这可防止对系统的不利影响,避免程序错误。调试CPU和电源,检查LED显示。硬件诊断及组态中可能出现的问题:在SIMATIC管理器中可以用PLC-Diagnose Hardware来获得PLC的诊断状态。在实际组态过程中最可能出现的问题是以下几点。
1.在S7-300中,组态中有空位置,此时组态不能编译通过;
2.不正确的CPU(例如:是CPU 315-2DP,不是CPU 314)此时组态不能下载。
3.模拟量模块分配到不正确的槽位置,此时CPU会因为参数分配错误进入STOP模式。
4.模拟量模块不正确的测量范围,导致模拟量模块组态错误。
(二)软件部分地址组态错误
打开编程器启动SIMATIC Managar下载组态和程序至CPU,测试I/O,调试PROFIBUS-DP和其他网络,连接输出。如果硬件组态中配置的MPI或PROFIBUS的地址与CPU的节点地址不一致,用户可能会看到如下的错误信息:
Download(33:16656)
“Online:Connection could not beestablished.The connection partner is not responding.”
解决方法:此时就需要检查硬件组态中的地址信息,如组态信息中显示“MPI=2”,则说明在硬件组态中CPU的MPI地址也需设置为2,否则PG在与PLC在线连接时会出现错误而导致无法建立连接。
(三)设置PG/PC接口
在SIMATIC管理器中,执行菜单命令“选项”→“设置PG/PC接口”,用出现的对话框(见图)中间的选择框选中所要使用的接口方式。点击“确定”按钮,出现“访问路径已更改”的对话框。点击“确定”按钮,退出“设置PG/PC接口”对话框后,所选接口协议才会生效,才可以进行程序的下载、调试。
(四)处理错误的程序措施
当CPU检测到程序处理中的错误(同步错误)以及可编程控制器中的错误(异步错误)时,就调用处理错误的相应组织块(OB):
■
如果没有合适的OB可供使用,那么CPU进入停止模式。否则,可以在OB中存储如何响应错误情况的指令。这表示可以减少或消除错误影响。
基本步骤:
创建并打开OB
1.显示CPU的模块信息。
2.选择“性能数据”标签。
3.根据所显示的列表,确定是否允許CPU使用要编程的OB。
4.在程序的“块”文件夹中插入OB,然后打开OB。
5.进入进行错误处理的程序。
6.将OB下载到可编程控制器。
(五)PROFIBUS故障处理中断组织块的使用
出现硬件和网络故障时,如果没有生成和下载对应的组织块,CPU将切换到STOP状态。
为了防止网络通信的故障造成CPU和整个PROFIBUS主站系统停机,S7-300应生成和下载OB82、OB86和OB122。采取了上述措施后,即使没有在这些OB中编写任何程序,出现上述故障时,CPU也不会进入STOP模式。
需要注意的是,生成上述OB后,CPU虽然不会进入STOP模式,但是可能不易察觉这些危险状态,它们会被忽视。为了解决这一问题,在故障OB中,应编写记录、处理和显示故障的程序,例如记录中断的次数,保存OB的局部变量,调用读取诊断数据的SFC13等。以便在出现故障时,迅速查明故障的原因和采取相应的措施。
通过中断组织块的局部变量提供的信息,可以获得故障的原因、出现故障的模块地址、模块的类型(输入模块或输出模块)、是故障出现还是故障消失等信息。CPU的模块信息对话框中需要为诊断缓存区保留着CPU请求调用组织块的消息。
(六)确定停止原因的基本步骤
要确定CPU为何进入“停止”模式,可进行如下操作:
1.选择已进入停止模式的CPU。
2.选择菜单命令PLC>诊断/设置>模块信息。
3.选择“诊断缓冲区”标签。
4.可以从诊断缓冲区的最后一个条目确定停止原因。
如果发生编程错误:
1.例如,条目“由于没有加载编程错误OB而停止”表示CPU检测到一个程序错误,然后尝试启动(不存在的)OB来处理编程错误。前一个条目指代实际的编程错误。
2.选择与编程错误有关的消息。
3.点击“打开块”按钮。
4.选择“栈”标签。
3.结束语。
西门子编程器与PLC在线连接的问题不止文中的这些情况,由于调试阶段主要取决于具体应用且本人水平及精力有限,本文只提供一些一般信息并不代表全部,暂到这里,希望能给一些刚接触PLC,特别是SIEMENS PLC的朋友有些帮助。
参考文献:
[1]张发宝.科技致富向导.山东省科学技术协会,2010(29).
[2]廖常初.S7-300/400PLC应用技术.机械工业出版社,2011-12.
(作者单位 太原锅炉集团自控设备厂)
编辑 曾彦慧