S7-1200 CPU 与S7-200 CPU S7通信(S7-1200作为客户端)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
S7-1200 CPU 与S7-200 CPU S7通信(S7-1200作为客户端)
S7-1200 CPU 与S7-200 CPU 之间的以太网通信只能通过S7 通信来实现,因为S7-200 的以太网模块只支持S7 通信。
当S7-1200作为客户端,S7-200作为服务器,需在客户端单边组态连接和编程,而作为服务器端的S7-200只需设置为服务器准备好通信的数据就行。
硬件和软件需求及所完成的通信任务
硬件:
①S7-1200 CPU 硬件版本V2.0或更高
②S7-200 CPU + CP243-1
③PC (带以太网卡)
④PC/PPI 电缆
⑤TP以太网电缆
软件:
①STEP7 V11 SP2
②STEP 7 Micro/WIN V4.0 SP9
所完成的通信任务:
①S7-1200 将通信数据区DB1 中的212 个字节发送到S7-200 的VB 数据区。
②S7-1200 读取S7–200中的VB数据区存储到S7-1200 的数据区DB2 。
S7-200 Server 端的组态
1. 打开STEP 7 Micro/WIN 软件,创建一个新项目,在“PLC”>“TYPE”选择所使用CPU 的型号,如图1. 所示。
图1. 选择S7-200 CPU 类型
2. 选择“工具”>“以太网向导” 进入CP243-1 的向导配置,如图2. 所示。
图2. 使用以太网向导
3. 选择CP243-1 模板的位置。
CP243-1 紧邻CPU 安装,所以模板位置为0 ,也可以通过“读取模块”读出模板位置,如图3. 所示。
图3. 选择模板位置
4. 设置CP243-1 模板的IP 地址
I P 地址:192. 168. 70. 101 ,子网掩码:255. 255. 255. 0,如图4.所示。
图4. 设置网络地址
5. 设置模块所占用输出地址字节和连接数,如图5. 所示。
图5. 设置占用输出地址及网络连接数
6. 将CP243-1 定义为Server 端,如图6. 所示。
图6. 定义为Server 端
注意:本例S7-200中安装的CP243-1紧邻CPU,位置为0,故TSAP 地址为10.00;若CP243-1在位置为1,则TSAP地址为10.01。
7. 选择CRC校验,如图7. 所示。
图7. 选择CRC 较验
8. 为配置分配存储区
根据以态网的配置,需要一个V存储区,用户可以指定一个未用过的V 存储区的起始地址,也可以点击“建议地址”按钮使用建议地址。
如图8. 所示。
图8. 为配置分配存储区
9. 生成以太网用户子程序。
如图9. 所示。
图9. 生成子程序
10. 调用向导中生成的子程序,并将程序下载到CPU中。
如图10. 所示。
图10. 调用子程序
S7-1200 Client 端的配置编程
1. 使用STEP7 V11软件新建一个项目并完成硬件配置,网络组态1.1 在“项目树”>“设备组态”>“网络视图”下,按如下图片中1~6的步骤建立S7连接,如图11. 所示。
图11. 建立S7连接
1.2 按如下图片中1~3的步骤填写连接参数,如图1
2. 所示。
图12. 定义连接对方IP地址
1.3 在“地址详细信息”中设置通信伙伴的TSAP地址,如图13. 所示。
图13. 定义通信双方TSAP号
注意:通讯伙伴的TSAP地址设定必须与CP243-1的组态一致,如图6所示。
2. 软件编程
2.1 创建发送数据块DB1(接收区数据块DB2类似),定义为212个字节的数组,如图14.和15. 所示。
图14. 创建发送数据块DB1
图15. 定义212个字节的数组
2.2 在OB1中,从“指令”-->“S7 通信”下,调用Get、Put通信指令,程序见图16。
图16. 程序调用功能
CALL “PUT”, %DB3
//调用PUT,使用背景DB
块:DB3
REQ :=%M0.7 //系统时钟2秒脉冲
ID :=W#16#0100
//连接号,要与连接配置中一
致,创建连接时的连接号DONE :=%M2.0 // 为1时,发送完成ERROR :=%M2.1 // 为1时,有故障发生STATUS :=%MW4 // 状态代码
ADDR_1
:=P#DB1.DBX1000.0
BYTE 212 // 发送到通信伙伴数据区的
地址
SD_1
:=P#DB1.DBX0.0 BYTE
212
// 本地发送数据区
CALL “GET”, %DB4
//调用GET,使用背景DB
块:DB4
REQ:=%M0.7 //系统时钟2秒脉冲
ID :=W#16#0100
//连接号,要与连接配置中一
致,创建连接时的连接号NDR :=%M2.2 //为1时,接收到新数据
ERROR :=%M2.3 //为1时,有故障发生STATUS :=%MW6 //状态代码
ADDR_1
:=P#DB1.DBX2000.0
BYTE 212 //从通信伙伴数据区读取数
据的地址
RD_1
:=P#DB2.DBX0.0 BYTE
212
//本地接收数据地址
3. 监控结果
通过在S7-1200侧编程进行S7通信,实现两个CPU之间的数据交换,监控结果如图17。
图17. S71200和S7200监控数据
注意:S7-200中V区对应于DB1,即在PUT指令中使用的通信伙伴数据区ADDR_1=P#DB1.DBX1000.0 BYTE 212在S7-200中对于为VB1000~VB1211。