[西门子] S7-1200 CPU 与 S7-200 SMART S7通信(S7-1200 作为服务器)

[复制链接]
查看269 | 回复0 | 2024-5-2 16:20:42 | 显示全部楼层 |阅读模式
S7-200SMARTCPU从固件版本V2.0开始,其集成的PROFINET通信接口具备支持S7通信的能力。用户可以通过向导操作使用GET/PUT指令来实现S7通信,且支持最多16个S7连接,包含8个客户端和8个服务器。对于S7-1200CPU的PROFINET接口,它主要用于S7通信的服务器角色。而S7-1200本身仅支持单向的S7通信,即作为客户端时只需进行单向的组态和编程,作为服务器时只需配置好通信数据。当S7-1200充当S7服务器时,可以使用6个动态连接资源。


以下举例说明如何通过向导配置S7-200SMART作为客户端与S7-1200进行S7通信。


硬件和软件需求及所完成的通信任务
硬件:
①S7-200SMART PLC标准CPU固件版本V2.5(在文档中S7-ST40DC/DC/DC订货号:6ES7288-1ST40-0AA0)
②S7-1200 CPU固件版本V4.4(在文档中S7-1215DC/DC/DC订货号:6ES7215-1AG40-0XB0)
③PC(带有以太网卡的计算机),以及用于连接该计算机与S7设备的TP以太网电缆。


软件:
①STEP7-MicroWINSMARTV2.5
②TIASTEP7V16


所完成的通信任务:
①S7-200SMART会将VB0地址开始的连续20个字节数据发送至S7-1200的DB8数据块中的相应20个字节位置。         
②S7-200SMART会从S7-1200的DB9数据块中读取20个字节的数据,并将其存储在VB100开始的连续20个字节中。




S7-1200侧组态和编程
1、新建项目

在项目中,添加S7-1215DC/DC/DC,并为其添加子网和分配IP地址,如图1所示。

▲图1 S7-1215DC/DC/DC▲


2、创建DB
依据要求,创建DB数据区,并建立相应数组,分别命名为Write、Read,如图2所示。   

▲图2 创建DB▲


3、创建DB1
S7-200SMART作为S7客户端只能访问S7服务器的V区,而S7-1200没有V区,其数据存储在DB1中。因此,需要将DB9中的数据传输到DB1,再将DB1中的数据传输到DB8,以实现S7-200SMART对S7-1200的DB8和DB9的读写操作。为了实现这一目标,需要创建DB1并建立相关变量,如图3所示。

▲图3 创建DB1▲


4、优化的块访问
在数据块(DB)的属性设置中,应取消对“优化块访问”的选择(将默认选项的勾去掉),对于 DB1 数据块,需要执行这一操作 ,而DB8和DB9则无需此操作。具体的设置方式请参考图4所示。请注意,在编译之后,才能看到偏移量。如果您希望优化数据块的访问方式,可以取消默认勾选并按照优化要求进行配置,以达到更高效的数据访问速度。对于DB8和DB9,它们的访问方式无需进行优化,保持默认设置即可。

▲图4 优化的块访问▲


5、关联变量
将DB8、DB9中需要写和读的变量与DB1中的数据进行关联,如图5所示。

▲图5 关联变量▲


6、连接机制
对于S7-1200CPU,在进行S7通信时,如果固件版本为CPUV4.0或更高,则必须在属性中勾选“允许来自远程对象的PUT/GET通信访问”选项,否则将无法建立通信连接。请参考图6进行设置。

▲图6 连接机制▲


注意:S7-200SMART中V区对应于S7-1200中DB1,且只能对应DB1。




S7-200SMART侧组态和编程
1、系统块


双击“系统块”,设置S7-200SMARTCPU的IP地址,如图7所示。   

▲图7 系统块▲


2、向导
通过使用向导进行GET/PUT通信编程,添加两个操作步骤,分别命名为“读取”和“写入”。完成这些步骤后,点击“下一个”继续,如图8所示。   

▲图8 向导▲


3、配置Read数据
首先,选择操作类型为GET,并设置远程CPU的IP地址。接着,设置本地CPU数据区以及远程CPU数据区的配置,用于存储“读取”的数据。完成这些设置后,点击“下一步”,其含义为:S7-200SMART读取S7-1200DB1中以DB1.DBB0为起始地址的连续20个字节数据并存储在以VB100开始的连续20个字节中,如图9所示。   

▲图9 配置Read数据▲


4、配置Write数据
通过选择操作类型PUT,并设置远程CPU的IP地址、本地CPU数据区和远程CPU数据区配置,完成这些设置后,点击“下一步”。其含义为:S7-200SMART将VB0开始的连续20个字节中的数据发送到S7-1200通信数据区DB1中,具体来说,就是将DB1.DBB20开始的连续20个字节中存储新的数据,如图10所示。   

▲图10 配置Write数据▲


5、存储区分配
在这里指定V存储区中放置组态的起始地址时,建议使用较大的数值,以避免与其他数据发生冲突。完成这一操作后,点击“下一个”,如图11所示。   

▲图11 存储区分配▲


6、组件
在这里可以看到自动生成的组态组件,点击“生成”按钮,即可完成GET/PUT向导配置,如图12所示。

▲图12 组件▲


7、编程
在程序主函数(Main)中调用我们的NET_EXE子程序,并分配相关引脚参数,如图13所示。

▲图13 编程▲
到这里,S7-200SMART作客户端与S7-1200进行S7通信的组态和编程就完成了。




通信测试
连接状态

S7连接的成功建立是执行PUT/GET指令的前提条件。一旦S7连接成功建立,PUT/GET指令就能够正确执行。在TIA软件的网络视图中,您可以在“在线”状态下监控S7连接的状态,如图14所示。

▲图14 S7连接状态▲
数据交互
通过在线监控功能,您可以检查两者之间的数据交互情况,确保数据传输的正确性和有效性,如图15、图16所示。

▲图15 DB8数据▲



▲图16 DB9数据▲
到这里我们就完成了S7-1200CPU与S7-200SMARTS7通信(S7-1200作为服务器)的操作啦。
来源:技成培训网,作者:技成-胡志豪,未经授权不得转载!


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

本帖子中包含更多资源

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

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

本版积分规则