湖南 西门子 6ES7222-1BF32-0XB0 报价单
PROFINET 通信
PROFINET 是开放的、标准的、实时的工业以太网标准。
PROFINET 作为基于以太网的自动化标准,它定义了跨厂商的通信、自动化系统和工程组态模式 。
借助 PROFINET IO 实现一种允许所有站随时访问网络的交换技术。 作为 PROFINET 的一部分,PROFINET IO 是用于实现模块化、分布式应用的通信概念。这样,通过多个节点的并行数据传输可更有效地使用网络。 PROFINET IO 以交换式以太网全双工操作和 100 Mbit/s 带宽为基础。
PROFINET IO 基于 20 年来 PROFIBUS DP 的成功应用经验,并将常用的用户操作与以太网技术中的新概念相结合。
这可确保 PROFIBUS DP 向 PROFINET 环境的平滑移植。
PROFINET 的目标是:
● 基于工业以太网建立开放式自动化以太网标准
尽管工业以太网和标准以太网组件可以一起使用,但工业以太网设备更加稳定可靠,因此更适合于工业环境(温度、抗干扰等)。
● 使用 TCP/IP 和 IT 标准
● 实现有实时要求的自动化应用
● 全集成现场总线系统
PROFINET IO 分为IO 控制器, IO 设备, IO 监视器:
PROFINET IO 控制器指用于对连接的 IO 设备进行寻址的设备。这意味着 IO 控制器将与分配的现场设备交换输入和输出信号。IO 控制器通常是运行自动化程序的控制器。
PROFINET IO 设备指分配给其中一个 IO 控制器(例如,远程 IO、阀终端、变频器和交换机)的分布式现场设备。
PROFINET IO 监控器指用于调试和诊断的编程设备、PC 或 HMI 设备。
S7-1200 PROFINET 通信口
CPU硬件版本 | 接口类型 | 控制器功能 | 智能IO设备功能 | 可带IO设备最大数量 | 扩展站子模块最大数量总和 |
V4.0 | PROFINET | √ | √ | 16 | 256 |
V3.0 | PROFINET | √ | × | 16 | 256 |
V2.2 | PROFINET | √ | × | 8 | 128 |
S7-1200 PROFINET与 IO device 通信
PROFINET IO 设备指分配给一个或多个 IO 控制器的分布式现场设备(例如,远程 IO、阀岛、变频器和交换机等)。PROFINET IO 控制器对连接的 IO 设备进行寻址,与现场设备交换输入和输出信号。
硬件和软件需求及所完成的通信任务
硬件:
① S7-1200 CPU V2.0 或更高版本 (文档中使用V4.2版本S7-1215C DC/DC/DC)
② PC (带以太网卡),TP电缆(以太网电缆)
③ 分布式IO(文档中使用ET200SP IM 155-6 PN HF V3.3)
软件:
TIA 博图 STEP7 V11 或更高版本(文档中使用V14 SP1 UPD3)
所完成的通信任务:
① S7-1200 读取IM 155-6 PN HF数字量输入点数据
② S7-1200 向IM 155-6 PN HF输出点传送数据
通信的编程,连接参数及通信参数的配置
1. 打开TIA 博图STEP 7软件并新建项目
在 TIA 博图 STEP 7软件的 “项目视图” 中点击 “创建新项目” 创建一个新项目
2. S7-1200硬件组态及参数分配
在硬件列表中选择对应的订货号,如图1所示。
图1 添加S7-1200 CPU
在设备视图中显示出 S7-1200 的组态画面,如图2所示。
图2 S7-1200 设备视图
接着需要给S7-1200 CPU 设置 IP 地址,通过在设置视图中点击S7-1200的以太网口>“属性” > “常规”>“以太网地址” 设置,如图3所示。
图3 设置IP地址
进入网络视图,在硬件目录中选择IM155-6PN HF(6ES7155-6AU00-0CN0)并插入,如图4所示。
图4 添加IM155-6PN HF
然后双击IM155-6PN HF 进入设备视图进行硬件组态,为IM155-6PN HF添加IO模块,如图5所示。
需要注意底座颜色(浅色为使用新的电位组,深色为使用左侧模块的电位组),以及IO模块的版本。
图5 IM155-6PN HF 硬件组态
回到设备视图,点击IM155-6PN HF模块的图标,然后在“属性” 〉“常规” > “项目信息”中定义该接口模块的名称 “ET200SP HF”,如图6所示。
图6 IM155-6PN HF设置名称。
设置名称后,需要给IM155-6PN HF设置IP 地址,在网络视图中点击IM155-6PN HF以太网口,然后在“属性” 〉“常规” 〉“以太网地址”中设置IP 地址“192.168.1.11”,如图7所示。
并且从图7中可知该IM155-6PN HF的设备名称和项目信息中的名称相同,只是大写字母换成了小写字母“et200sp hf”。
图7 设置IM155-6PN HF IP 地址
在网络视图中左键点击IM155-6PN HF的“未分配”图标,在弹出框中选择该IO设备的控制器,文档中选择“PLC_1.PROFINET接口_1”,即前面新建的CPU S7-1215C,如图8所示。
图8 IM155-6PN HF 分配IO控制器
这样在IM155-6PN HF的地址总览中可以看到IM155-6PN HF所占用的S7-1200 I/O 区域,以及网络结构,如图9所示。
图9 IM155-6PN HF IO 地址及网络结构
右键点击PROFINET 网络给IM155-6PN HF分配设备名称,如图10所示。
图10 分配设备名称
在弹出页面“分配PROFINET设备名称”中,点击“更新列表”按钮,搜索ET200SP。
如果此时搜索到的网络节点包含多个ET200SP,则可以通过检查MAC地址的方式确定此刻需要分配设备名称的ET200SP。ET200SP网口的MAC地址位于接口模块24V电源正上方。
如果此时待分配设备名称的ET200SP状态显示“设备名称不同”,则此时组态的离线设备名称(“et200sp hf”)与在线设备名称不同(“im155-6”),如图11所示。
如果此时待分配设备名称的ET200SP状态显示“确定”,则此时组态的离线设备名称与在线设备名称相同,可以跳过该模块的设备名称分配(即跳过图12)。
图11 离线在线设备名称不同
如果离线设备名称与在线设备名称不同,则左键选中该节点,点击“分配名称”按钮,几秒钟后,该网络节点ET200SP的在线设备名称变为“et200sp hf”,与组态的离线设备名称相同,状态变为“确定”,此时完成一个IO设备的设备名称分配,如图12所示。
图12 离线在线设备名称相同
项目硬件和软件全部编译后下载,在S7-1200 变量表中可以监控DI变量的状态,也可以给DO 变量赋值, 观察DO模块的输出,如图13所示。
PROFINET 智能设备功能简介
PROFINET 智能设备(I Device)功能使CPU 不但可以作为一个智能处理单元处理生产工艺的某一过程,而且可以和 IO 控制器之间交换过程数据。该 PN 设备可以同时作为 IO 控制器和 IO 设备。智能设备功能简化了与 IO 控制器的数据交换以及对 CPU的操作。智能设备可作为IO 设备链接到上层IO 控制器。参考图 1 智能设备功能。
图1 智能设备功能
图1中作为智能设备的SIMATIC CPU/CP 不仅能处理下层分布式I/O 的数据,而且能将数据传递给上层的I/O 控制器。
智能设备的应用领域与优势
智能设备的应用领域:
●分布式处理
可以将复杂自动化任务划分为较小的单元/子过程。这使得过程可管理,从而简化了子任务。
●单独的子过程
通过使用智能设备,可以将分布广泛的大量复杂过程划分为具有可管理的接口的多个子过程。这些子过程存储在各个STEP 7 项目中,而这些项目经过合并可形成一个总的项目。
● 专有技术保护
为了对智能设备进行接口描述,各个系统部分只能通过一个GSD 文件来提供,而不是通过 STEP 7 项目来提供。用户程序的专有技术不会被公开。
硬件和软件需求及所完成的通信任务
硬件:
① S7-1200 CPU
② PC (带以太网卡),TP电缆(以太网电缆)
③ 315-2PN/DP V3.2 or Higher
④ ET200S 151-3PN
软件:
STEP7 V11 SP2 or Higher
所完成的通信任务:
① 1200 将数据发送给智能设备315-2PN/DP
② 智能设备315-2PN/DP 采集IO 设备151-3PN 数字量输入
S7-1200 连接智能设备网络结构
下面介绍PROFINET智能设备功能的配置方法,参考图 2 PROFINET网络结构。
图2 PROFINET 网络结构
IO控制器 CPU1214C V2.1连接SCALANCE 414-3E交换机和一个IO设备 CPU315-2 PN/DP V3.2构成一个PROFINET IO系统 1。IO设备CPU315-2PN/DP V3.2同时作为PROFINET IO系统 2 的IO控制器连接一台IO设备ET200S IM151-3PN (6ES7 151-3BA23-0AB0) V7.0。CPU315-2 PN/DP就是这个系统中的智能设备。
S7-1200连接智能设备组态步骤
1.首先在 STEP7 V11 SP2的 “Portal View” 中选择 “Create new project” 创建一个新项目,对S7-1200进行硬件组态,选择对应的订货号,这里使用的是6ES7214-1AE23-0XB0,版本是V2.1。参考图3 选择订货号。
图3 选择订货号
2.将该订货号直接拖到网络视图中,然后点击CPU 模块,在“属性” 〉 ”常规” 的名称中设置控制器名称。参考图4 S7-1200 设置设备名称。
图4 S7-1200 设置设备名称
4.双击该模块进入设备视图。在设备视图中可以进行S7-1200 系统的硬件配置。参考图5 S7-1200 设备视图。
图5 S7-1200 设备视图
5.在设备视图中可以看到整个S7-1200 CPU 的图形。点击以太网口图标,在下面的PROFINET 接口属性中,选择“常规”〉 “以太网地址”,然后在右侧选择“在项目中设置IP 地址”,设置IP 地址和子网掩码。参考图6 设置1200 以太网地址。
图6 设置1200 IP 地址
7.这样就完成了S7-1200 CPU 的硬件组态。然后需要对CPU 315-2 PN/DP 进行硬件组态。在硬件列表中选择订货号,参考图7 CPU 315 选择订货号。
图7 CPU 315 选择订货号
8.将该订货号拖入网络视图中,然后点击CPU 模块,在“属性”〉“常规”的名称中设置智能设备名称。参考图8 CPU 315 设置设备名称。
图8 CPU 315 设置设备名称
9.双击该模块进入CPU 315-2PN/DP设备视图。参考图9 CPU315 设备视图。
图9 CPU 315 设备视图
10.点击CPU 模块上的以太网口图标,然后在PROFINET 接口“属性”〉“常规”中选择“以太网地址”,在右侧选择“在项目中设置IP 地址”,然后为CPU 315 设置 IP 地址。注意要与1200 CPU 的IP 地址在同一个网段,且地址不能重复。参考图10 设置CPU 315-2PN/DP 以太网地址。
图10 设置CPU 315-2PN/DP 以太网地址
11.在进入网络视图中,添加IM 151-3 PN,订货号为6ES7 151-3BA23-0AB0,参考图11 IM151-3 PN 选择订货号。
图11 IM151-3 PN 选择订货号
12.双击该模块,进入该设备视图进行硬件配置,根据实际的模块插入电源模块和DI、DO模块,参考图12 IM151-3 PN硬件配置。
图12 IM151-3 PN硬件配置
13. 点击IM151-3 PN模块的图标,然后在IM 151-3“属性”〉“常规”的“名称”中定义该接口模块的设备名称,参考图13 IM151-3 设置设备名称。
图13 IM151-3 设置设备名称
14.设置设备名称后,需要给IM151-3 设置IP 地址,在网络视图中点击IM151-3以太网口,然后在“属性”〉“常规”〉“以太网地址”中设置IP 地址“192.168.0.15”。参考图14 设置IM 151-3 IP 地址。
图14 设置IM 151-3 IP 地址
15.在网络视图中将IM151-3 分配给CPU 315-2PN/DP,CPU 315-2PN/DP作为IM151-3 的控制器,参考图15控制器分配。
图15 控制器分配
16.这样在设备视图中可以看到IM151-3 占用 CPU 315-2PN/DP 的I/O 地址。参考图 16 IM151-3 I/O 地址。
图 16 IM151-3 I/O 地址
17. 然后在网络视图中给151-3 分配设备名称。参考图17 设备名称分配 。
图17 设备名称分配
18. 在弹出的对话框中点击“分配名称”,分配设备名称可能需要几秒钟的时间,在这期间软件界面是禁止操作的。参考图18分配PROFINET设备名称。
图18 分配PROFINET设备名称
19. 这样PROFINET IO 系统 2 的配置已经完成,即 CPU 315-2PN/DP 作为智能设备与自身的IO 设备的连接已经完成。下面对PROFINET IO 系统1进行配置,需要对智能设备CPU 315-2PN/DP 分配IO 控制器 S7-1200 CPU。 进入CPU 315-2PN/DP 的设备视图,在CPU “属性”〉“常规”〉“PROFINET 接口”〉“操作模式”中钩上“IO 设备”,并选择已分配的控制器“S7-1200 PROFINET interface_1”。参考图19定义I device 的控制器。
图19 定义I device 的控制器
20. 然后在图18 操作模式的传输区中定义I device 与 控制器通信的数据区域。例如将控制器的QB2 传送给智能设备的IB0。参考图20传输区定义。
图20 传输区定义
21. 经过上述的操作,在项目的网络视图中得到完整的网络结构。参考图21 网络结构。
图21 网络结构
22.将CPU 315-2PN/DP 以及 S7-1200 的硬件配置编译后全部下载。参考图22 项目下载。
图22 项目下载
通信调试
1.系统结构建立后,PROFINET IO控制器 S7-1200、智能设备CPU 315-2PN/DP、PROFINENTIO 设备IM151-3 之间可以进行数据交换。对S7-1200 的变量QB2 赋值为1,参考图23 PROFINET控制器S7-1200变量赋值。
图 23 PROFINET控制器S7-1200变量赋值
2. 在本文配置中,PROFINET 控制器S7-1200 的 QB2 对应PROFINET 智能设备 CPU 315-2PN/DP 的 IB0,所以 CPU 315-2PN/DP IB0 的值为1;同时 CPU 315-2PN/DP 作为IM151-3 控制器,也可以与IM151-3进行数据交换,例如当IM151-3 数字量输入点有信号输入时,智能设备CPU 315-2PN/DP的输入变量会采集到该信号。参考图24智能设备 CPU 315-2PN/DP 变量监控。
图24 智能设备CPU 315-2PN/DP 变量监控
S7-1200作为智能IO设备和S7-300 PN CPU 的 Profinet 通信(S7-300做控制器)
S7-1200 V4.0 支持智能 IO 设备功能,故可使用 S7-1200 作为智能 IO 设备和 S7-300 PN CPU 的 Profinet 通信。本例中将 S7-300 做为控制器,连接作为智能 IO 设备的S7-1200 CPU 实现 Profinet 通信;下面详细介绍使用方法。
硬件:
CPU 1217C DC/DC/DC,V4.0 CPU 315-2PN/DP,V3.2软件:
Step7 V13 Step7 V5.5 SP3S7-300 集成的 PN 接口连接 S7-1200 的 PN 接口,这种方式可以分2种情况来操作,具体如下:
第一种情况:CPU 1217C 和 CPU 315 使用 Step7 V13 编程,在一个项目中操作。 第二种情况:CPU 1217C 使用 Step7 V13,而 CPU 315 使用 Step7 V5.5。1. 第一种情况(同一项目中操作)
315-2PN/DP 作为 controller,1217C 作为 IO device,使用 Step7 V13 在一个项目中操作,详细步骤如下。
1-1 使用 Step7 V13 创建 S7-300 站
使用 STEP7 V13 创建一个新项目,并通过“添加新设备”组态 S7-300 站 PLC_1,选择 CPU 315-2 PN/DP;设置 IP 地址,并确认设备名称,本示例中设备名称是plc_1。如图 1 所示。
图 1 在新项目中插入 S7-300 站
1-2 使用 Step7 V13 创建 S7-1200 站
使用 STEP7 V13 创建一个新项目,并通过“添加新设备”组态 S7-1200 站 PLC_2,选择 CPU1217C DC/DC/DC V4.0;设置 IP 地址,并确认设备名称,本示例中设备名称是plc_2。如图 2 所示。
图 2 在新项目中插入 S7-1200 站
S7-1200 作为 IO 设备,需要将其操作模式设置为 IO 设备,并将 IO 设备分配给控制器 PLC_1 。如图 3 所示。
图 3 S7-1200 设置为 IO 设备
接着,在“智能设备通信”的“传输区”创建 IO 通信区,控制器的 QB0~4 共计5个字节传送到 IO 设备的 IB2~6 ;控制器的 IB0~4 共计5个字节读取来自 IO 设备的 QB2~6 。如图 4 所示。
图 4 创建 IO 通信区
1-2 编程、下载
1、CPU 315-2 PN/DP 作为控制器,需要调用 OB83 和 OB86(防止控制器无法正常连接作为 IO 设备的 S7-1200 时,出现的停机现象)。如图 5 所示。
图 5 组态主站 CUP300 的 DP 接口
2、分别将 PLC_1 站和 PLC_2 站下载到各自的 PLC 中。
1-3 检查设备名称和 IP 地址是否正确
将软件切换到“网络视图”,找到 PN/IE 总线,查看设备名称是否正确。如图 6、7 所示。
图 6 网络视图
图 7 确认设备名称和 IP 地址
1-4 通讯测试
检查无错误后,分别给两个站点新建监控表,添加通信数据区,监控。如图 8 所示。
图 8 通信测试
2. 第二种情况(不在同一项目中操作)
不在一个项目中的操作,即:315-2PN/DP 作为 controller 使用 Step7 V5.5 编程;1217C 作为 IO device,使用 Step7 V13 编程,详细步骤如下。
2-1 使用 Step7 V13 创建 S7-1200 站
使用 STEP7 V13 创建一个新项目,并通过“添加新设备”组态 S7-1200 站 IO-device ,选择 1217C;设置 IP 地址,并确认设备名称,本示例中设备名称是io-device。如图 9 所示。
图 9 在新项目中插入 S7-1200 站
S7-1200 作为 IO 设备,需要将其操作模式设置为 IO 设备。如图 10 所示。
图 10 S7-1200 设置为 IO 设备,并创建 IO 通信区
接着,在“智能设备通信”的“传输区”创建 IO 通信区,控制器将传输5个字节到 IO 设备的 IB2~6 ;IO 设备将 QB2~6 共计5个字节传送给控制器。
2-2 导出 IO 设备的 GSD 文件
编译该项目,在“智能设备通信”属性的下方,找到并点击“导出”按钮,根据提示将 GSD 文件导出(注意不要修改设备名称)。如图 11 所示。
图 11 导出 IO 设备的 GSD 文件
2-3 使用 Step7 V5.5 创建 S7-300 站
使用 STEP7 V5.5 创建一个新项目,并组态 315-2 PN/DP,设置 IP 地址,并确认设备名称,本示例中设备名称是PN-IO。如图 12 所示。
图 12 在新项目中插入 S7-300 站
在 Step7 V5.5 的硬件组态界面,通过“选项”进入“安装 GSD 文件...”界面, 在源路径选择 IO-device 的 GSD 文件存放路径。如图 13 所示。
图 13 Step7 V5.5 安装 IO-device 的 GSD 文件
2-4 在 Step7 V5.5 中组态 IO-device
在 STEP7 V5.5 的硬件组态界面,将硬件目录路径:PROFINET IO --> Preconfigured Stations --> CPU 1217C DC/DC/DC --> IO-device 拖拽到 PN 总线上。如图 14 所示。
图 14 组态 IO-device
2-5 编程、下载
1、CPU 315-2 PN/DP 作为控制器,需要调用 OB83 和 OB86(防止控制器无法正常连接作为 IO 设备的 S7-1200 时,出现的停机现象);
2、分别将 S7-300 站和 S7-1200 站下载到各自的 PLC 中。
2-6 检查设备名称和 IP 地址是否正确
将 STEP7 V13 软件切换到“网络视图”,找到 PN/IE 总线,查看设备名称是否正确。如图 15、16 所示。
图 15 网络视图
图 16 确认设备名称和 IP 地址
2-7 通讯测试
检查无错误后,分别给两个站点新建监控表,添加通信数据区,监控。如图 17 所示。
S7-1200作为智能IO设备和CP343-1的 Profinet 通信(S7-300做控制器)
S7-1200 V4.0 支持智能 IO 设备功能,故可使用 S7-1200 作为智能 IO 设备和 CP343-1 的 Profinet 通信。本例中将 S7-300 做为控制器,连接作为智能 IO 设备的S7-1200 CPU 实现 Profinet 通信;下面详细介绍使用方法。
硬件:
CPU 1217C DC/DC/DC,V4.0 CPU 314C-2ptp,V2.6 + CP343-1,V3.0软件:
Step7 V13 Step7 V5.5 SP3CP343-1 的 PN 接口连接 S7-1200 的 PN 接口,这种方式可以分2种情况来操作,具体如下:
第一种情况:CPU 1217C 和 CPU 314C 使用 Step7 V13 编程,在一个项目中操作。 第二种情况:CPU 1217C 使用 Step7 V13,而 CPU 314C 使用 Step7 V5.5。1. 第一种情况(同一项目中操作)
CPU 314C 作为 controller,1217C 作为 IO device,使用 Step7 V13 在一个项目中操作,详细步骤如下。
1-1 使用 Step7 V13 创建 S7-300 站
使用 STEP7 V13 创建一个新项目,并通过“添加新设备”组态 S7-300 站 PLC_1,选择 CPU 314C-2 ptp, 添加 CP343-1 ,设置 IP 地址。如图 1 所示。
图 1 在新项目中插入 S7-300 站
在“操作模式”选项中确认 CP343-1 的操作模式。 如图 2 所示。
图 2 选择 CP343-1 操作模式
1-2 使用 Step7 V13 创建 S7-1200 站
使用 STEP7 V13 创建一个新项目,并通过“添加新设备”组态 S7-1200 站 PLC_2,选择 CPU1217C DC/DC/DC V4.0;设置 IP 地址,并确认设备名称,本示例中设备名称是plc_2。如图 3 所示。
图 3 在新项目中插入 S7-1200 站
S7-1200 作为 IO 设备,需要将其操作模式设置为 IO 设备,并将 IO 设备分配给控制器 PLC_1 。如图 4 所示。
图 4 S7-1200 设置为 IO 设备
接着,在“智能设备通信”的“传输区”创建 IO 通信区,控制器的 QB2~6 共计5个字节传送到 IO 设备的 IB2~6 ;控制器的 IB2~6 共计5个字节读取来自 IO 设备的 QB2~6 。如图 5 所示。
图 5 创建 IO 通信区
1-2 硬件组态下载,检查设备名称和 IP 地址是否正确
分别将 PLC_1 站和 PLC_2 站下载到各自的 PLC 中。
将软件切换到“网络视图”,找到 PN/IE 总线,查看设备名称是否正确。如图 6、7 所示。
图 6 网络视图
图 7 确认设备名称和 IP 地址
1-3 S7-300 编程
本例中,CP343-1 作为 IO 控制器,需要在 OB1 中编程调用 PNIO_SEND 和 PNIO_RECV 进行数据读写。如图 8 所示。
图 8 CPU314C 中编程
CALL “PNIO_SEND” | ||
CPLADDR | :=256 | // CP 模板起始地址 |
MODE | :=0 | // 工作模式:当CP343-1仅作为IO控制器或IO设备时,设为0;当CP343-1同时作为IO控制器和IO设备时,设为1 |
LEN | :=7 | // 要发送的数据区长度;该长度始终是从数据区地址0开始计算 |
SEND | :=P#M100.0 BYTE 7 | // 发送数据区 |
IOCS | :=P#M150.0 BYTE 10 | // 每一用户数据字节传送一个状态位。长度信息取决于LEN参数中的长度。 以程序段1为例,共发送7个字节,每个字节需要1个比特位,所以共需要7位,即至少需要1字节。 |
DONE | :=%M0.0 | // 为1时,无错误完成该作业 |
ERROR | :=%M0.1 | // 为1时,有故障发生 |
STATUS | :=%MW2 | // 状态代码 |
CHECK_IOCS | :=%M0.3 | // 0: 所有IOCS均设置为GOOD |
CALL “PNIO_RECV” | ||
CPLADDR | :=256 | // CP 模板起始地址 |
MODE | :=0 | // 工作模式:当CP343-1仅作为IO控制器或IO设备时,设为0;当CP343-1同时作为IO控制器和IO设备时,设为1 |
LEN | :=7 | // 要接收的数据区长度;该长度始终是从数据区地址0开始计算 |
RECV | :=P#M200.0 BYTE 7 | // 发送数据区 |
IOPS | :=P#M250.0 BYTE 10 | // 每一用户数据字节传送一个状态位。长度信息取决于LEN参数中的长度。 以程序段2为例,共接收7个字节,每个字节需要1个比特位,所以共需要7位,即至少需要1字节。 |
NDR | :=%M1.0 | // 为1时,无错误完成该作业 |
ERROR | :=%M1.1 | // 为1时,有故障发生 |
STATUS | :=%MW4 | // 状态代码 |
CHECK_IOPS | :=%M1.2 | // 0: 所有IOPS均设置为GOOD |
ADD_INFO | :=%MW6 | // 附加诊断信息;具体请查看指令帮助信息 |
1-4 通讯测试
检查无错误后,下载 S7-300 的程序,分别给两个站点新建监控表,添加通信数据区,监控。如图 9 所示。
图 9 通信测试
1-5 地址对应关系的说明
图 10 地址对应关系
从图中可以看到,当 CP343-1 作为控制器时,其传送的地址需从0开始的。地址对应排列关系以逻辑地址大小为序。地址如果出现间隔时,如例子中,没有组态的地址区 IB0~2(QB0~1) 及其对应的 MB100~101(MB200~201) 也将被传送。
2. 第二种情况(不在同一项目中操作)
不在一个项目中的操作,即:CPU314C 作为 controller 使用 Step7 V5.5 编程;1217C 作为 IO device,使用 Step7 V13 编程,详细步骤如下。
2-1 使用 Step7 V13 创建 S7-1200 站
使用 STEP7 V13 创建一个新项目,并通过“添加新设备”组态 S7-1200 站 IO-device ,选择 1217C;设置 IP 地址,并确认设备名称,本示例中设备名称是io_device。如图 11 所示。
图 11 在新项目中插入 S7-1200 站
S7-1200 作为 IO 设备,需要将其操作模式设置为 IO 设备。如图 12 所示。
图 12 S7-1200 设置为 IO 设备,并创建 IO 通信区
接着,在“智能设备通信”的“传输区”创建 IO 通信区,控制器将传输5个字节到 IO 设备的 IB2~6 ;IO 设备将 QB2~6 共计5个字节传送给控制器。
2-2 导出 IO 设备的 GSD 文件
编译该项目,在“智能设备通信”属性的下方,找到并点击“导出”按钮,根据提示将 GSD 文件导出(注意不要修改设备名称)。如图 13 所示。
图 13 导出 IO 设备的 GSD 文件
2-3 使用 Step7 V5.5 创建 S7-300 站
使用 STEP7 V5.5 创建一个新项目,并组态 CPU 314C-2 ptp, 添加 CP343-1 ,设置 IP 地址,并确认设备名称,本示例中设备名称是PN-IO。如图 14 所示。
图 14 在新项目中插入 S7-300 站
在 Step7 V5.5 的硬件组态界面,通过“选项”进入“安装 GSD 文件...”界面, 在源路径选择 IO-device 的 GSD 文件存放路径。如图 15 所示。
图 15 Step7 V5.5 安装 IO-device 的 GSD 文件
2-4 在 Step7 V5.5 中组态 IO-device
首先,需要给 CP343-1 插入 Profinet IO 总线,在 CP343-1 的“PN-IO”上鼠标右键,选择“插入 Profinet IO 系统”。如图 16 所示。
图 16 插入 Profinet IO 系统
然后,从硬件目录路径:PROFINET IO --> Preconfigured Stations --> CPU 1217C DC/DC/DC --> IO-device 拖拽到 PN 总线上。如图 17 所示。
图 17 组态 IO-device
2-5 硬件组态下载,检查设备名称和 IP 地址是否正确
分别将 S7-300 站和 S7-1200 站下载到各自的 PLC 中。
将 STEP7 V13 软件切换到“网络视图”,找到 PN/IE 总线,查看设备名称是否正确。如图 18、19 所示。
图 18 网络视图
图 19 确认设备名称和 IP 地址
2-6 S7-300 编程
本例中,CP343-1 作为 IO 控制器,需要在 OB1 中编程调用 PNIO_SEND 和 PNIO_RECV 进行数据读写。如图 20 所示。
图 20 CPU314C 中编程
CALL “PNIO_SEND” | ||
CPLADDR | :=W#16#100 | // CP 模板起始地址 |
MODE | :=B#16#0 | // 工作模式:当CP343-1仅作为IO控制器或IO设备时,设为0;当CP343-1同时作为IO控制器和IO设备时,设为1 |
LEN | :=7 | // 要发送的数据区长度;该长度始终是从数据区地址0开始计算 |
SEND | :=P#M100.0 BYTE 7 | // 发送数据区 |
IOCS | :=P#M150.0 BYTE 10 | // 每一用户数据字节传送一个状态位。长度信息取决于LEN参数中的长度。 以程序段1为例,共发送7个字节,每个字节需要1个比特位,所以共需要7位,即至少需要1字节。 |
DONE | :=%M0.0 | // 为1时,无错误完成该作业 |
ERROR | :=%M0.1 | // 为1时,有故障发生 |
STATUS | :=%MW2 | // 状态代码 |
CHECK_IOCS | :=%M0.3 | // 0: 所有IOCS均设置为GOOD |
CALL “PNIO_RECV” | ||
CPLADDR | :=W#16#100 | // CP 模板起始地址 |
MODE | :=B#16#0 | // 工作模式:当CP343-1仅作为IO控制器或IO设备时,设为0;当CP343-1同时作为IO控制器和IO设备时,设为1 |
LEN | :=7 | // 要接收的数据区长度;该长度始终是从数据区地址0开始计算 |
RECV | :=P#M200.0 BYTE 7 | // 发送数据区 |
IOPS | :=P#M250.0 BYTE 10 | // 每一用户数据字节传送一个状态位。长度信息取决于LEN参数中的长度。 以程序段2为例,共接收7个字节,每个字节需要1个比特位,所以共需要7位,即至少需要1字节。 |
NDR | :=%M1.0 | // 为1时,无错误完成该作业 |
ERROR | :=%M1.1 | // 为1时,有故障发生 |
STATUS | :=%MW4 | // 状态代码 |
CHECK_IOPS | :=%M1.2 | // 0: 所有IOPS均设置为GOOD |
ADD_INFO | :=%MW6 | // 附加诊断信息;具体请查看指令帮助信息 |
2-7 通讯测试
检查无错误后,分别给两个站点新建监控表,添加通信数据区,监控。如图 21 所示。
图 21 通信测试
2-8 地址对应关系的说明
图 22 地址对应关系
从图中可以看到,当 CP343-1 作为控制器时,其传送的地址需从0开始的。地址对应排列关系以逻辑地址大小为序。地址如果出现间隔时,如例子中,没有组态的地址区 IB0~2(QB0~1) 及其对应的 MB100~101(MB200~201) 也将被传送
湖南 西门子 6ES7222-1BF32-0XB0