先简介一下项目,一面
PLC柜(正面PLC控制部分,后面是6台3.7KW变频器)、三面55KW变频器。CPU226通过通讯控制9台变频器。由于工地在半山腰上,就盖了一间房子,所以PLC柜和变频器柜放在一起,PLC柜与变频器间隔2M。现场主要动力电缆居多,信号电缆就3压力表和6个称重信号线,直接分两层埋沟。
电机线还未接之前,PLC程序和上位机联机调试,一切正常。所有的变频器频率给定和控制均正常。
电缆施工完毕之后,开始联调,问题出现了。3.7KW的变频器电脑上一开,停不下来通过监测PLC,发现轮训控制字节VB0里的数字不动,也就是MODBUS通讯现在停止了,但是PLC还是现实运行状态。***反应就是干扰。将变频器断电,VB0直接继续轮训。***反应就是接地问题。变频器使用的时候,接地就是基本的要求。和PLC在一起使用更要处理好了。
查看PLC柜,后面6台变频器都单独接地到柜子上了,而PLC的接地也单独接地到地排上并引到了外面的信号地了。PLC柜则通过支架和变频柜一起连接到保护地了。看似没有问题,一查线路,发现PLC的地线和PLC柜连通的。原来开关电源的接地和PLC的地线连在一起,而开关电源的外壳直接安装在底板上,导致PLC的接地和低压柜的接地串在一起了。为了***上述问题,变频器直接通过电缆接地到低压变频柜底座上;而开关电源地线暂时断开未接,同时将PLC柜与底座绝缘。经过上述处理之后,在电脑上操作3.7KW变频器,一切正常。
上述的干扰问题,是一个典型的接地问题。PLC的单独接地很重要。看到这里,相信***都是一笑而过。不过下面还有一个更头疼的问题,也是干扰问题,估计好多大咖也不定遇到过。
3.7KW变频器调试正常以后,开始调试55KW变频器了。电脑上开停设备正常;频率设定正常。心中窃喜,只有这几个大家伙没问题,设备电气调试基本差不离了。低频率运转一会,一切正常。然后开始提速,提到40HZ以后,运行一会画面突然变暗了。上位机通讯中断,一看PLC,红灯亮起。***反应还是干扰问题。将变频器断电,PLC重启运行***正常。后来又试了几次,发现30HZ一下运行正常,30HZ以上运行一段时间会故障停机。
刚开始怀疑是PLC电源污染了,变频器的高次谐波通过电源串进PLC,导致异常停机。以前现场遇到过这个情况,后来通过加装隔离变压器解决了问题。赶紧打电话回公司,第二天直接跟车发来了隔离变压器。加上变压器以后,果然有效果,***起码视频监控的干扰小多了,但是PLC故障停机依然存在。
其中,又试着降低变频器的载波频率、手动启停变频器、拆掉485通讯线等,问题依然存在。没办法,跟公司汇报加装电抗器吧!
由于电抗器订货,无聊的时候又开始捣鼓这个问题。工控人,就要有不服输的精神嘛!我试着拆除CPU之后的模块,然后启动变频器,加速到50HZ运行一段时间正常;挂上模块运行到40HZ故障停机。不会是PLC模块有问题吧???我又依次试了试后面的模块,***终确定了倒数第二个模块——EM231,是故障停机的问题所在。不过,依着多年来使用西门子产品的使用经验来说,西门子硬件产品质量、抗干扰还是比较不错的。新模块。不应该这么快出问题吧?EM231模块,接的正是3个压力信号。3个压力信号,正对应的是3台55KW风机后的压力信号。突然,脑子灵光一闪,干扰不会是压力信号线过来的吧??压力表经过隔离配电器接到EM231中,我试着分别拔掉1#、2#、3#的隔离配电器,奇迹出现了。当拔掉3#隔离配电器的时候,系统运行50HZ正常;插上去变频器运行40HZ会故障停机。拔掉3#隔离器试运行一段时间,一切正常。原来3#变频器***远,有100米左右,而3#压力信号测得是3#风机后的压力,机敷设路径与变频器电缆基本相同。由于后来业主挖沟较浅,导致信号电缆与动力电缆较近而导致干扰。1#、2#压力信号不存在问题。
按道理讲,加上隔离配电器以后,压力信号应该更加抗干扰才对。但是现在EM231却因为输入的一路模拟量信号有问题(监测的AD数值正常、不排除隔离配电器的问题),导致CPU226异常故障停机。这个干扰已经不仅仅是电源或者接地能解决的了!
欧姆龙***1A型PLC与上位计算机通信的顺序是上位机先发出命令信息给PLC,PLC返回响应信息给上位机。每次通信发送/接受的一组数据称为一“帧”。帧由少于131个字符的数据构成,若发送数据要进行分割帧发送,分割帧的结尾用CR码一个字符的分界符来代替终终止符。发送帧的一方具有发送权,发送方发送完一帧后,将发送权交给接受方。
发送帧的基本格式为:
欧姆龙PLC通讯的问题解析
1.Cx-ProgrammerV5.0与PLC通信不稳定:
电脑与PLC的连接方式:电脑USB口(该电脑没有RS232串口)←→[USB转RS232电缆的USB插头←→USB转RS232电缆线(电脑已经安装驱动,且默认的COM4端口已经设置为COM1)中间部分←→USB转RS232电缆的RS232公头]←→[[电脑与PLC的连接电缆的RS232母头←→电脑与PLC的连接电缆线的中间部分←→电脑与PLC的连接电缆的RS232公头]]←→PLC的RS232母头。
上面单中括号内为USB转RS232电缆,双中括号内为电脑与PLC的连接电缆。电脑与PLC的连接电缆接线如下:(1).公头(用以连接PLC)的2、3、9分别与母头的2、3、5(用于连接电脑或USB转RS232连接线)短接,这是欧姆龙***的连接方法;(2).公头和母头的2-2、3-3、5-5分别短接,这是RS232连接线的常规连接方法。后来经过实践证明:上面2种电脑和PLC的连接电缆都可以使用。第1种电缆通信稳定可靠。对于第2种电缆,当电脑和PLC之间通过VC应用程序进行通信时效果不好,容易丢帧(用串口调试助手可以看到),只有当电脑和PLC共用电源(共地)时才没有发现问题。所以,请尽量采用第1种连接电缆。
有时间电脑和PLC能正常通信,有时间却不行——显示“Modem已经被选中,要继续码?”故障(实际上“码”应当为“吗”),一旦出现该故障信息,就一定会出现以下故障信息:
当通信不上时,笔者采用过***回以前的正常操作系统、重新安装Cx-ProgrammerV5.0编程软件等方法,又可以正常通信了,但一旦断线后又可能通信不上了。有几次还发现,有些程序可以和PLC通信上,而有些程序却不行!因此,笔者就将可以通信的PLC程序先备份,然后全部删除程序中的指令,***后将目标程序的指令全部***过来(***时注释可以自动***过来),这样居然电脑就可以正常和PLC进行通信了!但是——下一次这个程序可能又无法正常通信了!郁闷……
根据通信错误信息“Modem已经被选中,要继续码?”,笔者找到了解决方法:在桌面上右击“我的电脑”,再点击“属性”——“硬件”——“设备管理器”,再双击“调制解调器”,再右击展开的调制解调器型号,点击“停用”就可以了。
另外,正确连接方法如下:在电脑没开机或(和)PLC没通电(否则带电拔插通信口可能造成通信口损坏(虽然这种几率不大,但你***好不要去碰运气))的情况下连接好USB转RS232电缆、电脑与PLC的连接电缆,然后再通过Cx-Programmer连接电脑与PLC。
请注意:USB口也不是随便乱插就可以的,关键要保证设备管理器里的RS232口为COM1。笔者的电脑上时这种情况:***初已将默认的RS232口从COM4口改为COM1口,但插下面的USB口却对应RS232的COM4口(COM1、COM3正在使用),无法连接电脑与PLC;插上面的USB口对应RS232的COM1口(COM2、COM4正在使用),可以连接电脑与PLC。
2.Cx-ProgrammerV5.0与PLC通信干扰:
如果Cx-Programmer在线,电脑和PLC已经连接,处于通信状态下,当每次设备停机时(将近20个交流接触器同时断开)Cx-Programmer将会出现通信错误,电脑和PLC连接中断。而当每次开机时(将近20个交流接触器同时吸合)却不会出现通信错误的情况。
解决方法:重新连接PLC。如果你是个***主义者,可以在每个接触器线圈上加一个RC阻容模块(每个RC模块大概60个大洋左右),也许不会出现通信错误的情况(不过笔者没有试过哟...)。
3.电脑与PLC的连接电缆试验:
因为想到电脑与PLC的连接电缆(第1种常规的连接电缆)为2-2短接、3-3短接、5-5短接,所以考虑直接用USB←→RS232电缆将电脑和PLC连接起来,如果这样可以的话不就省了一条连接电缆了吗?下面是直接用USB←→RS232电缆将电脑和PLC连接起来的试验结果:
有时间第1次通信时出现以下错误:“所选的端口被另一个应用所占用”;第2次通信时出现以下错误:
为什么电脑通过上述两种连接电缆与PLC连接没有问题,而直接采用USB转RS232电缆线与PLC连接却不行呢?以下是分析过程:
第1种可能:阻抗的原因。虽然上述两种连接电缆为直连线,却有阻抗存在,多了这个阻抗就可以正常连接。但这个原因好像很牵强,连笔者自己都不能相信。
第2种可能:该USB转RS232的公头与PLC的母头接触不良,而加一根电缆却能连接正常——USB转RS232的公头与连接线的母头接触良好,连接线的公头与PLC的母头接触良好。该猜测来源于笔者遇到过的一次电脑故障:某台电脑的鼠标无法使用,另外换一个鼠标正常,把故障鼠标换到其它电脑却能正常使用。***后怀疑鼠标接头与主板插口接触不良,就将鼠标插头破开再涂上一层焊锡,结果使用正常!但是对于USB转RS232的公头与PLC的母头接触不良这种猜测,笔者觉得可能性不大——因为他解释不了“所选的端口被另一个应用所占用”这个故障。
***后想到了另外一个可能:USB转RS232直接与PLC连接就相当于USB转RS232的串口与PLC的串口1-1、2-2、3-3、4-4、5-5、6-6、7-7、8-8、9-9一一对应连接,而通过连接线却只有2-2、3-3、5-5三对端子连接,这说明1-1、4-4、7-7、8-8、9-9至少有一对是不能连接的,否则就会出现问题,而且这还既有可能损坏PLC与电脑的通信端口。