QQ登录

只需一步,快速开始

S7-300/400 CPU 集成工业以太网口以 OPEN IE 的通信方式与SIMOTION实现 TCP/IP 通信

[ 复制链接 ]
S7-300/400 CPU 集成工业以太网口以 OPEN IE 的通信方式与SIMOTION实现 TCP/IP 通信

一、S7 Open IE通讯概述
可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Simotion设备进行数据交换,下列通信协议支持开放式通讯:

• TCP
• UDP

PLC 通过工业以太网 OPEN IE 通信方式下的 TCP IP 协议进行数据交换,需要使用以下程序块:

• FB65 "TCON" 建立连接
• FB66 "TDISCON" 中止连接
• FB63 "TSEND" 发送数据
• FB64 "TRCV" 接收数据

这些通信功能块可以在函数库 Standard Library -> Communication Blocks 中找到。 用于连接 TCP IP 端点的参数存储于一个数据结构体中。在本程序示例中,使用数据结构体 UDT65 "TCON_PAR",用户将对这个数据结构体进行参数化。不需要在 NetPro 中配置通信连接。UDT65的创建需要使用 Open IE向导来完成。


二、S7 Open IE通讯程序描述

1.使用Open IE 向导生成数据块

(1) 打开Open Communication Wizard程序,如图1所示:

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...
图1.

(2)点击“Next”,如图2所示:

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...
图2.

(3)在图3画面中选择S7-300项目及数据块的存贮路径:

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...
图3.

(4)在图4画面中点击“Next”:

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...
图4.

(5)在图5画面中选择“TCP native”后点击“Next”:

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...
图5.

(6)在图6画面中选择如下后点击“Next”:

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...
图6.

(7)在图7画面中选择此PLC的连接方式(Active为Client,Passive为Server),通讯伙伴的IP地址及使用PLC的版本号:

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...
图7.

(8)在图8画面中输入本PLC及通讯伙伴的端口号:

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...
图8.

(9)在图9画面中输入生成的数据块名称,本程序中为UDT65:

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...
图9.

(10)在图10画面中点击“Next”:

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...
图10.

(11)在图11画面中点击“Finish”,结束配置:

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...
图11.

2.PLC编程

(1)创建数据块DB1,如图12所示:

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...
图12.

(2)拷贝FB63,FB54,FB65,FB66至项目中,并分别为其创建背景数据块DB63,DB64,DB65,DB66,如图13所示:

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...
图13.

(3)在OB1中编程通讯程序,如图14所示:

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...

图14.

3.PLC通讯功能块介绍

(1)调用FB65 建立通讯连接

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...
图15.

输入参数 "REQ" :其上升沿触发来建立连接。
输入参数“ID”:为连接ID。
输入参数“CONNECT”:填写用UDT65生成的数据块DB1,连接建立后会一直保持,直到调用FB66才会中断。

输出参数:

BUSY
DONE
ERROR
描述
TRUE
正在处理中
FALSE
TRUE
FALSE
工作成功完成
FALSE
FALSE
TRUE
工作因错误而中止,原因参看""Status"
FALSE
FALSE
FALSE
FB未被分配一个新任务

输出参数“STATUS”:错误信息。

(2)调用FB64 接收程序

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...
图16.

输入参数 "EN_R" :始终为“TRUE”。
输入参数“ID”:为连接ID。
输出参数“RCVD_LEN”:为接收数据长度。
输出参数:

BUSY
DONE
ERROR
描述
TRUE
正在处理中
FALSE
TRUE
FALSE
工作成功完成
FALSE
FALSE
TRUE
工作因错误而中止,原因参看""Status"
FALSE
FALSE
FALSE
FB 未被分配一个新任务

输出参数“STATUS”:错误信息。

(3)调用FB63 发送程序

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...
图17.

输入参数 "REQ" :为发送请求,上升沿有效。
输入参数“ID”:为连接ID。
输入参数“LEN”:为发送数据长度。

输出参数:

BUSY
DONE
ERROR
描述
TRUE
正在处理中
FALSE
TRUE
FALSE
工作成功完成
FALSE
FALSE
TRUE
工作因错误而中止,原因参看""Status"
FALSE
FALSE
FALSE
FB 未被分配一个新任务

输出参数“STATUS”:错误信息。

(4)调用FB66 中断连接程序

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...
图18.

输入参数 "REQ" :为中断连接请求,上升沿有效。
输入参数“ID”:为连接ID。

输出参数:

BUSY
DONE
ERROR
描述
TRUE
正在处理中
FALSE
TRUE
FALSE
工作成功完成
FALSE
FALSE
TRUE
工作因错误而中止,原因参看""Status"
FALSE
FALSE
FALSE
FB 未被分配一个新任务

输出参数“STATUS”:错误信息。

4.Simotion侧的编程
(1)在Simotion的命令库中,包含TCP IP通讯函数,如图19所示:

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...
图. 19

(2)打开服务器程序

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...
图. 20

port : Simotion自己的Port,如2001
backlog : 允许的并行连接数
nextcommand : 同步或异步调用
Out : 含functionresult和connectionID
(3)接收数据

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...
图. 21

connectionid : 连接ID,在OpenServer的返回值中。
nextcommand : 同步或异步调用
receivevariable : 接收到的数据
Out : 接收返回值,含function result和datalength

(3)发送数据

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...

一、S7 Open IE通讯概述 可以通过S7-300/400 PLC集成的 PROFINET 接口使用基于工业以太网的开放式通信与Sim ...
图. 22

Connectionid : 连接ID,在OpenServer的返回值中。
nextcommand :同步或异步调用
datalength : 发送数据的长度
data : 发送的数据

注意:
Simotion侧与PLC侧的发送及接收区数据长度应保持相同。



回复

使用道具 举报

点击查看
快速回复 返回列表 客服中心 搜索