在工业自动化系统中,西门子不同系列PLC之间的数据通信是常见需求。本文将详细讲解如何配置S7-1200作为客户端与S7-200 SMART之间的S7通信。
通信基础概览
S7-1200 (固件V2.0+):支持S7单边通信,作为客户端时只需单边组态。系统预留8个可组态S7连接,加上6个动态连接资源,最多可组态14个客户端连接。
S7-200 SMART (固件V2.0+):本体PROFINET接口支持S7通信,最多支持8个客户端和8个服务器连接。
本文以S7-1200作为客户端进行配置,S7-200 SMART作为服务器。
硬件与软件需求
硬件
S7-1200 CPU (本文使用S7-1212C)
S7-200 SMART 标准型CPU (固件版本V2.8)
PC(带以太网卡)、TP电缆(以太网电缆),路由器
软件
TIA Portal (博途) V19
STEP 7-Micro/WIN SMART V2.8
通信任务目标
发送任务:S7-1200将
DB1中的10个字节发送到S7-200 SMART的VB0开始的数据区。接收任务:S7-1200从S7-200 SMART的
VB100开始区域读取10个字节,存储到DB2中。
S7-1200 侧组态与编程
1. 新建项目并配置硬件
在TIA Portal V19中新建项目,添加S7-1212C CPU,为其创建子网并分配IP地址。
2. 激活时钟存储器
在硬件组态中,进入"系统和时钟存储器"设置,激活时钟存储器字节。这将为后续编程提供时钟脉冲信号。
3. 创建数据块(DB)
依据通信任务要求,创建两个数据块:
创建
DB1:在其中创建名为发送数据的数组,类型为Byte,数量为10。此DB块用于向S7-200 SMART发送数据。创建
DB2:在其中创建名为接收数据的数组,类型为Byte,数量为10。此DB块用于存储从S7-200 SMART读取的数据。
4. 调用PUT/GET指令
在主程序块OB1中,调用PUT和GET指令:
PUT指令:用于将数据发送到S7-200 SMARTGET指令:用于从S7-200 SMART读取数据
点击指令块右上角的蓝色图标开始组态S7连接。
5. 组态S7连接
在连接组态界面中,进行以下关键设置:
伙伴侧:选择"未指定"
TIA软件会自动创建S7连接(如:S7_连接_2)并自动分配连接ID
伙伴IP地址:输入S7-200 SMART的IP地址(例如:
192.168.0.6)确认勾选:S7-1200侧"主动建立连接"选项
6. 编写程序
根据PUT/GET指令各个管脚的含义,进行正确编程:
GET指令:REQ:触发信号ID:连接ID(与PUT指令相同)ADDR_1:伙伴数据地址RD_1:本地接收数据区
S7-200 SMART 侧组态
服务器端配置
S7-200 SMART作为服务器端,配置非常简单:
1.设置IP地址:在STEP 7-Micro/WIN SMART的系统块中,设置CPU的IP地址,确保与S7-1200中设置的伙伴IP地址一致。
2.无需编程:作为S7服务器,S7-200 SMART CPU中不需要任何编程,只需准备好通信数据区即可。
S7-200 SMART的V区对应于S7连接中的DB1,因此在S7-1200的PUT/GET指令中,地址P#DB1.DBX0.0对应S7-200 SMART的VB0。
重要注意事项
地址对应关系:S7-200 SMART中的V区对应S7连接中的DB1
连接ID一致:对于同一个S7连接,PUT和GET指令的ID号必须相同
触发频率:合理设置REQ触发信号的频率,避免通信过于频繁
IP地址确认:确保两台设备的IP地址在同一网段且不冲突
通信测试
将组态和程序下载到S7-1200,确保S7-200 SMART的IP地址设置正确
将两台PLC切换到RUN模式
通过TIA Portal在线监控:
在S7-1200的DB1中写入测试数据,观察S7-200 SMART的VB0-VB9是否收到
在S7-200 SMART的VB100-VB109中写入数据,观察S7-1200的DB2是否更新
如果数据交互正确,说明S7通信已成功建立!
总结:S7-1200作为客户端的配置相对简单,只需在单侧进行组态和编程。掌握这种通信方式,可以灵活实现不同系列西门子PLC之间的数据交换,为自动化系统集成提供便利。

