通过S7协议实现西门子S7-1200PLC与S7-200PLC的通信

1.概述
通过以太网可以实现西门子s7-1200plc与西门子s7-200plc连接通信。s7-200可以使用 模块(cp243-1或cp 243-1 it)连接到以太网上,该模块提供s7 通信的功能,既可作为客户机,也可以作为服务器,可以同时与最多8个s7 通信伙伴进行通信;s7-1200 集成以太接口,提供s7 通信的功能,只能作为服务器,可以同时建立3 个通信连接。
下面会用一个实例来描述s7-200 如何与s7-1200建立通信连接。
图1: 实例网络拓扑图 2.硬件需求 •® s7-1214c ac/dc/rly
•® cpu 224 xp cn dc/dc/dc
•® cp243-1 it
•® scalance x204-2
•® pg/pc(使用编程电缆)
3.软件需求 •® s7-1200编程软件 step 7 basic v10.5
•® s7-200 编程软件 step 7 –microwin v4.0 sp6
4.组态 4. 1 s7-1200 配置
•® 使用step 7 basic 创建项目“coms7200”;
图2: 创建项目 •® 添加s7-1200 设备 cpu1214c;
图3: 添加plc设备 4. 2 s7-1200 plc 编程
•® 在program blocks 下,添加程序块(db1,db2,db3),其中db1和db3为符号db(选择 symbolic access only),db3为绝对地址db(不选择 symbolic access only) , s7 通信只支持绝对地址db 寻址通信;
图4: 创建绝对地址db2 •® 打开全局db2,输入2个数组类型数据,每个数组有16 个元素;
图5: 在db2中添加数据 •® 创建两个watch table(watch table_1, watch table_2) 用来观察db2的实时状态;
•® 将程序下载到plc cpu1214c 中。 4. 3 s7-200 配置
使用step 7-microwin 中以太网向导将cp243-1 it 配置为 s7 客户端。
•® 通过菜单打开以太网向导工具;
图6: 以太网向导 •® 设置模块位置,可以使用“读取模块”来自动识别;
图7: 模块位置设置 •® 设置模块cp243-1 it 的ip地址192.168.0.8和子网掩码255.255.255.0;
图8: 设置ip 地址 •® 设置模块的连接数1 ,最多只能设置8个,也就是说s7-200可同时与最多 8 个 s7 通讯伙伴进行通讯;
图9: 设置模块连接数; •® 建立客户端连接 connection_1,设置服务器传输层服务接入点 tsap 03.01和服务器ip地址 192.168.0.18 , tsap 由 2 个字节组成。第一个字节为连接资源。第二个字节为通讯模板的机架号和插槽号;
图10: 配置连接 •® 创建读取数据传输 peermessage_1, 读取服务器 16字节 db2.dbb0~ db2.dbb15 到vb0~vb15;
图11: 配置数据传输0
•® 创建读取数据传输 peermessage_2, 将 16字节vb16~vb31写入服务器db2.dbb16~ db2.dbb31 ;
图12: 配置数据传输1 •® 为配置分配存储区;
图13: 分配存储区 4. 4 s7-200 plc 编程
•® 在step 7-microwin 中主程序中,调用子程序eth0_ctrl;
图14: 调用eth0_ctrl 其中cp_ready 为cp 243-1 it 的状态(0 未准备就绪,1 准备就绪),ch_ready 为每个通道或 it 服务的状态(0通道 ,值为256):error 为出错或报文代码;
•® 程序建立后,需通过ppi连接 将程序块和数据块下载到s7-200 cpu中;
图15: 设置 pg/pc 接口cp5611(ppi) •® 这样以后就可以通过以太网接口进行下载,将pg/pc接口设为tcp/ip连接;
•® 在step 7-microwin 中主程序中,调用子程序eth0_xfr读取服务器数据,指定相应的连接通道和数据;
图16:调用eth0_xfr 读取服务器 •® 在step 7-microwin 中主程序中,调用子程序eth0_xfr写入服务器数据,指定相应的连接通道和数据;
图17:调用eth0_xfr 写入服务器 •® 将程序下载到s7-200 cpu 中; 4. 5 检测 s7-1200 与s7-200 plc 通信结果
•® 从s7-200 程序中可知,在m10.0 从0变为1时,读取s7-1200的数据db2.dbb0~db2.dbb15 到vb0~vb15中;
图18:s7-1200 db2.dbb0~dbb15
图19:s7-200 vb0~vb15 •® 从s7-200 程序中可知,在m11.0 从0变为1时,将s7-200的数据vb16~vb31 写入s7-1200 的db2.dbb16~db2.dbb31中;
图20:s7-200 vb16~vb31
图21:s7-1200 db2.dbb16~dbb31
5.总结
s7 1200 与 s7-200 通过 s7通信的基本原理如下图所示:
图22:s7-200与s7-1200 通信原理 注意:
cp 243-1 it 可支持一个或多个远程通讯伙伴的最多 8 个 s7 通讯通道到客户机(最多212 字节)或服务器。cp 243-1 it 可以根据客户机/服务器原理在每个通道运行。每个通道,每次只能接收、处理或响应(主动响应或被动响应)一个请求。只有在发送响应后,cp 243-1 it 通讯处理器才能接受其它请求。