(2)如果出现如图 41 所示的情况,本地连接名称“S7_连接_1”左侧有红色标志,则说明连接没有建立,请检查网线的连接、IP地址等。
图 41. 通讯连接未建立
2.4 S7-300 侧和 S7-1200 侧软件编程
1. S7-300 侧软件编程
(1)创建并定义 S7-300 的接收数据区 DB 块。
通过“项目树”>“PLC_1”>“程序块”>“添加新块”,选择“数据块” 创建 DB块,点击“确定”键,定义接收数据区为 10 个字节的数组,如图 42,43 所示。
图 42. 创建接收数据区 DB 块
图 43. 定义接收数据区为字节类型的数组
(2)创建并定义 S7-300 的发送数据区 DB 块。
通过“项目树”>“PLC_1”>“程序块”>“添加新块”,选择“数据块” 创建 DB块,点击“确定”键,定义发送数据区为 10 个字节的数组,如图 44,45 所示。
图 44. 创建发送数据区 DB 块
图 45. 定义发送数据区为字节类型的数组
(3)在 OB1 中,从“指令” >“通信” >“S7 通信”下,调用 GET、PUT 通信指令,程序调用如图 46所示。
图 46. 程序调用功能
(4)GET 功能块使用背景数据块 DB1,管脚说明如下:
参数说明:
输入接口参数:
REQ | :系统时钟 2Hz 的脉冲,在上升沿启动发送作业 |
ID | :连接号,要与连接配置中一致,创建连接时的连接号,如图 37 所示 |
ADDR_1 | :指向伙伴 CPU 发送地址区域 |
SD_1 | :指向本地 CPU 接收地址区域 |
输出接口参数:
NDR | :接收到新数据时,该位置 1 |
ERROR | :通信过程中有错误发生,该位置 1 |
STATUS | :有错误发生时,会显示错误代码 |
(5)PUT 功能块使用背景数据块 DB2,管脚说明如下:
参数说明:
输入接口参数:
REQ | :系统时钟 2Hz 的脉冲,在上升沿启动发送作业 |
ID | :连接号,要与连接配置中一致,创建连接时的连接号,如图 37 所示 |
ADDR_1 | :指向伙伴 CPU 接收地址区域 |
SD_1 | :指向本地 CPU 发送地址区域 |
输出接口参数:
DONE | :发送数据完成时,该位置 1 |
ERROR | :通信过程中有错误发生,该位置 1 |
STATUS | :有错误发生时,会显示错误代码 |
2. S7-1200 侧软件编程
(1)创建并定义 S7-1200 的发送数据区 DB 块。
通过“项目树”>“PLC_2”>“程序块”>“添加新块”,选择“数据块” 创建 DB 块,在 DB块的“属性->常规->属性”中,取消勾选“优化的块访问”,点击“确定”键,定义发送数据区为 10 个字节的数组,如图47,48,49 所示。
图 47. 创建接收数据区 DB 块
图 48. 设置发送数据区 DB 块属性
图 49. 定义发送数据区为字节类型的数组
(2)创建并定义 S7-1200 的接收数据区 DB 块。
通过“项目树”>“PLC_2”>“程序块”>“添加新块”,选择“数据块” 创建 DB 块,在 DB块的“属性->常规->属性”中,取消勾选“优化的块访问”,点击“确定”键,定义接收数据区为 10 个字节的数组,如图50,51,52 所示。
图 50. 创建接收数据区 DB 块
图 51. 设置接收数据区 DB 块属性
图 52. 定义接收数据区为字节类型的数组
2.5 下载程序并监控通信结果
下载两个 CPU 中的程序,实现两个 CPU 之间数据交换,监控结果如图 53 所示。
图 53. 监控结果
三. 第三种情况(S7-1200 在TIA Portal 项目中,S7-300 在 STEP7 项目中)
使用 STEP7,新建一个 S7-300 站点,使用 TIA Portal,新建一个 S7-1200 站点,做 S7通讯。
3.1 S7-300 侧通信的编程,连接参数及通信参数的配置
1. 创建 PLC 项目
在STEP7 中创建一个项目并插入 CPU314C-2PN/DP 站。操作步骤如下:
(1) 打开 STEP7,在“File” 菜单中选择“New…” 选项,如图 54 所示。