S7-1200与S7-300 PN/S7-400 PN UDP STEP7通信

描述

S7-1200 与 S7-300 PN/S7-400 PN UDP STEP7 通信

S7-1200 与 S7-300 PN 口之间的以太网通信可以通过 UDP 协议来实现,使用的通信指令是在双方 CPU 调用通信-开放式用户通信TSEND_C,TRCV_C(1200支持,300不支持)或TCON,TDISCON,TUSEND,TURCV 指令来实现。通信方式为双边通信,因此 TUSEND 和 TURCV 必须成对出现。

此外对于伙伴是S7-400PN 也可以参考本文档。

硬件和软件需求及所完成的通信任务

测试软/硬件:

① S7-1214 DC/DC/DC V4.4

② S7-315-2PN/DP V2.6

③ STEP7 V16

④ STEP7 V5.5 SP4

所完成的通信任务:

① S7-1200 CPU将通讯数据区 DB4 块中的 10 个字节的数据发送到 S7-300 CPU的接收数据区 DB5 块中。

② S7-300 CPU将通讯数据区 DB5 块中的 10 个字节的数据发送到 S7-1200 CPU的接收数据区 DB4 块中。

S7-1200 侧硬件组态、编程和连接参数的配置

该部分内容和 S7-1200 CPU 与S7-300 PN UDP通信-TIA不同项目->S7-1200 侧硬件组态、编程和连接参数的配置 章节一致,请参见链接。

S7-300PN 侧硬件组态、编程和连接参数的配置

1.Step7内添加300CPU硬件

在硬件配置内添加300机架和315-2PN/DP CPU,如图1所示。

S7-1200

图1. 添加300 CPU设备

为了编程方便,使用 CPU 属性中定义的时钟位,定义方法如下:

双击硬件配置机架内的CPU 315-2PN/DP ,进入CPU属性设置,选择Cycle/Clock Memory,然后激活Clock memory时钟字节定义为 MB0,如图2所示。

时钟位使用 M0.5,以 1Hz 的速率自动激活发送任务。

S7-1200

图2. 启动时钟存储器

2.为 PROFINET 通信口分配以太网地址

双击PN-IO设置CPU IP地址,分配 IP 地址为 192.168.0.3,子网掩码为255.255.255.0,如图3所示。

S7-1200

图3. 分配300CPU IP 地址

3.在Step7内使用OC Wizard向导生成UDP连接参数DB块

①按照如下链接下载并安装OC Wizard向导。

创建用于开放式 TCP/IP 通信的连接数据的向导 (开放式通信向导)。

② 在Step7程序块文件夹空白处右键,启动OC Wizard向导生成UDP连接参数DB块,如图4所示。

S7-1200

图4. 启动OC Wizard向导

③选择新建,点击下一步,如图5所示。

S7-1200

图5. 新建UDP连接数据DB

④连接类型选择UDP,如图6所示。

S7-1200

图6. 选择UDP连接类型

⑤设置UDP连接ID号、连接名称、本地PLC类型和设置伙伴IP地址,如图7所示。

S7-1200

图7. 配置UDP本地和伙伴连接信息

⑥配置本地和伙伴端口号,如图8所示。

S7-1200

图8. 配置本地和伙伴端口号

⑦指定Step7项目内一个DB块,用来存放UDP连接配置数据,项目使用DB10,如图9所示。

S7-1200

图9. 指定DB块存放连接配置数据

⑧UDP连接配置数据生成完毕,生成的数据块为DB10,DB10数据结构,如图为10所示。

S7-1200

图10. UDP连接配置数据结构

4.在 OB1 内调用 UDP 通信指令

打开OB1,在作出指令树内调用UDP通信指令, “库” > “标准库” > “通信块”下调用 “TCON”、“TUSEND”、“TURCV” 指令。创建接收和发送数据块 DB5,发送10字节数组,接收10字节数组,如图11所示。

S7-1200

图11. 从库内调用 UDP 通信指令

300CPU侧配置和编程完成,编译并存盘。

下载硬件组态及程序并监控通信结果

下载两个 CPU 中的所有硬件组态及程序,实现 两个 CPU 之间数据交换,监控结果如图12所示。

S7-1200

图12. 监控结果

以下情况时需要注意确认部分参数的正确设置。

①1200侧同时使用TSEND_C和TRCV_C做指定或未指定伙伴UDP通信,参考图3确认参数的正确设置;
②在1200内使用TSEND_C新建自动生成300PLC连接描述DB块,参考图4确认参数的正确设置;

需确认注意的参数设置:

1.在1200侧使用TSEND_C可新建自动生成1200PLC的连接描述DB块(_1200_Receive_DB),如图1所示和300PLC的连接描述DB块(_300PN_Connection_DB),如图2所示。

S7-1200

图1. TSEND_C新建自动生成1200PLC的连接描述DB块

S7-1200

图2. TSEND_C新建自动生成300PLC的连接描述DB块

2.确认TSEND_C新建自动生成1200PLC的连接描述DB块内,ADDR_Send数据结构必需包含伙伴IP地址和端口号,如图3所示。

S7-1200

图3. 确认1200侧新建生成DB内包含伙伴IP和端口号

3.确认TSEND_C新建自动生成300PLC的连接描述DB块内,rem_staddr_len和rem_tsap_id_len参数必需设置为0,如图4所示。

S7-1200

图4. 确认300侧新建生成DB内rem_staddr_len和rem_tsap_id_len参数必需为0

---------------------END---------------------

审核编辑 :李倩

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分