S7-200 SMART CPU之间的以太网通信
S7-200 SMART CPU 固件版本 V2.0 及以上版本的 CPU 可实现CPU、编程设备和HMI(触摸屏)之间的多种通信:
— CPU与编程设备之间的数据交换。
— CPU与HMI之间的数据交换。
— CPU与其他S7-200 SMART CPU之间的PUT/GET通信。
S7-200 SMART CPU 以太网连接资源如下:
— 1个连接用于与STEP7 Micro/Win SMART软件的通信。
— 8个连接用于CPU与HMI之间的通信。
— 8个连接用于CPU与其他S7-200 SMART CPU之间的PUT/GET主动连接
— 8个连接用于CPU与其他S7-200 SMART CPU之间的PUT/GET被动连接
PUT/GET 指令格式
S7-200 SMART CPU提供了PUT/GET 指令,用于S7-200 SMART CPU之间的以太网通信(PUT/GET 指令格式见 表 1)。PUT/GET 指令只需要在主动建立连接的 CPU 中调用执行,被动建立连接的 CPU不需要进行通信编程。PUT/GET 指令中TABLE 参数用于定义远程CPU的 IP地址、本地CPU和远程 CPU的数据区域以及通信长度(TABLE 参数定义见 表 2)。
表 1 PUT和GET 指令:
LAD/FBD
|
STL
|
描述
|
|
PUT TABLE
|
PUT 指令启动以太网端口上的通信操作,将数据写入远程设备。PUT 指令可向远程设备写入较多 212 个字节的数据。
|
|
GET TABLE
|
GET 指令启动以太网端口上的通信操作,从远程设备获取数据。GET 指令可从远程设备读取较多 222 个字节的数据。
|
表 2 PUT和GET 指令的TABLE参数定义:
字节偏移量
|
Bit 7
|
Bit 6
|
Bit 5
|
Bit 4
|
Bit 3
|
Bit 2
|
Bit 1
|
Bit 0
|
0
|
D1
|
A2
|
E3
|
0
|
错误代码4
|
1
|
远程 CPU的 IP地址
|
2
|
3
|
4
|
5
|
预留(必须设置为0)
|
6
|
预留(必须设置为0)
|
7
|
指向远程 CPU 通信数据区域的地址指针
(允许数据区域包括:I、Q、M、V)
|
8
|
9
|
10
|
11
|
通信数据长度5
|
12
|
指向本地 CPU 通信数据区域的地址指针
(允许数据区域包括:I、Q、M、V)
|
13
|
14
|
15
|
1 D :通信完成标志位,通信已经成功完成或者通信发生错误。
2 A :通信已经激活标志位。
3 E :通信发生错误,错误原因需要查询 错误代码4。
4 错误代码 :见表 3 PUT 和 GET 指令TABLE 参数的错误代码。
5 通信数据长度 :需要访问远程 CPU通信数据的字节个数,PUT 指令可向远程设备写入较多 212 个字节的数据,GET 指令可从远程设备读取较多 222 个字节的数据。
表 3 PUT 和 GET 指令TABLE 参数的错误代码:
错误代码
|
描述
|
0
|
通信无错误
|
1
|
PUT/GET TABLE参数表中存在非法参数:
-
本地CPU通信区域不包括 I、Q、M 或 V。
-
本地CPU不足以提供请求的数据长度。
-
对于 GET指令数据长度为零或大于 222 字节;对于 PUT指令数据长度大于 212 字节。
-
远程CPU通信区域不包括 I、Q、M 或 V。
-
远程CPU 的IP 地址是非法的 (0.0.0.0)。
-
远程CPU 的IP 地址为广播地址或组播地址。
-
远程CPU 的IP 地址与本地 CPU的IP 地址相同
-
远程CPU 的IP 地址位于不同的子网。
|
2
|
同一时刻处于激活状态的 PUT/GET 指令过多(仅允许 16 个)
|
3
|
无可以连接资源,当前所有的连接都在处理未完成的数据请求(S7-200 SAMRT CPU主动连接资源数为 8 个)。
|
4
|
从远程 CPU 返回的错误:
-
请求或发送的数据过多。
-
STOP 模式下不允许对 Q 存储器执行写入操作。
-
存储区处于写保护状态
|
5
|
与远程 CPU 之间无可用连接:
-
远程 CPU 无可用的被动连接资源(S7-200 SMART CPU被动连接资源数为 8 个)。
-
与远程 CPU 之间的连接丢失(远程 CPU 断电或者物理断开)。
|
6-9
|
预留
|
通信资源数量
S7-200 SMART CPU 以太网端口含有 8 个PUT/GET 主动连接资源和 8 个PUT/GET 被动连接资源。例如:CPU1 调用 PUT/GET 指令与 CPU2 ~ CPU9 建立8主动连接的同时,可以与 CPU10 ~ CPU17 建立8被动连接(CPU10 ~ CPU17 调用 PUT/GET 指令),这样的话 CPU1 可以同时与16台 CPU(CPU2 ~ CPU17)建立连接。关于主动连接资源和被动连接资源的详细解释如下:
1、主动连接资源和被动连接资源
-
调用 PUT/GET 指令的CPU 占用主动连接资源数;相应的远程 CPU 占用被动连接资源。
2、8 个PUT/GET 主动连接资源
-
S7-200 SMART CPU 程序中可以包含远多于 8个PUT/GET 指令的调用,但是在同一时刻较多只能激活 8 个 PUT/GET 连接资源。
-
同一时刻对同一个远程 CPU 的多个 PUT/GET 指令的调用,只会占用本地 CPU的一个主动连接资源和远程 CPU的一个被动连接资源。本地 CPU 与远程 CPU之间只会建立一条连接通道,同一时刻触发的多个 PUT/GET 指令将会在这条连接通道上顺序执行。
-
同一时刻较多能对8个不同 IP 地址的远程 CPU 进行 PUT/GET 指令的调用,*9个 远程CPU的PUT/GET 指令调用将报错,无可用连接资源。已经成功建立的连接将被保持,直到远程 CPU断电或者物理断开。
3、8 个PUT/GET 被动连接资源
-
S7-200 SMART CPU 调用 PUT/GET 指令,执行主动连接的同时也可以被动地被其他远程 CPU 进行通信读写。
-
S7-200 SMART较多可以与被8个不同 IP 地址的远程 CPU 进行 建立被动连接。已经成功建立的连接将被保持,直到远程 CPU断电或者物理断开。
指令编程举例
在下面的例子中,CPU1 为主动端,其 IP 地址为192.168.2.100,调用 PUT/GET 指令;CPU2 为被动端,其 IP 地址为192.168.2.101,不需调用 PUT/GET 指令,网络配置见图 1 。通信任务是把 CPU1 的实时时钟信息写入 CPU2 中,把CPU2 中的实时时钟信息读写到 CPU1 中。
图 1 CPU通信网络配置图
1、CPU1 主动端编程
CPU1 主程序中包含读取 CPU 实时时钟、初始化 PUT/ GET 指令的 TABLE 参数表、调用 PUT 指令和 GET 指令等。
网络1:读取 CPU1 实时时钟,存储到 VB100 ~ VB107 。
图 2 读取 CPU1 实时时钟
注:READ_RTC 指令用于读取 CPU 实时时钟指令,并将其存储到从字节地址 T 开始的 8 字节时间缓冲区中,数据格式为 BCD 码。
网络2:定义 PUT 指令 TABLE 参数表,用于将 CPU1 的VB100 ~ VB107 传输到远程 CPU2 的VB0 ~ VB7。
图 3 定义 PUT 指令 TABLE 参数表
-
a.定义通信状态字节
-
b.定义 CPU2 IP 地址
-
c.定义 CPU2 的通信区域 ,从 VB0 地址开始
-
d.定义通信数据长度
-
e.定义 CPU1 的通信区域,从 VB100 地址开始
网络3:定义 GET 指令 TABLE 参数表,用于将远程 CPU2 的VB100 ~ VB107 读取到 CPU1 的 VB0 ~ VB7。
图 4 定义 GET 指令 TABLE 参数表
-
a.定义通信状态字节
-
b.定义 CPU2 IP 地址
-
c.定义 CPU2 的通信区域 ,从 VB100 地址开始
-
d.定义通信数据长度
-
e.定义 CPU1 的通信区域,从 VB0 地址开始
网络4:调用 PUT 指令和 GET 指令。
图 5 调用 PUT 指令和 GET 指令
2、CPU2 被动端编程
CPU2 的主程序只需包含一条语句用于读取 CPU2 的实时时钟,并存储到 VB100 ~ VB107,如图 6 所示。
图 6 读取 CPU2 实时时钟
S7-200 SMART 通信端口以及连接方式
每个 S7-200 SMART CPU 都提供一个以太网端口和一个 RS485 端口(端口0),标准型 CPU 额外支持 SB CM01 信号板(端口1),信号板可通过 STEP 7-Micro/WIN SMART 软件组态为 RS232 通信端口或 RS485 通信端口。西门子3KW变频器
CPU 通信端口引脚分配
1.S7-200 SMART CPU 集成的 RS485 通信端口(端口0)是与 RS485 兼容的9针 D 型连接器。CPU 集成的 RS485 通信端口的引脚分配如表1. S7-200 SMART CPU 集成 RS485 端口的引脚分配表所示。
表1. S7-200 SMART CPU 集成 RS485 端口的引脚分配
连接器
|
引脚标号
|
信号
|
引脚定义
|
|
1
|
屏蔽
|
机壳接地
|
2
|
24V 返回
|
逻辑公共端
|
3
|
RS-485 信号 B
|
RS-485 信号 B
|
4
|
发送请求
|
RTS (TTL)
|
5
|
5V 返回
|
逻辑公共端
|
6
|
+ 5V
|
+5 V,100 Ω 串联电阻
|
7
|
+24V
|
+24 V
|
8
|
RS-485 信号 A
|
RS-485 信号 A
|
9
|
不适用
|
10 位协议选择(输入)
|
外壳
|
屏蔽
|
机壳接地
|
2.标准型 CPU 额外支持 SB CM01 信号板,该信号板可以通过 STEP 7-Micro/WIN SMART 软件组态为 RS485通信端口或者 RS232 通信端口。表 2. 给出了 SB CM01 信号板的引脚分配 。
表2. S7-200 SMART SB CM01 信号板端口(端口1)的引脚分配表
连接器
|
引脚标号
|
信号
|
引脚定义
|
|
1
|
接地
|
机壳接地
|
2
|
Tx/B
|
RS232-Tx/RS485-B
|
3
|
发送请求
|
RTS (TTL)
|
4
|
M接地
|
逻辑公共端
|
5
|
Rx/A
|
RS232-Rx/RS485-A
|
6
|
+ 5V
|
+5 V,100 Ω 串联电阻
|
使用STEP 7-Micro/WIN SMART 软件组态 SB CM01 信号板为 RS485通信端口或者RS232通信端口的过程如图 1. SB CM01 信号板组态过程所示。
图1. SB CM01 信号板组态过程
EM DP01通讯端口引脚分配
EM DP01 上的 RS485 串行通信接口是一个 RS485 兼容的九针迷你 D型插口,与欧洲标准 EN 50170 规定的 PROFIBUS标准一致,下图介绍了通讯端口的引脚分配。
图 2. S7-200SMART EM DP01通讯端口的引脚分配
以太网端口连接
S7-200 SMART CPU 的以太网端口有两种网络连接方法:直接连接和网络连接。
直接连接 :
当一个 S7-200 SMART CPU 与一个编程设备、 HMI 或者另外一个 S7-200 SMART CPU 通信时,实现的是直接连接。直接连接不需要使用交换机,使用网线直接连接两个设备即可,如图2.通信设备的直接连接所示。
图 3. 通信设备的直接连接
网络连接 :
当两个以上的通信设备进行通信时,需要使用交换机来实现网络连接。可以使用导轨安装的西门子 CSM1277 4端口交换机来连接多个 CPU 和 HMI 设备,如图 3. 多个通信设备的网络连接所示。
图 4.多个通信设备的网络连接
RS485 网络连接
RS485 网络的传输距离和波特率
RS485 网络为采用屏蔽双绞线电缆的线性总线网络,总线两端需要终端电阻。RS485 网络允许每一个网段的较大通信节点数为 32 个,允许的较大电缆长度则由通信端口是否隔离以及通信波特率大小等两个因素所决定,见表 3. RS485 网段电缆的较大长度所示。
表 3. RS485 网段电缆的较大长度
波特率(bit/s)
|
S7-200 SMART CPU 端口
|
隔离型 CPU 端口
|
9.6K~187.5K
|
50m
|
1000m
|
500K
|
不支持
|
400m
|
1M~1.5M
|
不支持
|
200m
|
3M~12M
|
不支持
|
100m
|
S7-200 SMART CPU 集成的 RS485 端口以及 SB CM01 信号板都是非隔离型通信端口,允许的较大通信距离为 50m,该距离为网段中**个通信节点到最后一个节点的距离。如果网络中的通信节点数大于 32 个或者通信距离大于 50m 则需要添加 RS485 中继器拓展网络连接。
注意:
● S7-200 SMART CPU 集成的 RS485 端口以及 SB CM01 信号板都是非隔离型,与网段中其它节点通信时需要做好参考点电位的等电位连接或者使用 RS485 中继器为网络提供隔离。参考点电位不同的节点通信时可能会导致通信错误或者端口烧坏。
● S7-200 SAMRT CPU 与其它节点联网时,可以将 CPU 模块右下角的传感器电源的 M 端与其它节点通信端口的 0V 参考点连接起来做到等电位连接。
RS485 中继器
RS485 中继器可用于延长网络距离,电气隔离不同网段以及增加通信节点数量。中继器的作用如下:
1.延长网络距离:
网络中添加中继器允许将网络再延长 50m ,如果两台中继器连接在一起,中间无其它节点,则可将网络延长 1000m ,一个网络中较多可以使用 9 个西门子中继器。如图 4. 使用 RS485 中继器拓展网络所示。
图 5. 使用 RS485 中继器拓展网络
注意:
S7-200 SMART CPU自由口通信、Modbus RTU通信和USS通信时,不能使用西门子中继器拓展网络。
2.电气隔离不同网段:
隔离网络可以使参考点电位不相同的网段相互隔离,从而确保通信传输质量。
3.增加网络设备:
在一个 RS485 网段中,较多可以连接 32 个通信节点。使用中继器可以向网络中拓展一个网段,可以再连接 32 个通信节点,但是中继器本身也占用一个通信节点位置,所以拓展的网段只能再连接 31 个通信节点。
RS485 网络连接器
西门子提供了两种类型的 RS485 网络连接器(如图 5. RS485网络连接器所示),可使用它们轻松地将多台通信节点连接到通信网络上。一种是标准型网络连接器,另一种则增加了可编程接口。带有可编程接口的网络连接器可以将 S7-200 SMART CPU 集成的 RS485 端口所有通信引脚扩展到编程接口,其中 2 号、7 号引脚对外提供 24VDC电源,可以用于连接 TD400C 。
图 6. RS485网络连接器
网络连接器上两组连接端子,用于连接输入电缆和输出电缆。网络连接器上具有终端和偏置电阻的选择开关,网络两端的通信节点必须将网络连接器的选择开关设置为 On ,网络中间的通信节点需要将选择开关设置为 Off 。典型的网络连接器终端电阻和偏置电阻接线如表 4. 网络连接器终端和偏置电阻所示。
表 4. 网络连接器终端和偏置电阻
使用 SB CM01 信号板可用于连接 RS485 网络,当信号板为终端通信节点时需要接终端电阻和连接偏置电阻,典型的电路图如图 6. SB CM01 信号板终端和偏置电阻接线图所示。
图 7. SB CM01 信号板终端和偏置电阻接线
注意:
● 终端电阻用于消除通信电缆中由于特性阻抗不连续而造成的信号反射。信号传输到网络末端时,如果电缆阻抗很小或者没有阻抗的话,在这个地方就会引起信号反射。消除这种反射的方法,就是在网络的两端端接一个与电缆的特性阻抗相同的终端电阻,使电缆阻抗连续。
● 当网络上没有通信节点发送数据时,网络总线处于空闲状态,增加偏置电阻可使总线上有一个确定的空闲电位,保证了逻辑信号 “0”、“1” 的稳定性。
RS232 连接
RS232 网络为两台设备之间的点对点连接,较大通信距离为15m,通信速率较大为 115.2 Kbit/s 。RS232 连接可用于连接扫描器、打印机、调制解调器等设备。SB CM01 信号板通过组态可以设置为 RS232 通信端口,典型的 RS232 接线方式如图 7. SB CM01 信号板 RS232 连接图所示。
图 8. SB CM01 信号板 RS232 连接
CPU外形结构
CPU外形结构
图1.CPU外形结构
电源及传感器输出电源
在安装或拆卸任何电气设备之前,请确保已切断该设备的电源。在安装和拆卸CPU之前,必须采取合适的安全预防措施并确保切断该CPU的电源。
将CPU连接至电源,下图显示了直流和交流型CPU的接线。
图2.直流安装图3.交流安装
如果在通电情况下尝试安装CPU或相关设备或者对他们进行接线,则可能会触电或导致设备错误运行。如果在安装和拆卸过程中未切断CPU和相关设备的所有电源,则可能导致人员死亡、重伤、或设备损坏。
传感器输出电源:每一个CPU(除CRs)模块都有一个24VDC传感器电源(CPU的电源都在右上方,而右下方是传感器电源。),它为本机输入点和扩展模块继电器线圈提供24VDC。如果电源要求**出了CPU模块24VDC电源的定额,你可以增加一个外部24VDC电源来供给扩展模块的24VDC。
CPU输入电压范围
直流DC:20.4-28.8 VDC
交流AC:85-264VAC(47-63Hz)
S7-200 SMART 电源需求与计算
S7-200 SMART CPU模块提供5VDC和24VDC电源:
CPU有一个内部电源,用于为CPU、扩展模块、信号板提供电源和满足其他24 VDC用户电源需求。请使用以下信息作为指导,确定CPU可以为组态提供多少电能(或电流)。
请参见特定CPU的技术规范,确定24 VDC传感器电源功率预算,CPU提供的5 VDC 逻辑预算,以及扩展模块和信号板5 VDC功率要求。请参考计算功率预算来确定CPU可以为您的组态提供多少电能(或电流)。
CPU为系统中的所有扩展模块提供5 VDC逻辑电源。请特别注意系统配置,确保CPU可提供所选扩展模块要求的5 VDC电源。如果组态要求的电源**出CPU提供的电源范围,则必须拆下一些模块。
如果**出CPU功率预算,则可能无法连接CPU允许的较大数量模块。
CPU还提供了 24V传感器电源,该电源可以为输入点、扩展模块上的继电器线圈电源或其他需求提供24V电源。必须手动将不同电源的公共端(M)连接在一起。
如果需要外部24 VDC电源,则确保该电源未与CPU的传感器电源并联。为提高电气噪声保护能力,建议将不同电源的公共端(M)连接在一起。
将外部24 VDC电源与CPU的24 VDC传感器的电源并联会导致这两个电源之间有冲突,因为每个电源都试图建立自己可以选择的输出电压电平。该冲突可能导致一个电源或两个电源的寿命缩短或立即发生故障,从而导致PLC系统意外运行。意外运行可能导致人员 死亡、重伤或设备损坏。CPU的直流传感器电源和任何外部电源应给不同点供电。允许将多个公共端连接到一起。
S7-200 SMART 系统中的一些24 VDC电源输入端口是互连的,并且通过一个公共逻辑电路连接多个M端子。例如,在数据表中*为“非隔离”时,以下电路是互连的:CPU的24 VDC、EM的继电器线圈的电源输入或非隔离模拟输入的电源。所有非隔离的M端必须连接到同一个外部参考电位。
将非隔离的M端子连接到不同参考电位将导致意外的电流,该电流可能导致PLC和任何连接设备损坏或允许不确定。不遵守这些准则可能会导致设备损坏或运行不确定,而后者可能导致死亡、人员重伤和财产损失。务必确保S7-200 SMART系统中的所有非隔离M端子都连接到同一个参考电位。
表1. S7-200 SMART CPU V1.0 版本供电能力
CPU型号
|
电流供应
|
+5 VDC
|
+24 VDC(传感器电源)
|
CPU SR20
|
740mA
|
300mA
|
CPU ST40
|
740mA
|
300mA
|
CPU SR40
|
740mA
|
300mA
|
CPU CR40
|
--
|
300mA
|
CPU ST60
|
740mA
|
300mA
|
CPU SR60
|
740mA
|
300mA
|
表2. S7-200 SMART CPU V2.0及以上版本供电能力
CPU型号
|
电流供应
|
+5 VDC
|
+24 VDC(传感器电源)
|
CPU SR20/ST20
|
1400mA
|
300mA
|
CPU SR30/ST40
|
1400mA
|
300mA
|
CPU SR60/ST60
|
1400mA
|
300mA
|
CPU CR40/CR60
|
--
|
300mA
|
CPU CR20/30/40/60 s
|
--
|
--
|
表3. CPU上的数字量输入所消耗的电流
CPU上的数字量
|
电流需求
|
+5VDC
|
+24VDC
|
每点输入
|
-
|
4mA/每输入
|
表4. 数字扩展模块所消耗的电流
数字扩展模块型号
|
电流供应
|
+5 VDC
|
+24 VDC
|
EM DE08
|
105mA
|
8*4mA
|
EM DT08
|
120mA
|
--
|
EM DR08
|
120mA
|
8*11mA
|
EM DT16
|
145mA
|
输入:8*4mA
输出:---------
|
EM DR16
|
145mA
|
输入:8*4mA
输出:8*11mA
|
EM DT32
|
185mA
|
输入:16*4mA
输出:---------
|
EM DR32
|
180mA
|
输入:16*4mA
输出:16*11mA
|
表5.模拟扩展模块所消耗的电流
模拟扩展模块型号
|
电流供应
|
+5 VDC
|
+24 VDC
|
EM AE04
|
80mA
|
40mA(无负载)
|
EM AE08
|
80mA
|
70mA(无负载)
|
EM AQ02
|
60mA
|
50mA(无负载)
|
EM AQ04
|
60mA
|
75mA(无负载)
|
EM AM03
|
60mA
|
30mA(无负载)
|
EM AM06
|
80mA
|
60mA(无负载)
|
表6. RTD、TC扩展模块所消耗的电流
RTD/TC扩展模块型号
|
电流供应
|
+5 VDC
|
+24 VDC
|
EM AR02
|
80mA
|
40mA
|
EM AR04
|
80mA
|
40mA
|
EM AT04
|
80mA
|
40mA
|
表7. 信号板和DP扩展模块所消耗的电流
模拟扩展模块型号
|
电流供应
|
+5 VDC
|
+24 VDC
|
SB AQ01
|
15mA
|
40mA(无负载)
|
SB DT04
|
50mA
|
2*4mA
|
SB RS485/RS232
|
50mA
|
不适用
|
SB AE01
|
50mA
|
不适用
|
EM DP01
|
150mA
|
30 mA;通信端口激活时
60 mA;通信端口加90mA/5V负载时
180 mA;通信端口加120mA/24V负载时
|
功率要求计算示例
下表给出了包括以下模块的CPU系统的功率要求计算例子:
? CPU SR40 AC/DC/ 继电器 (固件版本V1.0)
? 3个 EM 8 点继电器型数字量输出(EMDR08)
? 一个 EM 8 点数字量输入(EM DE08)
该安装共有32点输入40点输出
该CPU已分配驱动CPU内部继电器线圈所需的功率。功率计算中*包括内部继电器线圈功率要求。
本例中的CPU提供了足够5VDC电流,但没有通过传感器电源为所有输入和扩展继电器线圈提供足够的24VC电流。I/O需要392mA,但CPU提供了300mA。该安装额外需要一个至少为92mA的24VDC电源以运行所有包括的24 VDC输入和输出。
表8.电源计算示例
CPU功率预算
|
5 VDC
|
24 VDC
|
CPU SR40 AC/DC/继电器
|
740mA
|
300mA
|
减去
|
系统要求
|
5 VDC
|
24 VDC
|
CPU SR40 ,24点输入
|
--
|
24*4mA=96mA
|
插槽0:EM DR08
|
120mA
|
8*11mA=88mA
|
插槽1:EM DR08
|
120mA
|
8*11mA=88mA
|
插槽2:EM DR08
|
120mA
|
8*11mA=88mA
|
插槽3:EM DE08
|
105mA
|
8*4mA=32mA
|
总要求
|
465mA
|
392mA
|
等于
|
电流差额
|
5 VDC
|
24 VDC
|
总电流差额
|
275mA
|
(92mA)
|
西门子3KW变频器