
PLC系统调试PPT课件.ppt
53页调试专题调试专题 STEP 7STEP 7提供可视化的调试功能运用恰提供可视化的调试功能运用恰当的调试方法会事半功倍调试方法主要有当的调试方法会事半功倍调试方法主要有4 4个方面:个方面:1 1、可视化的硬件检查;、可视化的硬件检查;2 2、硬件调试方法;、硬件调试方法;3 3、软件调试方法;、软件调试方法;4 4、仿真、仿真PLCPLC的使用调试专题调试专题可视化的硬件检查可视化的硬件检查 硬件模块的面板上都有指示灯,它直观显硬件模块的面板上都有指示灯,它直观显示出模块当前的状态及其他基本的诊断信息示出模块当前的状态及其他基本的诊断信息结合结合 “ 监视监视/ /修改变量修改变量” 工具就可以调试硬工具就可以调试硬件CPU上主要指示灯有:(1) SF(红色):程序错误时亮,或带有诊断功能的模块错误时亮例如,算术运算或定时器出错,外部输入/输出的故障或错误等2) BF(红色):网络组态时总线错误指示灯亮,集成有DP接口的CPU才会有这个LED灯3) DC 5V(绿色):指示5V直流电压状态4) FRCE(黄色):有变量被强制时亮。
(5) RUN(绿色):CPU处于运行状态时灯亮当重新启动CPU时,它以2Hz的频率闪亮;当CPU处于HOLD状态时,它以的频率闪亮6) STOP(黄色):CPU处于停机状态、HOLD状态或重新启动时常亮;请求存储器复位时以的频率闪亮;正在执行存储器复位时以2Hz的频率闪亮 (7) BATF(黄色): C电池未装入或失效时灯亮某些型号的CPU上有此LED灯,例如CPU313和CPU314上 硬件调试方法硬件调试方法 硬件调试方法主要是针对下载不能正常进硬件调试方法主要是针对下载不能正常进行、行、CPUCPU停机故障的检测或者是输入输出信号停机故障的检测或者是输入输出信号的监控和修改等内容的监控和修改等内容v下载组态的调试下载组态的调试 (1)检查是否有物理连接以及这个物理连接是否可靠2)检查“设置PG/PC接口…”,根据使用的物理连接选择合适的接口协议图示错误在网络组态的下载中经常出现,所以下载时设置必须正确! (3)地址可能不一致比如PLC中实际的MPI地址是3,而硬件组态时MPI地址为2,二者不一致,则不能建立连接(1)下载过程中,在如图所示的“选择节点地址”对话框中,点击“视图”按钮(注意:视图按钮点击后成为升级按钮),“可访问节点”项中显示出当前与编程设备连接的PLC及其MPI地址为3,单击这个PLC,使得“MPI地址”项中的PLC地址由2变为3,这样PLC的实际MPI地址就变为新设置的2了,组态下载正确!(2)若此时还存在如上所述的第一和第二种错误,则在点击“视图”按钮后,“可访问节点”项中显示为空,表示没有直接与编程设备连接的PLC。
则检查并修正相关错误v建立连接建立连接 具体方法如下:使用菜单命令具体方法如下:使用菜单命令“PLC/显示显示可访问的节点可访问的节点”或单击工具栏中或单击工具栏中 按钮,打按钮,打开开“可访问节点可访问节点――MPI”窗口窗口 v诊断符号诊断符号在在SIMATIC SIMATIC 管理器中,管理器中,执行执行菜单菜单“PLC/PLC/诊断设诊断设置置/ /硬件诊断硬件诊断”常用的诊断符号及其意义如下:(1) 当前组态与实际组态不匹配:被组态的模板不存在,或者插入了不同类型的模板2) 故障:模板出现故障可能的原因包括诊断中断、I/O 访问错误或检查到故障LED亮(3) 无法诊断:可能无连接或该CPU不支持模板诊断信息4) 停机(STOP):故障引起的停机,或CPU面板的模式开关拨至STOP位置5) 运行(RUN)6) 保持(HOLD):一般处在单步与断点调试时7) 强制与运行:表示在该模板上有变量被强制,即在模板的用户程序中有变量被赋予一个固定值,该数据值不能被程序改变 v诊断符号利用诊断符号利用“模块信息模块信息” 工具工具((1 1)在)在SIMATICSIMATIC管理器,可以单击工具栏管理器,可以单击工具栏中按钮,然后选择的中按钮,然后选择的 MPI=x (x MPI=x (x 是所是所连接连接CPUCPU的的MPIMPI地址地址) ),接着选择菜单,接着选择菜单“PLC PLC / /模块信息模块信息”。
2 2)选中)选中S7S7项目后可以进入项目后可以进入“PLC /PLC /模块模块信息信息 ”菜单上电后,上电后,CPUCPU自动检查实际的硬件与组态的硬件自动检查实际的硬件与组态的硬件是否一致或参数设置是否正确例如:是否一致或参数设置是否正确例如:CPUCPU停机停机后单击工具栏中后单击工具栏中 按钮,在硬件组态窗口中显按钮,在硬件组态窗口中显示的示的CPUCPU的自诊断信息的自诊断信息菜单菜单 “PLC/PLC/诊断设置诊断设置/ / 硬件诊断硬件诊断”,打开,打开“硬件诊断硬件诊断- -快速查看窗口快速查看窗口) )对话框如图对话框如图所示单击图中的单击图中的 “模块信息模块信息”按钮,打开有错误模按钮,打开有错误模块的详细错误信息块的详细错误信息“模块信息模块信息”对话框如图所对话框如图所示,明显看出示,明显看出CPUCPU的订货号与实际不符的订货号与实际不符v离线离线/程序块的比较程序块的比较通过菜单通过菜单“选项选项/ /比较块比较块”比较离线的块与在比较离线的块与的块是否相同,如图所示,在弹出的对话框线的块是否相同,如图所示,在弹出的对话框中选择中选择/ /离线,并单击比较按钮进行比较,离线,并单击比较按钮进行比较,弹出离线的块与的块的比较信息。
弹出离线的块与的块的比较信息 v硬件组态窗口中信号的检测与修改硬件组态窗口中信号的检测与修改1、输入/输出点的模块诊断,在硬件组态窗口中选中该模块,并单击右键选择“监视/修改”或执行菜单命令“PLC/监视/修改”打开如图所示“监视/修改”对话框,选中“监视”,此时观察到模块当前的输入输出状态2、对于输出点,除了检测点状态以外,还可以根据实际需求进行修改,在“修改数值”列中输入将要修改的数值并点击“修改值”按钮即可这个功能可以检测与输出点连接的执行器动作是否正常注意:在修改前必须确认这种操作不会引起危险 下载组态的调试以及建立连接这两下载组态的调试以及建立连接这两种方法为下载出现错误时的通讯检查;诊断种方法为下载出现错误时的通讯检查;诊断符号、模块信息工具以及离线符号、模块信息工具以及离线/ /程序块的程序块的比较为状态下检查比较为状态下检查CPUCPU的停机故障原因;的停机故障原因;而硬件组态窗中的信号检测与修改为输入输而硬件组态窗中的信号检测与修改为输入输出模块的监控和修改,这种方式可以在不打出模块的监控和修改,这种方式可以在不打开程序的情况下,直接对变量进行监控和修开程序的情况下,直接对变量进行监控和修改。
改小结小结软件调试方法软件调试方法 软件调试方法主要是利用变量表和参软件调试方法主要是利用变量表和参考数据表对大型程序进行调试,利用程序状考数据表对大型程序进行调试,利用程序状态对程序的运行及变量进行监控,而诊断缓态对程序的运行及变量进行监控,而诊断缓冲区的信息同样对调试中出现的问题很有帮冲区的信息同样对调试中出现的问题很有帮助v利用程序状态调试利用程序状态调试 在程序编辑器窗口中,单击工具栏中 按钮,进入程序的监视状态 v利用变量表调试利用变量表调试利用变量表进行调试程序时,功能如下:利用变量表进行调试程序时,功能如下:((1 1)监视变量:可以在编程设备上显示用户)监视变量:可以在编程设备上显示用户程序或程序或CPUCPU中每个变量的当前值;中每个变量的当前值;((2 2)修改变量:可以将固定值赋给用户程序)修改变量:可以将固定值赋给用户程序或或CPUCPU中的每个变量,使用程序状态测试功能中的每个变量,使用程序状态测试功能时也能立即进行一次数值修改时也能立即进行一次数值修改3 3)使用外设输出并激活修改值:允许在停)使用外设输出并激活修改值:允许在停机状态下将固定值赋给机状态下将固定值赋给CPU CPU 中的每个中的每个I/OI/O。
4 4)强制变量:可以为用户程序或)强制变量:可以为用户程序或CPUCPU中的中的每个变量赋予一个固定值,这个值是不能被每个变量赋予一个固定值,这个值是不能被用户程序覆盖的用户程序覆盖的注意:变量表并不下载到注意:变量表并不下载到PLC中!中! 监视变量监视变量 按钮,我们常称为按钮,我们常称为“带眼镜带眼镜”,启动变量监,启动变量监视功能这时在状态值栏中显示出视功能这时在状态值栏中显示出CPUCPU运行中运行中变量的值变量的值修改变量修改变量 按钮激活修改功能,将修改值立即送入按钮激活修改功能,将修改值立即送入CPUCPU,从而改变程序的执行从而改变程序的执行 按钮对所选变量的修改数据作一次立即刷新按钮对所选变量的修改数据作一次立即刷新按钮,可以使该变量的修改值暂时失效按钮,可以使该变量的修改值暂时失效 修改变量主要针对与程序有关的修改变量主要针对与程序有关的M M区变量和区变量和DBDB区变量(作为触点)的改变区变量(作为触点)的改变1) 1) 因为在因为在RUNRUN(或(或RUN-PRUN-P)模式下,如果数字量)模式下,如果数字量输出变量受到程序的控制输出为输出变量受到程序的控制输出为0 0,用户则不能,用户则不能随意改变程序运行的结果,那么就不能在变量表随意改变程序运行的结果,那么就不能在变量表中将其修改为中将其修改为1 1。
2 2)在)在RUNRUN(或(或RUN-PRUN-P)模式下同样也不能改变数)模式下同样也不能改变数字量输入(字量输入(I I 映像区)的状态,因为它们的状态映像区)的状态,因为它们的状态取决于外部电路的通取决于外部电路的通/ /断在在STOPSTOP模式下,因为没有执行程序,各变量的状模式下,因为没有执行程序,各变量的状态是独立的,所以修改变量不受限制态是独立的,所以修改变量不受限制I I、、Q Q和和M M区的数字量变量都可以任意设置为区的数字量变量都可以任意设置为1 1状态或状态或0 0状态,状态,并且可以保持,相当于对它们置位或复位这个并且可以保持,相当于对它们置位或复位这个特殊功能常用来测试数字量输出点的硬件功能是特殊功能常用来测试数字量输出点的硬件功能是否正常注意注意强制变量强制变量 执行强制变量命令可以给用户程序的变量赋一执行强制变量命令可以给用户程序的变量赋一个固定值,它独立于程序的运行,不会被个固定值,它独立于程序的运行,不会被CPU CPU 中正中正在执行的用户程序改变或覆盖在执行的用户程序改变或覆盖强制变量的优点在于可以在不改变程序代码,同时强制变量的优点在于可以在不改变程序代码,同时也不改变硬件连线的情况下,强行改变输入和输出也不改变硬件连线的情况下,强行改变输入和输出的状态。
所以,用户可以通过程序设置特定的值,的状态所以,用户可以通过程序设置特定的值,对已编程的功能进行测试当然实现这一功能的前对已编程的功能进行测试当然实现这一功能的前提是提是CPUCPU支持该功能支持该功能 执行菜单命令“变量 /显示强制值”后,强制数值窗口处于激活状态然后在强制变量窗口如图所示的“强制数值”列中,输入强制的数值,执行菜单命令“变量/强制”进行变量的强制,此时激活的强制变量(以红色的F标记)和它们的强制值就都显示在窗口中了而停止激活必须执行菜单命令“变量 /停止强制”来取消强制 记录错误信息的区域称为诊断缓冲区记录错误信息的区域称为诊断缓冲区诊诊断缓冲区是存放在断缓冲区是存放在CPUCPU中的一个先进先出区域,中的一个先进先出区域,它由后备电池来保持,对存储器的复位也不能它由后备电池来保持,对存储器的复位也不能清除该缓冲区的内容清除该缓冲区的内容v利用利用“诊断缓冲区诊断缓冲区”调试调试诊断缓冲区的访问:诊断缓冲区的访问:((1 1)诊断缓冲区是)诊断缓冲区是“模块信息模块信息”工具的一部工具的一部分可以通过分可以通过SIMATIC SIMATIC 管理器的菜单管理器的菜单“PLC/PLC/诊断设置诊断设置 / /模块信息模块信息/ /诊断缓冲区诊断缓冲区”进行访问;进行访问;((2 2)从程序编辑器的菜单)从程序编辑器的菜单“PLC /PLC /模块信息模块信息/ /诊断缓冲区诊断缓冲区”也可以进行访问。
也可以进行访问 利用利用CPU的诊断功能,可以识别的诊断功能,可以识别CPU或或模块中的系统错误和模块中的系统错误和CPU中的程序错误中的程序错误FC模块的程序没有调用,则显示如下画面:模块的程序没有调用,则显示如下画面:总结总结不同的故障应采用不同的手段予以排除:不同的故障应采用不同的手段予以排除:(1)(1)导导致致CPUCPU停停机机的的故故障障,,应应使使用用“Module Module InformationInformation” 工具2)(2) 逻逻辑辑错错误误,,即即程程序序可可执执行行但但功功能能不不能能实实现,应使用变量表和程序状态工具现,应使用变量表和程序状态工具3)(3) 偶偶尔尔出出现现的的故故障障,,即即只只在在特特定定的的系系统统状状态态下下才才出出现现的的故故障障,,它它可可能能导导致致停停机机或或逻逻辑辑错误可采用错误可采用“CPU MessagesCPU Messages”工具v参考数据参考数据 对于排除逻辑错误对于排除逻辑错误,,程序状态和参考数据程序状态和参考数据是两个非常有力的工具是两个非常有力的工具 参考数据非常直观,可以让用户对程序的参考数据非常直观,可以让用户对程序的调用结构、资源占用情况等一目了然。
利用参调用结构、资源占用情况等一目了然利用参考数据,用户调试和修改程序会更加方便尤考数据,用户调试和修改程序会更加方便尤其是针对大型程序,多人合作的情况其是针对大型程序,多人合作的情况显示参考数据的方法:显示参考数据的方法:((1 1)从)从SIMATICSIMATIC管理器中显示:选择管理器中显示:选择“块块”文件夹,选择菜单命令文件夹,选择菜单命令“选项选项/ /参考数据参考数据/ /显示显示”2 2)从编程语言编辑器窗口显示:选择菜)从编程语言编辑器窗口显示:选择菜单命令单命令“选项选项/ /参考数据参考数据/ /显示显示” 交叉参考表给出了用户程序中所用地址的概交叉参考表给出了用户程序中所用地址的概述,如图所示利用交叉参考列表,可以得到述,如图所示利用交叉参考列表,可以得到输入(输入(I)、输出()、输出(Q)、位存储()、位存储(M),定时),定时器(器(T)、计数器()、计数器(C)、功能块()、功能块(FB)、功)、功能(能(FC)、系统功能块()、系统功能块(SFB)、系统功能)、系统功能((SFC)、)、PI/ PO和数据块(和数据块(DB)这些存储)这些存储区域中被用户程序使用的地址列表,详细显示区域中被用户程序使用的地址列表,详细显示了绝对地址和符号地址及使用情况。
了绝对地址和符号地址及使用情况交叉参考表交叉参考表赋值表赋值表 赋值表显示在用户程序中已经赋值的地址,赋值表显示在用户程序中已经赋值的地址,使用户能概括地了解输入(使用户能概括地了解输入(I),输出(),输出(Q)、)、位存储(位存储(M)、定时器()、定时器(T)和计数器()和计数器(C))中字节的某一位的使用情况中字节的某一位的使用情况 程序结构显示了在用户程序中程序块的分层调用结构程序结构显示了在用户程序中程序块的分层调用结构可以对程序中所用的块、它们之间的从属关系以及它可以对程序中所用的块、它们之间的从属关系以及它们对局域数据的需求有一个概括性的了解们对局域数据的需求有一个概括性的了解显示已经在符号表中定义,却未在用户程序的任何一显示已经在符号表中定义,却未在用户程序的任何一部分中使用的符号表中的每一行由符号、地址、数部分中使用的符号表中的每一行由符号、地址、数据类型和注释组成据类型和注释组成显示显示S7用户程序中已经使用、却未在符号表中定义的用户程序中已经使用、却未在符号表中定义的地址的列表地址的列表程序结构程序结构未使用的符号未使用的符号不带符号的地址不带符号的地址v结构化程序的调试结构化程序的调试(1)(1) 第一步通过下装启动组织块第一步通过下装启动组织块((OB100OB100~~OB102OB102))来测试启动特性。
来测试启动特性2)(2) 从嵌套最深的块(例如:从嵌套最深的块(例如:FB4FB4))开开始调试需要下装始调试需要下装FB4FB4,,并且在并且在OB1OB1中插入中插入一个块调用指令(一个块调用指令(CALL FB4CALL FB4))并下载并下载OB1OB1,,再一步一步地测试循环程序再一步一步地测试循环程序(3)(3) 之后,可以调试功能块,它包括之后,可以调试功能块,它包括一组块(一组块(FC3FC3、、FC2FC2和和FC1FC1)为此,在为此,在OB1OB1中插入一个带有中插入一个带有BEUBEU指令的段当所指令的段当所有的程序都被调用后,再删除这个段有的程序都被调用后,再删除这个段4 4)根据程序的结构,用于中断处理的)根据程序的结构,用于中断处理的程序在最后测试(如果该中断程序不影程序在最后测试(如果该中断程序不影响程序的循环执行),或在循环程序的响程序的循环执行),或在循环程序的测试过程中调试测试过程中调试S7-PLCSIM的应用的应用 1 1)打开)打开S7-PLCSIM S7-PLCSIM ;;2 2)插入)插入“View ObjectView Object”(视图对象);(视图对象);3 3)下载项目到)下载项目到S7-PLCSIM S7-PLCSIM ;;4 4)选择)选择CPUCPU运行的方式;运行的方式;5 5)调试程序)调试程序 ;;6 6)保存文件)保存文件 。
(1)(1) 在在S7-PLCSIMS7-PLCSIM中可人为地触发中断主要包括中可人为地触发中断主要包括OB40OB40~~OB47OB47(硬件中断),(硬件中断),OB70OB70((I/OI/O冗余错误),冗余错误),OB72OB72((CPUCPU冗冗余错误),余错误),OB73OB73(通信冗余错误),(通信冗余错误),OB82OB82(诊断中断)以(诊断中断)以及及OB83OB83(插入(插入/ /移除模块)等但不支持功能模块移除模块)等但不支持功能模块FMFM2)(2) 可以选择让定时器自动运行或者人为地进行可以选择让定时器自动运行或者人为地进行置位置位/ /复位我们可以针对各个定时器单独复位,也可以复位我们可以针对各个定时器单独复位,也可以同时复位所有定时器同时复位所有定时器3)(3) 可以把仿真可以把仿真CPUCPU当作真实的当作真实的CPUCPU那样改变它的运行模式那样改变它的运行模式((STOP/RUN/RUN-PSTOP/RUN/RUN-P)此外S7-PLCSIMS7-PLCSIM提供提供“暂停暂停”功能,功能,允许暂时把允许暂时把CPUCPU挂起而不影响程序的状态输出。
挂起而不影响程序的状态输出仿真仿真PLCPLC特有的功能特有的功能 ((4 4)) 可以记录一系列事件(复制输入输出存储区,可以记录一系列事件(复制输入输出存储区,位存储区,定时器,计数器),并能重放记录,实位存储区,定时器,计数器),并能重放记录,实现程序测试的自动化现程序测试的自动化5 5)) 可以选择单次扫描或连续扫描可以选择单次扫描或连续扫描 调试方法用恰当,可以事半功倍!!调试方法用恰当,可以事半功倍!!。
