【分享】又一例环境问题导致的LOGO!故障
前些天,一位峰会上认识的朋友打来电话,说厂里用的LOGO!工作不正常了。具体现象是LOGO!显示屏只显示2个向上和向下的箭头。根据之前处理过的显示问题,初步判定是环境因素所致。于是详细询问了现场的环境,原来现场的粉尘非常严重,但没有腐蚀性的气体,于是建议对方拆开LOGO!给其内部做一次彻底的清理,并用无水乙醇将线路板(尤其是显示板)擦拭干净,结果LOGO!装上就能正常工作了。
通过此次案例充分说明了LOGO!控制器在恶劣环境下的“生存能力”还是很强的。我用类似的方法已经处理好了不少的LOGO!包括有个硅碳棒的生产厂家。一般的情况下,由于尘埃中存在导电性物质或现场潮湿,时间长了会导致内部线路板工作不正常,清理一下往往会解决问题。
我曾在这方面吃过大亏。我的设备在一个生产PVC塑料的厂家用过,现场酸性和毒性很重,连飞虫都进不去。当时三个月换了2个LOGO!,而且一个已经无法修复了。检查现场的其他器件,发现几个接触器的辅助触点都被腐蚀掉了。于是果断建议厂家将暴露在外面的logo!和一堆继电器进行隔离,后面就再没出现过类似的问题。
LOGO!的环境适应性很强,但相比于传统的低压电器来说还是显得有点娇气的,它的密封性虽然较其他PLC要好很多,但使用的时间长了,在灰尘密度大的场合,其端子等部位还是会透进一些灰尘。所以做设备之前一定要问清设备的使用环境,在环境特别差的场所使用LOGO!时,要将柜体的防护等级提高至IP54以上,或干脆将整个控制系统隔离,特别是一些酸碱性腐蚀气体较为严重的场合。显示板的电容长期处于放电状态,或单片机、集成电路管脚短路会造成控制器使用寿命下降,所以环境问题还是要引起足够的重视的。
【分享】得到准确ms级的代码执行周期,做自己的多功能定时器块
//************************
//****得到代码执行周期*******
//************************
1、OB1的临时变量区提供了OB1_PREV_CYCLE INT 上一次扫描的运行时间(ms),,长时间的累积会有不少的误差。为什么呢,因为系统提供给你的数值可能是有舍弃小数后值。而且提供的是用户程序运行时间,是否包含接口扫描、通讯、映射等时间不得而知。你可以通过累积OB1_PREV_CYCLE 和sfc64的后台时间比较就知道,两个的差别。
我的方法是通过读取系统时钟,这样无累积误差,(SFC64提供正向增长的双字运行时间)
//****获得系统时钟和程序执行周期***
CALL SFC 64 (
RET_VAL := LD 96);
L LD 96;
L #sysT;
-D ;
JPZ posA; //计数满了,就少计一个周期,影响可以忽略
L #cycT;
posA: T #cycT;
L LD 96;
T #sysT;
//-------------------
消除了系统提供时钟的累积误差。误差最大一个执行周期(3~10ms);
//***************************
//*******多功能定时器********
//***************************
嵌入程序的定时器,是实现功能块封装的重要部分,实现方便的移植
系统提供的IEC定时器,复位比较麻烦,必须再次执行;
自制FB功能块可同时方便实现以下几个功能
1、开关量滤波功能;延时接通延时断开,也可处理有干扰波动值阀值比较;
2、Ton定时器;(TofSet=0)
3、Tof定时器;(TonSet=0)
定时精度最小1ms,实际精度是一个周期;
定时范围2,147,483,647ms(596小时);
//--以下是写的FB块,测试用了好长时间,也还能精简,抛砖引玉;欢迎指教;
//----
//符号注释:开关量滤波,单位ms;
//计数到后, tonAct(DINT)/tofAct(DINT)不再递增。设定值小于等于0,输出同步输入。
//设定时间=set*ration,单位ms。电平使能,复位结束后,使能还在则重新计时;
VAR_INPUT
TonSet : INT ; //设定延时启动值,默认为0无延时;DIW0
TofSet : INT ; //设定延时断开值,默认为0无延时;DIW2
Ratio : INT := 100; //设定值倍率1=1ms(默认100ms)DIW4
CycT : INT ; //OB1上次扫描周期,单位ms,DIW6
Rst : BOOL ; //复位计时器内部保存值和输出,DIX8.0
En : BOOL ; //需要滤波的DI,DIX8.1
END_VAR
VAR_OUTPUT
OK : BOOL ; //滤波输出,DIX10.0
END_VAR
VAR
tonAct : DINT ; //DID12
tofAct : DINT ; //DID16
END_VAR
//*************************************
BEGIN SET ;
L l#0;
A #Rst;
JCN ton;
R #OK;
T #tonAct;
T #tofAct;
BE ;
ton: A #En;
JCN tof;
T #tofAct;
A #OK;
BEc ;
L #Ratio;
L #TonSet;
*I ; //不要用*D,如果设定错误成负数,会错误被解释成正的大值;
L #tonAct;
<=D ;
S #OK;
BEC ;
L #CycT;
+D ;
T #tonAct;
BE ;
tof: T #tonAct;
AN #OK;
BEc ;
L #Ratio;
L #TofSet;
*i ; //不要用*D,如果设定错误成负数,会错误被解释成正的大值;
L #tofAct;
<=D ;
R #OK;
BEC ;
L #CycT;
+D ;
T #tofAct;
BE ;
END_FUNCTION_BLOCK
【分享】西门子PLC与NPN(源型)和PNP(漏型)传感器的接线说明
传感器根据输出类型可以分为NPN(有人称为源型传感器)和PNP(有人称为漏型传感器)两大类;两种类型的传感器都有3个引脚,分别接24V、0V、Out(信号输出),那么西门子S7系列PLC都支持什么类型的传感器呢?
西门子PLC和模块所支持的传感器类型
1、西门子S7-200所支持的传感器类型?
S7-200系列的输入端既支持源型也支持漏型,所以既可以接NPN传感器也可以接PNP的传感器(具体接法请参考第二步),其他型号可以参照产品手册(如下图):
2、西门子S7-200smart所支持的传感器类型?
S7-200smart与S7-200一样输入端既支持漏型也支持源型,所以既可以接NPN传感器也可以接PNP的传感器(具体接法请参考第二步),其他型号可以参照产品手册(如下图):
3、西门子S7-1200所支持的传感器类型?
S7-1200输入端既支持漏型也支持源型,所以既可以接NPN传感器也可以接PNP的传感器。(具体接法请参考第二步),其他型号可以参照产品手册(如下图):
4、西门子S7-300所支持的传感器类型?
S7-300的DI模块很多,要具参数分需要在硬件组态中查看(具体接法请参考第二步)
(1)S7-300的大部分DI模块均为漏型(应该选取PNP型的传感器),在硬件组态时不提示源型还是漏型,就是默认为漏型的意思,如:321-1BL00:
(2)S7-300的源型DI模块(应该选取NPN传感器),如:6ES7 321-1BH50-0AA0:
(3)源型/漏型两用式DI模块(既可NPN也可以PNP型传感器):如:6ES7 321-1BP00-0AA0
5、西门子S7-1500所支持的传感器类型?
S7-1500系列中现推出的DI模块有漏型,接PNP型传感器(具体接法请参考第二步)。如:6ES7 523-1BL00-0AA0
有支持源型的DI模块,接NPN型传感器(具体接法请参考第二步)。如:6ES7 131-6BF60-0AA0
NPN、PNP传感器的接线方式
1、首先了解下PLC输入端的类型
西门子PLC输入端源型和漏型的定义:源型、漏型是根据PLC接线端子上I点的电流流向来区分的(西门子PLC与三菱PLC的定义相反,三菱PLC定义:源型、漏型是根据COM端电流流向来区分)
源型:电流从I点流出时,意为电流源头;
漏型:电流从I点流入时,意为电流流向处;
2、NPN传感器接入PLC(对于西门子PLC来说是源型输入接法)
电流走向:24V+----COM端----I0.0(电流从I点流出)----传感器out端----传感器0V端----0V,如下图:
3、PNP传感器接入PLC(对于西门子PLC来说是漏型输入接法)
电流走向:24V+---传感器24V----传感器out端----I0.0(电流流入I点)----COM----0V,如下图:
传感器的分类
1、NPN(源型):当导通时输出低电平
当导通时,信号输出线out和0v线连接,相当于输出低电平:0V。
NPN型传感器根据安装逻辑方式不同分为3小类
NPN-NO(常开型):不接通时无输出;接通时输出低电平;
NPN-NC(常闭型):不接通时输出低电平;接通时无输出;
NPN-NC+NO(常开、常闭共有型):两个out输出端(一开一闭)。
2、PNP(漏型):当导通时输出高电平
当导通时,信号输出线out和电源线VCC连接,相当于输出高电平的电源线,24V。
PNP型传感器根据安装逻辑方式不同分为3小类:
PNP-NO(常开型):不接通时无输出;接通时输出高电平;
PNP-NC(常闭型):不接通时输出高电平;接通时无输出;
PNP-NC+NO(常开、常闭共有型):两个out输出端(一开一闭)。
[接线]+无安全不工控
进了工控这一行,相信大家都对“安全”这个词颇有感触,从参加工作起领导、师傅们就不厌其烦的强调安全,安全!渐渐地我们也学会了绷紧了安全这根弦儿。从怎么样设计制造出的产品才安全,到怎么做才算达到安全,再到怎么样做才能更安全,我们吸取曾经的教训,改进过设计理念、研究过安全标准,学着计算验证过系统安全系数,试车跑出过系统极限数据,渐渐地我们也积累起了一些经验,并且努力的尝试将这些经验融合进我们的设计过程,让安全真正的从设计阶段就开始考虑。
说起自动化安全设计相信很多同行朋友首先都会想到是要选用F型的CPU、F型的CU单元、安全继电器、安全开关组件等等。没有错!这是必须的,但安全设计仅仅是做到安全型选件这个层面仅仅算是及格,除此之外呢?下面我们通过几张照片,来聊一聊细节的安全设计。

说句实在话,上面这张照片的信息量还是比较大的,这种设计之初即考量了接地,接线,设备保养,维护人员方面的安全需求,这套系统现工作于台湾,项目立项讨论阶段客户即要求全套设备达到EN954标准条目3规定。为此我们专门研究了这个标准条目3的详细规定,除了选用了各种安全选件,还针对不同电压等级将导线按照国际主流区分色进行了区分;接地线由原来的并联接地端子排直接换成了接地铜排,这样看似费工费料,实则大大的方便了现场接配线,而且二次接线比较美观更方便了客户今后检修;接线端子方面特意选择了端子异形支架,使接线人员视线与端子排接线面垂直,避免了尤提乐端子因为下端不便观察造成的接线错位造成的短路和信号错误等问题;柜内出线孔内线缆分类从不同的穿线孔穿过,并用密封胶密封,充分保证了控制与驱动柜整体的IP等级和散热通风量要求,由于设备作业环境有大量氧化铁粉尘且温度较高(45-50摄氏度),IP等级和散热能力如不达标将来会对电气设备运行带来较大隐患。

上面这张照片是我们驱动柜仪表的接线照片,不知各位同行在选用元器件时是否仔细阅读相关附件手册,其实我们身边的很多常见品牌电气元件都具有相关的安全保护配件或者可选件,如图所示这款仪表后壳就是,既做到了防护又不失美观,各位觉得呢?

之前只做国内设备,从没有对安全防护做过今天这样细致的规划,什么地方绝对不能碰,什么地方要方便接线和拆卸,什么地方既要做到足够的防护又要方便维护人员检修和更换备品备件,这些都是我们设计之初就要考虑到的。这张照片反映出的状态是我们从客户那里学到的,一位客户的电气负责人曾经对我说过,你们能不能对裸露的接线部分做些防护,这些裸露部分不是高电压就是大电流,一旦有误碰误触的情况发生,后果十分严重。经过多次试制改进,逐步完善,现在我对它的防护能力很放心。

?

现在不仅对国外客户的相关安全要求能够满足,并且对国内设备我们也做到了具备基本的安全防护和必要提示。

上面这张照片是我们过渡时期拍摄的,再之前的设备中母线排和短的连接铜排都是裸露的,后来我们发现实在危险,于是我们为不同规格的铜排分别套上了绝缘热缩套管,再之后我们对接线部分和功率连接部件都进行了隔离防护,防止误触发生造成的危险。
?
?
各位同行,我们所设计出的产品不但要满足用户对生产所提出的需要,更要切切实实把设备做扎实,安全,是我们设计一切产品的前提,只有先保证了人的安全,才能谈及对用户负责。
【分享】小心!S7-1200的S7通信有地雷!
使用PUT/GET的S7单向通信我已做过很多次,包括西门子各种PLC之间的S7通信几乎都是“不费吹灰之力”就通信上了。最近在做S7-300和S7-1200之间的S7通信时,S7-1200做客服机没有问题,S7-1200做服务器怎么也不能传输数据。这可是我在5年以前就做成功过的实验呀!反复折腾了几天,最后还是通过一个朋友知道了原因。原来在STEP7 V13中组态固件版本V4.0的S7-1200 CPU的属性时,在保护类别的“连接机制”中,需要勾选“允许从远程伙伴(PLC、HMI、OPC、……)使用PUT/GET通信访问”(见下图)。

通过PUT/GET访问PLC的确是一个安全漏洞,黑客可能通过这个漏洞攻击PLC系统。S7-1200新增的这个安全功能是很有必要的。但是这是个新生事物,很多用户像我一样,并不知道有这个设置。在双方连接不上时,PUT/GET的状态字列表中也没有有关的信息。
建议在可能做S7客服机的PLC的PUT/GET的状态字列表中增加有关的内容。在新版的《S7-1200 Easy Plus》的S7通信例子中,最好也能介绍这个设置。
为了使大家在S7-1200做S7通信的服务器时不要重蹈我的覆辙,特发此贴。
另:
GET 和 PUT(从远程 CPU 读写)指令
可以使用 GET 和 PUT 指令通过 PROFINET 和 PROFIBUS 连接与 S7 CPU 通信。 仅当在本地 CPU 属性的“保护”(Protection) 属性中为伙伴 CPU 激活了“允许使用 PUT/GET 通信进行访问”(Permit access with PUT/GET communication) 功能后,才可进行此操作:
访问远程 CPU 中的数据: S7-1200 CPU 在 ADDR_x 输入字段中只能使用绝对地址对远程 CPU (S7-200/300/400/1200) 的变量寻址。
访问标准 DB 中的数据: S7-1200 CPU 在 ADDR_x 输入字段中只能使用绝对地址对远程 S7 CPU 标准 DB 中的 DB 变量寻址。
访问优化 DB 中的数据: S7-1200 CPU 不能访问远程 S7-1200 CPU 的优化 DB 中的 DB 变量。
访问本地 CPU 中的数据: S7-1200 CPU 可使用绝对地址或符号地址分别作为 GET 或 PUT 指令的 RD_x 或 SD_x 输入字段的输入。
提示
V4.0 CPU 程序 GET/PUT 操作不会自动启用
V3.0 CPU 程序 GET/PUT 操作在 V4.0 CPU 中会自动启用。
不过,V4.0 CPU 中 V4.0 CPU 程序 GET/PUT 操作不会自动启用。 要启用 GET/PUT 访问,必须转到 CPU“设备组态”(evice configuration),打开巡视窗口,选择“属性”(Properties) 选项卡下的“保护”(Protection) 属性。
wincc6.0 过程画面如何做到自动切换的效果
我的整个生产过程分为四个主要的画面,我想做一个类似于电脑待机时,隔一段时间自动切换一张壁纸那样的效果。
比如,有一个输入输出口,连接一个布尔型内部变量,当我输入1时,启动自动切换的效果。
如果可以的话,能检测到鼠标一定时间(5分钟)没有动作时,就启动自动切换的效果。
有没有前辈做过类似的事情,烦请指点。
甲方的这个要求,弄的我有点头大。
自动切换有数组, 全局脚本, 周期触发
#include "apdefap.h"
int gscAction( void )
{
#pragma option(mbcs)
const char* p[4] = {"pdl1", "pdl2", "pdl3", "pdl4"};
static int i = 0;
extern int flag;
if(flag) return 0;
OpenPictrue(p[i++ % 4]);
return 0;
}
int flag = 0;
附: 判断鼠标不动的脚本, 1分钟周期
#include "apdefap.h"
int gscAction( void )
{
#pragma option(mbcs)
#pragma code("user32.dll")
BOOL GetCursorPos( LPPOINT lpPoint);
#define cmp(a, b) (a.x == b.x && a.y == b.y)
static POINT lastPos;
POINT currPos;
static int count = 0;
extern int flag;
GetCursorPos(&currPos);
if(cmp(currPos, lastPos))
{
++count;
}
else
{
count = 0;
flag = 0; //恢复正常状态
}
if(5 == count)
{
//鼠标5分钟不动满足
printf("Trig\r\n");
flag = 1;
count = 0;
}
//printf("(%d, %d), (%d, %d)\r\n", lastPos.x, lastPos.y, currPos.x, currPos.y);
lastPos = currPos;
return 0;
}
[模拟量] 工厂下大雨
说起模拟量,相信99.999%的同仁都会与其打交道,无论您是做设计的,安装的,还是维修的.模拟量模块都是干些什么事呢? 采集流量,压力,温度,物位...., 输出控制阀门,变频器等等.
记得刚工作那会处理过一个模拟量干扰的问题,印象很深刻.事情比较有趣,就是大晴天厂长被雨淋了,大雨.然后时不时的工厂就下个大雨,没任何征兆,倒霉往那过,赶巧就淋一身.后来调查发现大雨是从43米高的一个高位水箱冒出来的.正好那块区域是俺的负责范围.老大下令了赶紧调查清楚把事情解决了.车间的操作工天天抱怨.因为车间下雨总会把地面弄的湿答答的,操作工就得打扫,把水清理掉.每周老大们开会都会提这个事,管生产的老大会叫,"*****,一天忙死了还要打扫卫生,车间天天下雨算什么回事,你们搞设备的赶快处理好,再这样,你们自己去清理,我们不侍侯了". 安全经理说"这个存在安全隐患,人从这过摔倒了怎么办". 因此这个事情就留在了老大们的Todo list(需要处理的事)里面了,每个星期开会都要讨论.压力山大.
先说下这个高位水箱做什么用的.高位水箱是用于紧急情况下(比如断电),水处理设备无法给电炉水冷系统供水冷却,高位水箱的紧急阀门自动打开(断电自动打开),使用高位水箱的水冷却炉子,避免炉壁高温损坏.没办法,天天盯着HMI的高位水箱液位,有时候好几个小时也没问题,很稳定,有时候突然来个50% 60%,一会又回到正常90%,不正常期间水处理不断往水箱补水造成外溢.把液位历史曲线图调出来看看,总可以找到这种短时的干扰曲线,因此断定是干扰问题,但是是什么引起的呢? 没什么头绪.
先从接地下手,据说接地良好可以提高抗干扰能力.因此先检查了电柜端的接线,柜子是西门子奥钢联提供的,接线很规范,接入模拟量模块的电缆屏蔽层使用金属卡扣卡在电柜的接地排上实现360度全方位接地,接入模拟量模块电线也按照图纸连接,接触良好.确定电柜端接地接线都没有问题.接着检查仪表端.仪表使用的是ROSEMOUNT的压力表,通过差压换算成水箱液位.这个地方应该是目前为止爬过的最高地方了(仅限工厂). 乘工厂的电梯上43米平台,然后需要走一条又长又细的走道才能到高位水箱的位置,记得走道都是通过固定在屋顶(约50米)的钢结构固定的,长大约20-30米,宽度大概0.5-0.7米,走道刚好够一个人走(真是抠门). 走在走道上面可以直接看到0米平面,行车都在脚底下,有种漫步在云端的感觉(除了没云). 走起来感觉走道都在晃,不是非不得已打死也不想走.唉!到了高位水箱,检查了仪表,接线牢固,屏蔽层悬空未接地.好不容易才到这边,要不把这边的屏蔽层也接地试试,说做就做,做完再看效果.结果更糟糕,接下来几天工厂下雨的次数增多了,而且雨量加大了,悲摧啊.后来问了下度娘,搜到了以下内容:
1:两端的接地点难保没有电位差,有电位差就会有微弱电流,使屏蔽层实际上变成了接地线。
2:两端接地的屏蔽线工作于高频干扰较为严重地工作现场,会因屏蔽层和内部信号线间形成的线电容耦合到信号回路,严重的将影响信号误判。
3:各种调速器和PLC说明中都明确信号线屏蔽层必须单端接地并且接地端应该在控制器一侧。
难怪把液位表的屏蔽层接地后干扰更严重了,没辙又得屁颠屁颠的跑去现场拆除仪表端屏蔽层接地.永远记得那条又长又细又高的过道,没恐高症都得腿发抖,只能一直往前看,不敢往下看.
怎么办呢?也不知道是什么造成的干扰,没什么规律可寻,工厂里面设备太多了,电缆多的数不胜数的,要找到哪里被干扰太难了.后来想了个歪主意,要不把上水的阀门给关了,这样就不会上水了,就不存在水箱水位过高溢出的问题了,反正高位水箱也是紧急用,只要保证里面的水充足就可以,正常又不会泄露掉,而且还有液位计监视着呢,有问题再手动打开补充点水就可以了.于是把自己的想法跟水处理部门的生产主任说了下,得到的结果是:”你说的是不错,但是这个不是说关就关的,除非上层领导同意,下指令了,我们这边才能做”, 后面大家应该清楚了,跨部门沟通,遭各种鄙视搞不定,最终该方法流产. 然后自己又想了个歪主意,没法关手动阀门,不如关自动阀门,强制让自动阀门电磁阀不上电,这样就可以了,可以把电磁阀24VDC的电缆拆掉,这样即使液位受干扰补水,自动阀门不打开就不会上水.于是把自己的想法和自己的老大商量了下,这样只要负责水处理电气的同事帮忙把线拆了就行了,这样我们就可以慢慢找干扰源,不至于每天都被盯着屁股催着解决了.本来以为这样就可以稍微缓缓了,没想到负责水处理电气的老大不买账,不配合. 后来才知道他和我的老大有过节,原来他是我老大以前的老大,现在平起平坐,而且被发配到水处理这种辅助部门,心理就一直不爽.我也憋屈,”这个高位水箱补水完全不在我的控制范围,补水控制全在水处理那块,为什么要我来负责这个设备,应该水处理部门负责”, 我不满的跟老大说,老大也安慰我说:”没办法,当初设备划分的很清楚,水处理部门只负责水处理中心的设备,供水到各个现场的终端设备由各个现场负责,虽然补水是由水处理控制,但是液位计的测量是连接到我们的PLC系统,根本原因是干扰造成的,也只能我们自己找” .后来仔细把电气图纸和PLC程序看了下,确实如此: 高位水箱的补水是由水处理的PLC控制,放水是由电炉的PLC输出控制,液位的测量是连接到电炉的PLC采集, 电炉PLC将采集的液位信息通过以太网发送至水处理PLC,水处理PLC根据收到的液位高度与设定的液位高度比较,实现PID控制补水阀门的开闭,保持水箱水位90%.而电炉的PLC如果检测到水处理供水有问题,会自动打开放水阀门使用高位水箱冷却.心里嘀咕为什么不把液位检查也直接接到水处理PLC得了,还非得通过电炉PLC走一道,看吧,被干扰了吧. 刚开始没想明白为什么要这么设计,后来工作时间长了就慢慢明白了,工厂里面几乎所有需要水处理监控的信息都是先就近接入现场的远程I/O,相应的进入对于的PLC系统,再通过通信(光纤)将各个现场控制室的PLC信息反馈给水处理控制室的PLC实现监控.设想以下,如果这些仪器仪表的信号线都直接接到水处理控制室,那么每根电缆要有多长,这个成本要有多高,施工难度要有多大.
只能老老实实的找干扰源了.说实话工作的第一家公司的电气施工应该是目前为止我见过的最规范的一家了,各种类型的电缆隔离做的很好,地下电缆沟总共分了7层,每层都很明确的表明了电缆类型,比如底下第一层:6KV高压电缆,第二层:380V动力电缆,第三层:220V照明插座电缆,第四第五层:24VDC控制电缆,第六层:仪器仪表屏蔽电缆, 第七层:现场总线,双绞线及光缆等通信电缆. 1至5层使用梯式桥架, 6 7层使用槽式桥架(全封闭,抗干扰). 因此电缆沟里面的干扰应该是不存在的.现场端的仪表电缆也都是使用槽式桥架与动力电缆的梯式桥架分开敷设,不应该有任何问题的.剩下的就是控制室端了,老大突然想起了个事,当时电气室建好后,由于铺设地板与地面的水泥平面高度不够(其实也挺高了,龙骨应该也有0.7-0.8米高了,记得把地板扒开,人可以钻到底下去作业).只设计了两层桥架, 底下一层敷设380VAC的动力电缆,顶上一层敷设24VDC的控制电缆/仪器仪表电缆/PROFIBUS总线/以太网线/光缆.然而事实时控制室和动力室都是通过一个出口将电缆引向室外,控制电缆和通信电缆过多,一层桥架无法容纳.所以顶层只是敷设了PROFIBS总线,光缆和网线,部分仪表电缆也在顶层,剩下一部分的仪表电缆和24VDC的控制电缆都敷设在底层,通过动力室的那段和动力电缆一起敷设,动力室有一排电柜都是变频器柜,而高位水箱的液位表电缆也在这段通过, 信号电缆叠在动力电力上敷设.调开HMI的历史曲线,发现每次液位波动和150吨运钢包车变频器启动瞬间重叠.到此总算找到干扰源了. 组织手下几个外驻电工,将在动力电缆层上的所有仪器仪表电缆从桥架上取下,直接从水泥地面走. 干扰解决.
从此工厂不下雨,小伙伴们再也不用担心被雨淋了.
[摄影小赛]一次DP通讯的掉站处理
通讯出现问题是令人头疼的事。当所有事情按部就班完成以后,偏偏通讯不给力,耽误项目的进展。现在就说说前不久我碰上的一次通讯故障。

前段时间车间内后续项目改造加了个扩展I/O柜。挂在CPU315-2DP的DP网中,做DP从站用于扩展,接口模块为IM153,后带输入输出模块。是从CPU上的DP口上,DP头A2B2接出的,A2B2只接这一个从站,该扩展柜内DP头在ON上。在调试期间,通讯正常,可是从第二天开始就出现掉站现象,导致A1B1所挂的从站掉站报警。第一次出现时忽闪而过,接着又连上,又过了一周左右,直接无法使用了,现场所有从站,变频器,扩展柜频繁掉站。

我得知后立马赶到现场,先是把CPU上的DP头打到ON终端,其它从站通讯正常,恢复生产,等有时间再处理。起初我是一头雾水,不知从何下手。考虑一下从安装到调试的每一个环节,都符合规定,所以真是莫名其妙,百思不得其解。因为其它从站之前是正常使用,没有出现整体掉站现象再加上把CPU上的DP头打到ON上后,其他从站正常,从诊断来看也是I/O硬件故障,所以肯定是刚加的这一路出现问题。想出了几个解决方案后,我便开始慢慢试着改,先是更换了DP头,又更换了DP线,都是刚开用着正常,过一段时间又出现掉站现象。没办法,只能先甩去这一路,先用着。
就这样把该从站甩去后用了两天,我也考虑了两天,最后决定把DP线用金属管包起来,然后在扩展I/O柜加个485中继器,利用485中继器的隔离功能试一试。等到车间有停车时间,我便迫不及待地带着模块来到现场,等到模块接线完成,ON/OFF都拨到对应位置,DP线防护好以后,我便送电,通讯正常了。但我没有喜出望外,因为前几次都是这种现象。这样改造以后,又过了几天便再也没有出现掉站现象。后来我考虑原因所在,可能是DP线与电机电缆在一个桥架内,有干扰导致通讯不稳定。所以还是要告诫大家,在做工程时不能图方便而省事,否则后面的维护会让我们更麻烦。希望我的经验也能给各位在以后的工作中有所帮助。

