[西门子] S7 - 200SMART 系列 PLC 间 PROFINET 通信的标准实现方法

[复制链接]
查看50 | 回复0 | 3 天前 | 显示全部楼层 |阅读模式
导读


本篇文章,讲一下 S7-200 SMART 系列 PLC 间的 PROFINET IO 通信。从固件版本 V2.5 起,S7-200 SMART 系列 PLC 既能作为 PROFINET 控制器,也支持智能设备功能。接下来,将为大家详细分享 S7-200 SMART 常用的 PROFINET IO 通信实现方法



通信案例描述

现有两台 S7 - 200 SMART 系列 PLC,一台充当 PROFINET 控制器,另一台作为 PROFINET 智能设备。


采用 PROFINET 通信方式,需将控制器中 VB0 ~ VB9 的数据传至智能设备端的 VB100 ~ VB109,同时智能设备要把 VB10 ~ VB19 的数据传至控制器的 VB200 ~ VB209。PLC 连接与数据交换示意图如下



本案例实现的数据交换情况如下:

  1. 控制器 PLC 将 VB0 - VB9 的数据传输至智能设备 PLC 的 VB100 - VB109。

  2. 控制器 PLC 读取智能设备 PLC 的 VB10 - VB19 数据,并存储到自身的 VB200 - VB209




通信案例

(1) 组态 PROFINET 智能设备:选择向导里的 “PROFINET” 选项,在弹出的 PROFINET 配置向导中,将 PLC 角色设为 “智能设备”,并设置 IP 地址与名称,如下图所示




组态数据传送区

点击上图中的 “下一步” 按钮,组态两个数据传送区,每个传送区大小为 10 字节,分别用于存储从控制器传来的数据以及向控制器传送的数据,如下图所示。


其中,传送区 1 从 IB1152 起的 10 字节,用于接收控制器发送的数据;传送区 2 从 QB1152 起的 10 字节,用于向控制器发送数据



单击上图中的生成按钮,完成对智能设备的PLC组态配置。


编写智能设备程序

采用传送指令,将输入区接收到的数据转存至 PLC 中从 VB100 开始的连续 10 个字节地址;同时,把从 VB10 开始的连续 10 个字节地址的数据存入输出区地址。程序如下图所示




组态PROFINET控制器 PLC


在充当控制器的 PLC 软件里,选择向导中的 “PROFINET” 选项。


在弹出的 PROFINET 配置向导中,将 PLC 角色设定为 “控制器”,并设置 IP 地址和名称,如下图所示




添加 PROFINET 网络设备


点击上图中的 “下一页” 按钮,从右侧项目树里找到作为智能设备的 CPU 型号,选中并拖拽至设备表的第一行。


设置该设备的设备名和 IP 地址,此处设置需与组态智能设备时的设置保持一致,如下图所示。




添加子模块

点击上图的 “下一页” 按钮,从右侧的 “子模块” 区域选择输入和输出模块。所选的输入和输出模块要与智能设备的配置相对应。


在本任务的智能设备传送区配置中,第一个是输入类型,第二个是输出类型,所以这里应先添加一个输出子模块,再添加一个输入子模块,每个模块长度均为 10 字节,如下图所示。


完成组态后,点击 “下一步” 按钮,接着点击 “生成” 按钮,即可完成控制器的组态配置



编写控制器程序

将需要传送给智能设备的 VB0 - VB9 的值,输入到以输出地址 QB128 开始的连续 10 个字节地址,进而发送给智能设备。


从智能设备接收的数据,通过以 IB128 开始的 10 个字节地址传入 PLC 的 VB200 开始的地址。程序如下图所示




应用经验总结

(1)基于网络结构模型,进行 PROFINET 通信时,不可跨网段通信,IO 设备与控制器必须处于同一子网。
(2)进行 PROFINET 通信时,需确保智能设备的 PROFINET 站名称与控制器中组态的智能设备站名称一致,否则将无法通信。
(3)两台 PLC 进行 PROFINET 通信时,控制器中组态的子模块要与智能设备中组态的传输区相匹配。例如,若控制器中先组态输入子模块,后组态输出子模块,那么智能设备中需先组态输出传输区,后组态输入传输区,否则通信无法实现


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则