SIEMENS西门子PLC故障维修分析

SIEMENS西门子PLC故障维修:SIEMENS西门子PLC 是一个非常古老的协议,有很多不同厂商的解释和实现,使其成为广泛使用但建立起来很复杂的协议之一。需要关注的方面太多,因此第一次对于来自不同供应商的两个应用程序来说,即插即用几乎是不可能的。如果系统允许,用户应该首先尝试 1 或 2 个具有基本数据类型(如保持寄存器(int16)或输出线圈(bool))的标签/数据,然后慢慢添加更多标签,然后再使用更复杂的数据类型,如 real32 或 long32。
 
工业中已经使用了几个术语来指代同一个事物,这造成了更多的混乱。本文档使用了最准确和明确的术语,但也会提及其他供应商术语。以下是您需要检查的 10 个区域,以缩小故障排除范围:
1. RTU/ASCII 模式
SIEMENS西门子PLC 可用于 RTU 或 ASCII 通信模式。RTU 主要用于与 ASCII 进行比较,因为它以二进制传输,因此速度更快。另一方面,ASCII 模式很少使用,只有在由于距离或通信设备(例如调制解调器)限制而导致通信速度(波特率)不能太快时才会选择。它们不能在一个网络中混合和同时使用。还需要注意的是,COM 端口设置的数据字节大小为 RTU 为 8,ASCII 为 7。
2. 主/从
SIEMENS西门子PLC上下文中Master和Slave的关系就像计算机网络中的Client和Server。串行通讯中的SIEMENS西门子PLC 网络只能有一个Master 和一个或多个其他Slave,称为“Multidrop”网络。通常主站是 PC 或 PLC,从站可能是一些测量设备或传感器。Master 将启动所有数据轮询或写入序列,然后被调用的 Slave 将做出相应的响应。这与计算机网络完全相反,通常一台服务器将为许多其他客户端提供服务,尽管客户端将启动所有事务是相似的。
请注意,单主机限制仅适用于 RS232/422/485 等串行通信。TCP/IP 网络上的 SIEMENS西门子PLC 可以支持多个主站,当然还有多个从站。多点网络拓扑仅适用于 RS485 和 RS422 网络配置,RS232 的标准物理层不支持多点网络。
3.节点ID
SIEMENS西门子PLC 设备可以连接在多点(串联)网络中。并且每个 SIEMENS西门子PLC 设备都必须分配一个 ID 以进行识别,即使只有一个设备正在连接。通常默认为 1。
请注意,“节点 ID”也称为设备 ID、从站 ID、设备地址、从站地址甚至 SIEMENS西门子PLC 地址。有些设备甚至可能包含多个节点地址(在一个物理硬件中),称为虚拟设备或虚拟节点地址。
4. 数据地址
每个数据都必须有自己的地址。数据地址也称为寄存器或简称为地址。数据地址索引可能因供应商而异,换句话说,一个供应商的地址 1000 可能是另一个供应商的 1001 或 999。需要输入+1 或-1 的偏移值。
5.地址安排
SIEMENS西门子PLC 设备中的地址安排是灵活的。任何数据类型的起始地址都是不固定的,例如可以是 1、1000、4000 或任何其他值。地址的排列方式没有固定的模式。而且地址不一定要放在一个范围内,可以分散在1000~2000和4000~10000左右。地址安排完全取决于设备制造商,必须参考其文档。
6. 数据类型
它们只是 SIEMENS西门子PLC 中的四种基本数据类型,即输出线圈 (0x)、输入线圈 (1x)、保持寄存器 (4x) 和输入寄存器 (3x)。输出线圈(又名状态)和输入线圈(又名状态)也是布尔值,但进一步分为输入和输出类型。同样,输入寄存器和输出寄存器也是 16 位整数,但进一步分为输入和输出类别。输入线圈和输入寄存器严格绑定到设备的物理线连接,另一方面,输出线圈和输出寄存器可以绑定或不绑定到设备的物理线连接。当地址未绑定到物理链接时,它被视为内存变量。所以大部分时间使用的地址都是输出类型。
为了获得超过四种基本类型的数据,如浮点 (float32) 和长模拟 (int32),需要使用两个输出寄存器来实现此目的。当浮点数据或长模拟数据的列表按顺序列出时,有些设备如 Modicon PLC 会以偶数或奇数跳过地址,但有些可能只是按顺序排列,没有任何地址跳过。用户必须根据设备的手册甚至反复试验来解决这个问题。
一些设备可以进一步支持双浮点(float64)或双长整数(int64),地址跳过问题再次取决于设备制造商。此外,一些制造商甚至拥有专有数据类型,如 Time Element,单个地址最多包含 8 个整数。
需要注意的是,像Schneider这样的一些设备制造商使用前导数字作为数据类型区分,即4xxxx为保持寄存器,3xxxx为输入寄存器,1xxxx为输入线圈,0xxxx为输出线圈。对于许多软件实现而言,情况可能并非如此。例如,40100 应输入为整数类型的 100,或者 30123 可能需要输入为只读整数的 123。
7. RW 或 RO
一个数据位置可以实现为读/写启用,或只读。这完全取决于各个供应商,并且必须参考其文档。通常输入寄存器 (3x) 和输入线圈 (1x) 应实现为只读。