6ES7238-5XA32-0XB0
SIMATIC S7-1200,模拟输入, SM 1238 Energy Meter 480V AC, 电表模块,用于数据采集,在 1 和 3 相 电网(TN,TT)至 480V AC; 电流范围:1A,5A; 采集电压、电流, 相位角,功率、能量值,频率; 通道诊断
有一种力量,正在支持我们前行,源于博大精深,同心致远。
浔之漫智控技术(上海)有限公司长期低价销售西门子PLC200.300.400.S1200.S1500.ET200.Smart200,6SE70变频器.70备件.6SY7000/7010.C98面板,6RA70/28/24直流调速器,6XV电缆,6EP电源,3RW30/40/44软启动器,6AV人机触摸屏,LOGO!,6SL系列G110.G120.S120.V10.V20,MM440/430/420变频,6DR阀门定位器,7ML.7ME.7MF.7MH仪表仪器,6FC.6SN伺服数控,电机等西门子系列产品
西门子PLC MODBUS地址问题原因分析
西门子PLCModbus地址问题原因分析
Modbus地址实际上分为两种情况即plc作Modbus主站,Modbus地址和PLC手册里的地址一与PLC作从站,PLC不用管什么Modbus地址。
Modbus地址实际上分为两种情况。下面以西门子S7-200/S7-200SMART/和S7-1200为例来说明:
第一种情况:
PLC作Modbus主站,Modbus地址和PLC手册里的地址一致,例如作主站的S7-200的MBUS_MSG指令用于向Modbus从站发送请求消息,和处理从站返回的响应消息。要读取从站(另一台S7-200)的I0.0开始的地址区时,它的输入参数Addr(Modbus地址)为10001。S7-200从站保持寄存器的V区起始地址为VB200时,要读取从站VW200开始的V存储区时,保持寄存器的地址是40001。
第二种情况:
PLC作从站,PLC不用管什么Modbus地址,等着主站来读写它的地址区就是了。
主站的计算机软件(例如dcs或组态软件)的编程人员需要编写实现Modbus通信的程序,需要确定ModbusRTU的报文结构。他们一般不熟悉PLC,PLC的编程人员往往需要和上位机软件的编程人员一起来讨论Modbus的报文结构。
*容易出问题的就是报文里Modbus地址与PLC存储区地址的对应关系。曾经有工作人员做过的一个系统的上位机是专用的组态软件,通过分析GEPLC手册给出的CRC的循环异或计算实例每一步的中间数据,编写出了CRC计算的C语言程序。通过实验验证了Modbus报文结构和CRC的计算的可行性。
S7PLC手册给出的Modbus地址与Modicon公司和GE公司PLC使用的地址相同,是基于1的地址,即同类元件的首地址为1。而西门子plc采用的是基于0的地址,即同类元件的首地址为0。Modbus报文中西门子PLC的Modbus地址也采用基于0的地址。
PLC系统手册中的Modbus地址的*高位用来表示地址区的类型,例如I0.0的Modbus地址为10001。因为地址区类型的信息已经包含在报文的功能码中了,报文中S7-200的I0.0的Modbus地址不是10001,而是0。报文中其他地址区的Modbus地址也应按相同的原则处理。例如当S7-200从站保持寄存器的V区起始地址为VB200时,VW200对应的保持寄存器在报文中的Modbus地址为0,而不是40001。
西门子PLC CPU315自动停机的处理方法
西门子PLCCPU315自动停机的处理方法
设备出现生产线不能开机,检查为CPU自动停机所致,停机时出现SF系统故障灯亮,CPU STOP,BF灯不亮,说明不是从站导致停机的,停电或将CPU上开关从RUN转到STOP再转到RUN,CPU又工作正常,在线联机诊断,报警内容很多,*重要的报警内容就是:
事件 29 / 100: 事件 ID 16# 494D 由 I/O 错误引起的 STOP 模式无用户相关信息(Z1):0000无用户相关信息(Z2):5752 (Z3):2101 先前的工作模式:RUN 要求的工作模式:STOP(内部), 外部错误, 进入的事件 01:33:39.963 2012-04-10
看程序内下载有OB80,82,85.86.87,100,121,122等组织块,不是软件编程及DP从站问题造成的故障啊,DP从站的输入地址问题报错,不是CPU停机的原因,因为出现这个问题时,程序内调用了相应的OB块,CUP只会报警不会停机的,这次停机为外部错误,进入事件,这个外部事件是什么事件,诊断区没有给出答案,下午又出现了CPU自动停机,
拆除子站的DP接头,连接器及模块,cpu只是报错没有停机,从而排除了上述问题,本系统还使用了IM365接口模块,会不会是他本身的原因造成问题,咨询了一下西门子及设备厂家,西门子技术人员回复说这个模块稳定性不是很好,厂家也怀疑这个模块。同意给我寄一个新的模块试一下。新的过来没有这么快。且我在西门子论坛上也讨论过这个模块,坛友还是认可这个模块的,认为此模块出问题的可能性不是很大。
此时我怀疑厂家为了省钱,系统做的不规范造成这个问题。为此做了以下的改进:
1.将DC24V供电回路做了改进,原先使用给CPU及其他模块供电电线为0.5平方,大家共用一条线路,采用串接DC24V方式供电,开关电源到plc及模块后电压降比较厉害,开关电源处电压为25.8到CPU处为23.3,改进后加大电源线到1平方,并且给cpu及其他模块单独拉双绞线电源线,改进后开关电源处电压为24,12,cpu处为24.01。暂且系统使用的电源为铭伟的开关电源,感觉不是很好,准备购买欧辰的开关电源来替换。
2.将cpu及扩展模块上的接地线单独拉出连接到房屋框架钢结构上接地。
3.全部的模块连接件紧固,并且将不规范的接线重新接。
三项措施做完后,就给CPU一直通电到第二天的早上8点上班后查看CPU没有停机,就让生产线开机了,开了3天机后CPU没有自动停机,到目前5月21日为止没有出现CPU自动停机的问题,厂家寄来了IM365模块也没有使用。
通过这次的问题的解决,深刻的体会到诊断缓冲区并不是**的,且缓冲区内内容很多,一定要分清主次否则容易误导,系统下载了相应的组织块,远程子站I/O故障是不会让CPU停机的,开关电源及接线布线及EMC做的不够规范造成的隐患后果很严重啊。