产品描述
西门子伺服电机1FL6022-2AF21-1MB1
modbus地址实际为两种情况即作modbus主站,modbus地址和plc手册里的地址一与plc作从站,plc不用管什么modbus地址。
modbus地址实际为两种情况。下面以西门子s7-200/s7-200smart为例来说明:
**种情况: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地址,等着主站来读写它的地址区就是了。
主站的计算机软件(例如或组态软件)的编程需要编写实现modbus通信的程序,首先需要确定modbusrtu的报文结构。他们一般不熟悉plc,因此plc的编程人员往往需要和上位机软件的编程一起来讨论modbus的报文结构。
较容易出问题的就是报文里modbus地址与plc存储区地址的对应关系。曾经有工作人员做过的一个系统的上位机是**的组态软件,通过分析geplc手册给出的crc的循环异或计算实例每一步的中间数据,编写出了crc计算的c语言程序。通过实验验证了modbus报文结构和crc的计算的可行性。
s7 plc手册给出的modbus与modicon公司和ge公司plc使用的地址相同,是基于1的地址,即同类元件的首地址为1。而采用的是基于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。
PROFINET 和 PROFIBUS
固件版本 V2.02 到 V2.2 的 S7-1200 CPU
对于 PROFINET,S7-1200 多支持 8 个 PROFINET IO 设备和 128 个子模块,二者以先满足者为准。对于 PROFIBUS 每个 DP 主站多支持 16 个 DP 从站,每个 DP 从站多 256 个子模块。 DP 从站和 IO 设备的总数多支持 16 个 。
固件版本 V3.0 或者更高版本的 S7-1200
S7-1200 从固件版本 V3.0 起支持 16 个PROFINET IO 设备,多 256 个子模块。PROFIBUS 支持 32 个从站,每个 DP 从站多 512 个子模块。
0V interconnections
因为USS信号的参考电位为0V ( S7-200的M, 参考图5), 因此将所有结点的0V端子相连可以优化通讯性能 (MM4 端子2, S7-200 "M" 端子, 参见图5) 。可以通过USS电缆中的附加导线或通过与此靠近的独立导线实现此种连接。但是通过将0V一点或多点接地可能会引入耦合噪声,这与PLC 24V电源为其他设备或/和 I/O供电极为相似,此种情况下,将PLC的M端不连接到变频器通常可获得更好的性能。
更多有关网络安装的信息请参考S7-200 系统手册 *7章"Building Your Network(建立网络)"部分; Entry-ID: 1109582
问题的解决措施
(1) 查看诊断参数 r2024 - r2031:
r2024 和 r2025:如果变频器接收到报文, r2024应增加。 如果不是, 则变频器当前没有接收到报文。 在可靠的网络系统中, r2024 (接收报文数) 增加的速度应至少是r2025 (丢弃报文数)的5倍。 如果r2025增加过快则很有可能是报文结构错误或者报文遭到破坏(例如:噪声干扰)。
r2026 - r2031:如果这些参数中只有一个在增加,就应该联系报文结构来这个特定的参数。特别是如果 r2030 或
r2031在增长, 通常标明报文本身有问题,而通讯是正常的。r2026 - r2029:如果这些参数都在增加,标明存在EMC问题或者是电压偏置问题。根据上文和下文的* (2) 点加以解决。 如果没有足够的电压偏置, 则网络特别容易受到数据帧之间的噪声干扰,任何**过电压偏置的负的电压尖峰将被当作逻辑 "0" 接收,而这通常是一个数据帧的起始位,不断出现的起始位故障 ( 在参数P2029中计数) 可以用来加以确认。
*定时检查这些参数,如果故障报文的增长速度随着时间增加,则可能是RS485 驱动器遭到噪声尖峰的损坏。因为电磁干扰导致的 RS485 驱动器损坏通常表现为通讯性能的逐步恶化,而不是突然的损坏。
(2) 尽可能用一个低的波特率。在低的波特率下串口通讯更稳定。并且对于软件版本为2.08 或者 2.09 的MM440,当有其他复杂任务,控制器可能会过负荷。例如闭环矢量控制或PID控制时,或者出现很多错误的报文(可能由于USS驱动器的损坏)。这会导致不稳定的驱动操作。
(3) 用示波器观察母线电压。检查空闲时总线电压为0.5-1V;下图是正常电压的波形。差分信号(P-N,上图)中不应有噪声。共模信号(PN对地电压,下图)中的一些噪声是可以接受的,但是**过5V的尖峰电压可能会损坏RS485驱动器。检查上述几点
cpu板正面。
cpu板为plc中的核心部件,也是维修当中较棘手的地方,cpu板出问题会导致plc故障灯常亮,plc不运行,现就cpu板各元件说明如下:
1:cpu元件:
即*处理单元(cpu)是可编程逻辑控制器的控制**。主要有运算器,控制器,寄存器以及实现它们之间联系的数据,控制及状态总线构成。它按照可编程逻辑控制器系统程序赋予的功能接收并存储从编程器键入的用户程序和数据;检查电源、存储器、i/o以及警戒定时器的状态,并能诊断用户程序中的语法错误。当可编程逻辑控制器投入运行时,首先它以扫描的方式接收现场各输入装置的状态和数据,并分别存入i/o映象区,然后从用户程序存储器中逐条读取用户程序,经过命令解释后按指令的规定执行逻辑或算数运算的结果送入i/o映象区或数据寄存器内。等所有的用户程序执行完毕之后,最后将i/o映象区的各输出状态或输出寄存器内的数据传送到相应的输出装置,如此循环运行,直到停止运行。
为了进一步提高可编程逻辑控制器的可靠性,对大型可编程逻辑控制器还采用双cpu构成冗余系统,或采用三cpu的表决式系统。这样,即使某个cpu出现故障,整个系统仍能正常运行。
cpu芯片针脚多(200pin),主要有地址总线,数据总线,i/o引脚,及附属检测针脚与对应的芯片进行联系,cpu坏,可导致plc报警(sf灯亮),也会导致plc某些输入输出点不正常,通讯不上等故障现象。损坏原因主要有cpu供电电压高(导致内部短,某些针脚对地短路)cpu老化等,损坏后用手摸,有发烫的感觉。此种cpu针脚多,更换麻烦,并且市场不容易买到配件,可以用拆机件替换。
2:plc系统中的存储器:
plc系统中的存储器主要用于存放系统程序、用户程序和工作状态数据。plc的存储器包括系统存储器和用户存储器。
(1)rom 即只读存储器,用于由plc生产厂家编写的系统程序,并固化在rom内,用户不能更改,能够完成plc设计者规定的各项工作。实现指令解释,报警处理等,和pc机的bios差不多,系统程序质量的好坏很大程度上决定了plc的性能。
如果里面的数据丢失,或芯片损坏会引起不开机,报警现象。在平时的维修当中,rom故障所占的比例也是很大的。可以用编程器重刷固件程序(事先有备份),来解决此类问题。
产品推荐