(已结束)工控PLC擂台第15期--PLC通讯调试。 点击:1990 | 回复:18



云锋

    
  • 精华:1帖
  • 求助:4帖
  • 帖子:252帖 | 5541回
  • 年度积分:0
  • 历史总积分:30376
  • 注册:2005年6月24日
发表于:2010-12-10 20:32:54
楼主

结合个人经历,谈谈在PLC调试、维护过程中所遇到的通讯“软”“硬”故障,以及查找故障和解决故障的方法。

所调试的PLC品牌和通讯方式不限。

工控PLC擂台每周一期,本期下周末结贴。奖项设置:一等奖1名:50MP,二等奖5名:10MP,三等奖10名:30积分。

MP介绍:gongkongMP即工控币,是中国工控网的用户积分与回馈系统的一个网络虚拟计价单位,类似于大家熟悉的QB,1个MP=1元人民币。

MP有什么用?兑换服务:以1个MP=1元来置换中国工控网的相关服务。 兑换现金:非积分获得的MP可兑换等值现金(满100MP后、用户可通过用户管理后台申请兑换)。




浅醉闲眠

  • [版主]
  • 精华:3帖
  • 求助:3帖
  • 帖子:219帖 | 13148回
  • 年度积分:152
  • 历史总积分:116149
  • 注册:2002年6月21日
发表于:2010-12-10 21:22:15
1楼
这个题目好!首席支持。                                                   

ye_w

  • 精华:21帖
  • 求助:1帖
  • 帖子:69帖 | 5217回
  • 年度积分:0
  • 历史总积分:46739
  • 注册:2002年4月17日
发表于:2010-12-10 21:35:33
2楼

        这里所说的硬,是否就是网络拓扑上的物理性故障?而软是否是指程序功能块的调用、网络组态、通信设置上的问题呢?

 

        网络故障最容易出现就是物理上就出了问题,也就是线路上和网络接头就出现了接错线,接触不良、虚焊,没有激活终端电阻,没有激活上、下拉电阻等。

        接错线,没得话说,仔细分析图纸是否有错,看错?管脚图只是正确?图纸是否是最新版本的图纸?硬件与图纸的版本是否一致?这些问题,没有捷径,重新仔细看。

        接触不良和虚焊,同样只能想法子好好检查,通过检查网络接头接线、换线等方法检查。

        终端电阻在网络的终端?如果是,是不是没有激活?或者本来不是终端的节点,但又激活了终端电阻。至于上下拉电阻没有激活,往往就是网络不稳定,可以通过示波器查看信号波形是否正常,是否有明显畸变。

 

         其实网络上的问题,不管是哪方面,都需要有合适的工具。大的硬件自然是示波器。小的硬件包括万用表、串口适配器(包括232转485、USB转485/422)。对了,小硬件还应该包括一些电阻,比如常用的就是120欧姆电阻。

        工具不仅仅是硬件方面的,软件工具也是一样,常用的自然有串口调试助手、modbus调试软件、串口监听工具、TCP/UDP调试工具和监听工具等,这些工具如何使用,大家可以到网络上百度谷歌一把,也可查看鄙人发布的一些帖子。

 

 

        工具自然重要,但会观察和会查看资料也相当重要。PLC以及适配器都有状态灯,通过状态灯虽然不能解决问题,但常常能提醒自己。比如最近有个232转485的适配器上就有3个LED灯。电源指示灯、RX指示灯,TX指示灯。这三个灯的含义不用我多说。哪个灯不亮或不闪烁,或亮或闪烁,都有明确的含义,一旦发现有不正常现象,自然可以给调试工作给予提示。至于会查资料,也就是说开卷有益,我想大家都喜欢搜集资料,资料越多,相对看的就少,全部看完有困难,但浏览一下目录还是可以的,可以通过浏览目录之后就基本了解资料的用途,然后写一点读书笔记,等实际需要用的时候就可以尽快查到所需的。

 

      通信设置也如同物理问题一样。现在电脑没有串口,通过USB虚拟出来的串口往往都不是COM1,自然在通信设置需要修改。

 

      至于网络组态上,也有不少差异造成的问题。

一、比如西门子的硬件组态中,不同的DP主站对应的从站位置目录就不同,这也是很多入门新手不明白的问题。给大家稍微分析一下:

1、DP主站是...
• ...带有集成的PROFIBUS-DP接口的 SIMATIC 300或 SIMATIC 400 CPU、SIMATIC 300/400中的 PROFIBUS CP (不带CP 342-5DA00)或带有PROFIBUS CP的 SIMATIC PC站(不带有 CP 5611/CP 5613)       DP从站在它们的“系列名称”(如 PROFIBUS-DP\ET 200B)下显示。
• ...一个带有 PROFIBUS-DP接口的CP 342-5DA00或一个带有CP 5611/CP5613的 SIMATIC PC站:  DP从站出现在“DP V0从站”文件夹下,然后也位于系列名称中
(例如,PROFIBUS DP\DP V0从站\ET 200B)。
“DP V0从站”包含了由它们的 GSD文件或类型文件代表的DP从站(参考“标准从站”)。
由系列名称指定的、且直接位于 PROFIBUS DP中的文件夹(例如,PROFIBUSDP\ET 200B)通常包含 DP从站,其属性由内部 STEP 7信息表示(称为“S7从站”)。

 

2、DP从站单独购买(与新的*.GSD文件一起)
安装了*.GSD文件之后,DP从站将出现在“其它的现场设备”之下。


3、DP从站是智能 DP从站
实例:可以将以下各项组态为 DP从站:
• CP 342-5 DP • CPU 315-2 DP、CPU 316-2 DP、CPU 318-2 DP
• 基本子模块 ET 200X (BM 147/CPU)
• IM 151/CPU (ET 200S)
组态了站之后,DP从站将出现在“已组态的站”文件夹中。

 

 

二、ABB PLC网络组态问题

1、ABB的网络组态2.0以前的版本都是在SYCON中组态。如果有多个通讯模块,尤其是多个同样类型的通讯模板时,在下载配置时必须选择具体的通讯模块。比如最近使用2个CANopen模块时就不小心选错了模块,下载的配置文件错位了,结果自然是通讯不上;

2、ABB的网络组态后的配置文件都需要重新选择网关配置,然后再指定对应的设备。包括最近使用以太网+2个CANopen模块时,都需要重复选择网关和指定设备,否则就出现通讯失败,连不上实际的PLC模块。

 

 

最后还来谈谈编程方面的问题。

其实这个问题就要涉及到前面的工具呢。有些功能块可能难以理解,所以经常出现通信错误、设备无响应等等故障。这方面自然是通信报文与实际不相符,如何才能诊断出报文的问题,自然就是工具的合理使用。

彩云之滇东北

  • 精华:20帖
  • 求助:5帖
  • 帖子:107帖 | 2725回
  • 年度积分:0
  • 历史总积分:21121
  • 注册:2005年6月14日
发表于:2010-12-10 21:39:08
3楼

在s7-300调试和维护过程中,我曾碰见过以下问题:

1、DP网络接线错误,不是按照一进一出一一对应的原则进行;

2、不小心人为的把终端电阻打在ON上,导致后续网络不通;

3、通讯参数设置错误,如PP7 DP 网络设置成MPI网络;

4、变频器参数设置错误,如DANFOSS的904:PPO3设置成其他的参数;

5、一设备网络不稳定,总是一会儿正常,一会儿又不正常,后检查了所有网线,还是不能正常工作,后增加了一个网络中继器后正常。

6、还有一些感觉莫名奇妙的的问题,但经过检查发现都是接触不好,网线没有处理好,导致铜线断火压着胶皮了;

7、还有一次在调试时,碰着两个倍福PLC网卡的MAC地址相同,导致两台PLC一台连上以太网后另一台无论如何都连不上以太网络,后经过两天查找,才发现中五百万概率的两个MAC地址重复,而且又用在同一个项目中,导致网络不稳定的情况。

ahljj

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 806回
  • 年度积分:0
  • 历史总积分:3791
  • 注册:2002年10月03日
发表于:2010-12-11 15:29:13
4楼

这个题目好,支持一下.......

扁舟一叶

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 145回
  • 年度积分:0
  • 历史总积分:1139
  • 注册:2010年11月15日
发表于:2010-12-11 20:49:50
5楼
题目很好啊!学习了啊!

wyb2866255

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2010-12-13 13:00:18
6楼

楼主:看了一下网友的回帖,我有一个不成熟的看法:      

 1、通过近4个月在网上观察,我觉得绝大多数网友是各工厂生产设备的PLC编程者或维修者及PLC的初学者,它们很少接触系统的PLC通讯。而PLC通讯故障,又以硬件故障为多,这对这些网友来讲,不懂又看不明白,自然就不会参与。

       2、PLC通讯是个即难又不难的问题,对不懂通讯的很难,对懂得通讯的又显得很简单。因为PLC通讯协议是由PLC生产厂家事先已设计好的,对于我们编程者来说只要拿来用就可以了,只要通讯协议选得正确,电缆及终端电阻等设计合理选择合理,现场安装仔细无误,一般来讲是不会有问题的。出问题都是由编程者或安装者工作失误经验不足造成的。以我为例,虽然从事PLC编程已有30来年,但由于所处单位的限制,遇不到系统的通讯设计,所搞的设备,到各大钢厂仅是车间设备中的一员,钢厂通讯的设计都是由设计院完成的,我们是按人家规定的通讯模式及通讯地址编程的,编程很简单,硬件组态将通讯连上,再在发射与接受功能块上填写地址与数据就完事了。以目前我国的管理水平及操作者的素质,用PLC通讯做系统管理还不成熟,我搞过的几个项目,生产后不长时间,通讯管理都不用了。

       3、我上个月设计一套自动化探伤设备遇到这样一个问题:用户要求测钢管重量,电子秤由用户提供,此秤不是名牌厂家生产,与组态王没有通讯协议,只有串口通讯协议,为此,PLC增加CP340模块,用CP340与电子秤通讯,PLC接受的是ASII码,由于S3-300PLC没有ASCII码转换为BCD码的指令,自已编出该转换程序,将电子秤传来的ASCII码变成BCD码。组态王的数据词典里有BCD码变量的数据形式,我选用了它 ,但实际运行时发现组态王接受的数据显示不对,仔细分析知道:组态王不认BCD码,仍以为整数形式,将此数又进行一次I_B转换,造成显示错误。为此,在PLC编程中,将转换后的BCD码,先进行一次B_I 转换,再送给组态王,就好使了。

      4、我认为工控PLC擂台,应以PLC编程为主,提出课题如何用PLC编程实现,从中可见编程的构思与编程的技巧,而且广大网友都可参与,对提高网友的技术水平是大有好处的。提点不成熟的建议,仅供参考。谢谢

 

林 森

  • 精华:16帖
  • 求助:0帖
  • 帖子:678帖 | 8694回
  • 年度积分:0
  • 历史总积分:57901
  • 注册:2010年6月30日
发表于:2010-12-13 19:33:50
7楼

1、问题描述

       CJ1M使用无协议方式向2台CPM2A发送HOST LINK命令,同时将反馈信息存储在PLC内的WR区。用户已编好通讯程序,但出现接受数据跳变的现象。要求修改用户的程序,用于消除接受数据跳变的现象。

2、原因分析

       用户原通讯程序如下

      首先改用户使用移位指令,将WR1的内部16个位进行轮流置ON,将轮询的时间设为0.02s,以此控制6条TXD和RXD指令。使主站CJ1M轮流向2个从站CPM2A发送读或写的HOST LINK命令。 
     其无协议通讯程序如下

                             
      共6组与之类似的发送和接受命令
      该用户程序内还包括其它的通讯格式转换程序。
      经分析后发现,用户程序的跳变的原因,可能有2个:
      1.如上面梯形图所示,在6条TXD和RXD轮流发送时所使用的触发位的时间间隔是0.02S,速度太快,所以导致RXD接受到的是前一条TXD所发出命令的响应。故将发送脉冲的频率降为0.1S脉冲。 
      2.首先,分析一下AR39205和AR39206这2个标志位的作用。
AR39205的作用:该标志位在PLC上电时自动为ON,也就是在PLC的RS232C端口在无协议方式下,不发送数据时ON。一旦PLC的RS232口开始发送数据,则AR39205从ON变为OFF,TXD指令开始执行。在PLC的RS232口发送完数据时,AR39205由OFF重新变为ON。
       AR39206的作用:该标志位在PLC上电时自动为OFF,外部数据发送到PLC的串口缓冲区内,根据用户在无协议方式下的设定条件,来变为ON。在本试验中,用户在无协议方式下设定为:结束码:0D。也就是,当PLC的串口缓冲区收到0D这个结束码时,AR39206由OFF变为ON。当RXD指令执行时,将缓冲区的内容写入PLC的接受区,此时AR39206重新由ON变为OFF。

3.根据下面程序,可用时序的方法加以分析
                    
        
       (1).W1.00变为ON是20ms,而TXD发送一次数据的时间可能只有几个ms,因此AR39205在这段时间内发生了好几次跳变,则TXD指令执行了好几次,发送了好几次数据,对应的反馈数据也接受了好几次,造成RXD指令接受了多次的反馈数据。
       (2).从W1.00为OFF到W1.02为ON的瞬间,此时AR39206还为ON,因此下一个RXD接受到了前一个TXD发送后反馈回来的数据,而在下一个扫描周期,RXD收到了与之对应的TXD的反馈数据。2组数据交替,因此产生数据跳变。
 
4.调试结果
       用户在程序中发送TXD指令时,前面加了标志位AR39205。而AR39205的作用是一旦TXD发送完以后,就自动由OFF变为ON.则在启动位为ON的20ms以内,TXD指令实际上已发送了多次,导致下一个启动位的RXD指令接受到的是前一个TXD多次发送的值,所以出现数据跳变。因此将程序中所有的TXD前所串的AR39205标志位都删除。
       调试结果:将用户程序修改后,传人PLC中,通讯一切正常。RXD接受到的2个节点的反馈数据没有跳变,可实现PLC间的正常通讯。

woyaokong

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 61回
  • 年度积分:0
  • 历史总积分:610
  • 注册:2010年5月26日
发表于:2010-12-13 21:43:18
8楼

学习了,我海没遇到这样的问题!

winter938

  • 精华:1帖
  • 求助:0帖
  • 帖子:55帖 | 945回
  • 年度积分:0
  • 历史总积分:3418
  • 注册:2005年6月12日
发表于:2010-12-14 20:42:25
9楼

所以要对通讯相关的标志寄存器动作进行理解和测试,可以编小程序用串口调试软件进行测试

陈石头

  • 精华:28帖
  • 求助:2帖
  • 帖子:300帖 | 9288回
  • 年度积分:0
  • 历史总积分:54987
  • 注册:2008年3月07日
发表于:2010-12-15 15:45:22
10楼

这个题目出得好啊。希望大家都能够把自己工程现场遇到得调试问题及解决方法,经验给大家分享一下:

我先抛砖引玉,希望大家踊跃跟帖:

故障现象及处理过程:现场程序调试正常,交用户一段时间后,用户反映西门子SIMATIC S7-300 plc总是报BF通讯故障。现场硬件配置是CPU:315-2DP 订货号:6ES7 315-2AH14-0AB0,带DP口得西门子MM420变频器若干,其余为I/O及模拟量模版。现场检查了接地和通讯接口、通讯地址都没问题。在电机运行的时候,没有给CPU任何指令AO输出卡件会突然动作使电机停止,但1~3秒之后又会变回原来的输出状态电机又正常运行。刚开始怀疑是模拟量模块问题,更换模块后故障依然没有解决,现场监控程序运行也正常。由于故障是偶尔出现,始终找不出故障原因,后来一个偶然得机会,触摸了一下西门子变频器MM420通讯卡,故障突然再现了,更换变频器通讯卡后,故障彻底排除。

陈石头

  • 精华:28帖
  • 求助:2帖
  • 帖子:300帖 | 9288回
  • 年度积分:0
  • 历史总积分:54987
  • 注册:2008年3月07日
发表于:2010-12-15 15:51:29
11楼
       故障现象及解决过程:一天,烤片机操作工反映一个电磁阀在中央监控客户端的操作画面上不能开阀,但是在现场触摸屏上却可以,在线监控plc程序,改写中央监控客户端画面用到的地址,可以正常开/关阀门,说明plc程序没有错。 问了下操作及维保人员最近的改动情况,原来是更新过通讯驱动程序的版本了,于是开始怀疑新驱动问题,因为这个系统已经运行很长时间了,我们编写的软件应该没有问题。开/关这个阀门的地址是这个DB块的最后几个bool变量,于是尝试其他几个地址,发现最后一个byte的8个bool变量都是只能读不能写。我想到以前曾经在wincc里面碰过类似现象,于是我就把该db扩大了一点,增加了三个word长度,问题解决。

nangua0765

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 96回
  • 年度积分:6
  • 历史总积分:2119
  • 注册:2008年5月24日
发表于:2010-12-15 17:40:34
12楼
我觉得6楼说得不对,应该是很多人正在使用现场总线通讯,并且越来越多的人在使用各种形式的通讯模式,如果你到生产汽车的车间去参观一下,就会发现,你从前做的PLC工作算个鸟

wl111

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 32回
  • 年度积分:0
  • 历史总积分:115
  • 注册:2006年12月23日
发表于:2010-12-15 20:23:07
13楼
各位高手,仔细看过各位的心得,本人自愧不如,请各位多写点实际解决问题的方式方法!!!小弟顶起咯!!!

woyaokong

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 61回
  • 年度积分:0
  • 历史总积分:610
  • 注册:2010年5月26日
发表于:2010-12-16 21:22:44
14楼

又学到了好多东西,希望高手多多指教!

 

 

jingtao

  • 精华:2帖
  • 求助:0帖
  • 帖子:94帖 | 3205回
  • 年度积分:0
  • 历史总积分:20573
  • 注册:2007年10月31日
发表于:2010-12-17 11:53:42
15楼

     PLC的控制系统中的故障分布情况是:CPU单元故障占5%; I/O单元故障占15%;系统布线故障占5%;输出设备故障占30%; 输入设备故障占45%。由此可见,在PLC本身的20%的故障中,大 多数是由恶劣环境造成的。而80%的故障是用户使用不当造成的。

有 些PLC“用户手册”上给了故障检查流程图,例如SYSMAC-C200H 的故障总体检查流程图.当然这些资料也是极为 重要的,应该熟悉并深刻理解它。

云锋

  • 精华:1帖
  • 求助:4帖
  • 帖子:252帖 | 5541回
  • 年度积分:0
  • 历史总积分:30376
  • 注册:2005年6月24日
发表于:2010-12-17 14:57:14
16楼

一等奖1名,50MP获得者:ye_w    ye_w

二等奖4名,10MP获得者:

彩云之滇东北    ztlyil

林 森     cqu_rockwell

陈石头     hh_clei

wyb2866255    wyb2866255

三等奖(空缺)。


8803

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 56回
  • 年度积分:0
  • 历史总积分:390
  • 注册:2004年12月09日
发表于:2010-12-17 22:52:23
17楼
S7-300/400通讯故障诊断

1、如果全线报警的话,首先利用DP插头上面的ON/OFF开关逐段检查故障点,在中间任一站点(我一般选择中间位置)将DP插头拨到ON,如果前段不报警,说明故障点在后端,通过这种方法逐渐压缩故障范围。
2、检查DP插头接线、检查电缆。
3、更换DP插头、电缆实验。
4、以上检查不能消除故障,考虑降低总线波特率。
5、通过阅读模块诊断信息判断故障原因。
6、可以在程序中利用SFC51进行检查。可以快速判断机架故障。SFC51的具体用法可以参考STEP7帮助。
7、几个现场解决的问题
⑴末站或后几站报警,检查完报警站的插头、电缆没问题,就应该检查前面站的插头接线是否松动,我遇到过两次这样的问题,都是因为前端站插头接线松动造成末站报警。
如果生产线较长,站点较多,可以临时降低波特率,待停机后全面检查全线插头接线。
⑵如果全线只有中间一个站点报警,可能本站模块插接不牢固或有模块损坏。
故障诊断信息提示组态模块与实际不一致。
⑶设备全线报警,可能是末站DP插头未拨到ON位置,或中间电缆断。
⑷如果SFC51给出报警信息,可能从站24V电源故障。
8、如果BF故障经常性发生,从设备运行稳定性来说,需要考虑:
⑴是否电磁干扰,检查接地是否牢固,接地体是否合格。
⑵增加中继器 6ES7 972-0AA01-0XA0(成本较高)
⑶增加RS485有源终端 6ES7 972-0AD00-0AA0(成本较低)
⑷如果从站较多,可考虑增加总线路数。

勇者

  • 精华:0帖
  • 求助:0帖
  • 帖子:16帖 | 2756回
  • 年度积分:442
  • 历史总积分:30819
  • 注册:2007年7月13日
发表于:2010-12-20 14:12:56
18楼

忘记参加了,谢谢大家的指教,学习了。


热门招聘
相关主题

官方公众号

智造工程师