西门子S7-200PLC的RS-485通信接口简介及故障解析
4 解决方法
4.1 从plc内部考虑
(1)采用隔离的dc/dc将24v电源和5v电源隔离,我们分析了三菱、欧姆龙、施耐德plc以及西门子的profibus接口均是如此
(2)选用带静电保护、过热保护、输入失效保护等保护措施完善的高挡次rs-485芯片,如:sn65hvd1176d、max3468esa等,这些芯片价格一般在十几元至几十元,而sn75176的价格仅为1.5元。
(3)采用响应速度更快、承受瞬态功率更大的新型保护器件tvs或bl浪涌吸收器,如p6ke6.8ca的钳制电压为6.8v,承受瞬态功率为500w,bl器件则可抗击4000a以上大电流冲击。若使用不带故障保护的芯片,如sn75176,可在软件上作一些处理,从而避免通信异常。即在进入正常的数据通信之前,由主机预先将总线驱动为大于+200mv,并保持一段时间,使所有节点的接收器产生高电平输出。这样,在发出有效数据时,所有接收器能够正确地接收到起始位,进而接收到完整的数据。
(4)r1和r2采用正温度系数的自恢复保险ptc,如jk60-010,正常情况下的电阻值为5欧,并不影响正常通信,当受到浪涌冲击时,大电流流过ptc和保护器件tvs(或bl),ptc的电阻值将骤然增大,使浪涌电流迅速减小。
4.2 从plc外部考虑
(1)使用隔离的pc/ppi电缆,尽量不用廉价的非隔离电缆(特别是在工业现场)。西门子公司早期出产的pc/ppi电缆(6es7901-3bf00-0xa0)是不隔离的,现在也改成隔离的电缆了。
(2)plc的rs-485口联网时采用隔离的总线连接器,如pfb-g,速率为0~1.5mbps自动适应,外形和使用方法与西门子非隔离的总线连接相同。
(3)与plc联网的第三方设备,如变频器、触摸屏等的rs-485口均使用rs-485隔离器bh-485g进行隔离,这样各rs-485节点之间就无“电”的联系,也无地线环流产生,即使某个节点损坏也不会连带其它节点损坏。
(4)良好的接地是工控系统安全可靠运行的重要条件,对于工业通信网络更是如此。在工业通信网络中,至少有三种分开的地线,通过一点接地。条是低电平电路地线(即信号地线),包括数字地、模拟地、信号地和直流地等;第二条是噪声地线,即继电器、电动机、高功率电路的地线;第三条是机壳接地点,机械外壳、机身、机架、地盘使用,此地线应该和交流电源的地线相接。交流电源地线应和保护地线相连,以达到避免因公告地线各点点位不均所产生的干扰。rs-485通信线采用profibus总线专用屏蔽电缆,保证屏蔽层接到每台设备的外壳并后接大地。
(5)对于有架空线的系统,总线上好设置专门的防雷击设施。
5 结束语
rs-485通信是工业网络通信的重要组成部分,其网络、接口故障是广大工程技术人员经常遇到的问题,也是影响工控系统稳定运行的主要问题之一。处理好这一问题,保证通信系统的稳定、可靠运行,将打打提高工厂自动化的效率。本文的粗浅讨论希望能给工程技术人员在处理实际问题以一定的帮助。
算术运算和逻辑运算指令
加法指令ADD、减法指令SUB
乘法指令MUL、除法指令DIV
加1指令INC、减1指令DEC
字逻辑运算指令(FNC26~FNC29)
1、加法指令ADD、减法指令SUB
ADD指令是将指定的源元件中的二进制数相加,结果送到指定的目标元件中去。每个数据的高位作为符号位(0为正,1为负),运算是二进制代数运算。
减法指令SUB与ADD指令类似。
2、乘法指令MUL、除法指令DIV
MUL指令是将两个源元件中的数据的乘积送到指定目标元件。如果为16位数乘法,则乘积为32位, 果为32位数乘法,则乘积为64位,如图5.25所示。数据的高位是符号位。
3、加1指令INC、减1指令DEC
INC、DEC指令操作数只有一个,且不影响零标志、借位标志和进位标志。
在16位运算中,32767再加1就变成了-32768。32位运算时,2147483647再加1就变成-2147483648。DEC指令与INC指令处理方法类似。
4、字逻辑运算指令(FNC26~FNC29
字逻辑运算指令包括WAND(字逻辑与)、WOR(字逻辑或)、WXOR(字逻辑异或)和NEG(求补)指令。使用方法如图所示。
案例一: 假设有一汽车停车场,大容量只能停车50辆,为了表示停车场是否有空位,试用plc来实现控制。
一、硬件的实现
1、I/O分配表
2、外部连线
根据上述模块的学习,再依据图中的标示,同学们可以自己画出输入及输出端口的分配,在这不加深述。
二、软件的编程
案例二: 某控制程序中要进行以下算式的运算:38X/255+2 式中“ X ”代表输入端口 K2X0 送入的二进制数,运算结果需送输出口 K2Y0 ; X020 为起停开关。
1、I/O的分配
2、硬件连线
二、软件的实现
我这边有一个1215c AC/DC/RLY的CPU和几个SM1231_8*13位的AI扩展模块,我将CPU连接到220v交流,CPU端口的交流输入,L接火线,N接零线,地接地线,然后把扩展模块连接到CPU上,有一个专门的连接口,物理连接正常,但是AI扩展模块那里有24VDC的端口,我不知道这个需不需要接线,我扩展模块的作用是提供AI通道,连接传感器,传感器由自己供电,不需要PLC提供电源,就是不清楚那个扩展模块的24vDC能力,是不是需要给它接24v电源,PLC内部模块之间应该自己会供电
我按照之前的连接,给CPU通电,CPU的RUN/STOP灯是黄灯,ERROR和MAINT感觉是黄灯,未闪烁,可能是**个灯透过来的光,扩展模块DIAG绿灯,应该是这边通电正常,我现在还没有连接电脑和传感器
当我连接电脑后(传感器未连接),CPU和电脑profilenet网线连接正常,CPU能下载,但是下载后转至在线,就会报错,说下位组件错误,诊断状态显示模块出错,LED(SF)故障,CPU此时为停止状态,当我把cpu开到RUN,RUN模式能进行,绿灯,但ERROP和MAINT闪烁,
请大家帮忙看看是什么问题,是我组态有错误,还是CPU硬件坏了,
PLC 只给模块供背板 5 V的电,SM1231_8*13 位的 AI 扩展模块,要接 DC24V 电源给模块供电,就是你第三张图的左上脚上的那三个端子,其中 L+ 接 DC24V+,M 接DC0V,接地就要接地。
紧挨着给该 CPU 供的交流电端子后有两个端子( L+ 、M),是CPU本体向外部输出的DC24V,它的供电能力有限,*大 400 mA(传感器电源);
如果只是一个扩展模块,则可以业给模块临时供电,一般不建议这样用,应该另加一个用于 PLC 系统的DC24V 开关电源。
参考接线图(CPU接线、数字量输入输出接线、模拟量输入输出接线、串口接线)