技术论坛

 SIMATIC S7-1500与TIA博途软件的使用---连载67

返回主题列表
作者 主题

至圣

经验值: 11067
发帖数: 1023
精华帖: 21
楼主    2016-10-21 11:00:06
主题:SIMATIC S7-1500与TIA博途软件的使用---连载67

以下内容节选自机械工业出版社出版的西门子自动化技术丛书----《SIMATIC S7- 1500 与 TIA博途软件使用指南》, 作者崔坚。更多更详细的内容请您参考《SIMATIC S7- 1500 与 TIA博途软件使用指南》一书。

 

工业以太网与PROFINET---S7-1500 OUC 通信示例

(S7-1500 PLC在相同项目下进行通信配置)

 

  • 9.4.5 S7-1500 OUC 通信示例

        OUC有四种连接方式,分别为ISO、ISO-on-TCP、TCP/IP和UDP。CPU集成接口、CP1543-1和CM1542-1都支持OUC的通信方式。与S7-300/400相比,无论使用哪一种接口和哪一种连接类型,建立连接的过程和调用的通信函数都相同,这样可以避免不必要的麻烦。TIA博途软件提供了多种建立连接的方式,非常灵活。在下面的示例中仅给出笔者认为最简单的一种方式。考虑到最常见的应用,示例将以在相同项目下和在不同项目下的方式分别介绍通信配置的过程。

        S7-1500 PLC在相同项目下进行通信配置

        1)  创建新项目,例如“OPEN IE 通信”,在项目树下点击“添加新设备”,分别选择CPU1513-1和 CPU1516-3,创建两个S7-1500 PLC站点。

         2)  在设备视图中,点击其中一个CPU的以太网接口,在“属性”标签栏中设定以太网接口的IP地址。例如  CPU1513-1的以太网IP地址为192.168.0.10,子网掩码为255.255.255.0,如图9- 14所示。 

图9- 14设定 CPU以太网的IP地址

         3)  以相同的方式设置CPU1516-3的IP地址和子网掩码。示例中设定的IP地址为192.168.0.20,子网掩码为255.255.255.0。

注意:

CPU以太网接口在缺省状态下IP地址相同,可以通过CPU的显示面板修改IP地址,也可以通过在线联机和下载的方式修改IP地址。

        4)  打开主程序块,直接调用通信函数(“指令”->“ 通信”->“开放式用户通信”)。例如将通信函数“TSEND_C”拖放到CPU1513-1的OB1中,如图9- 15所示。

 

图9- 15调用通信函数“TSEND_C”

        5)鼠标点击主程序中的通信函数,选择“属性”->“组态”->“连接参数”,配置连接属性,如图9- 16所示

 图9- 16配置TSEND_C通信连接参数

首先选择通信伙伴,例如PLC_2 (CPU1516-3),指定通信伙伴后,可以选择下方的通信接口,CPU1516-3的两个以太网接口都支持OUC的通信方式。示例中选择接口X1,指定接口后,子网自动建立并显示所使用以太网接口的IP地址。在组态模式中可以选择“使用组态的连接”或“使用程序块”。如果选择“使用组态的连接”模式,两个PLC的通信连接将固定地占用一个连接资源(通过程序控制可以断开连接);如果选择“使用程序块”的模式,两个PLC的通信连接需要通过编程建立(程序在通信函数内部已经调用了建立通信连接的指令,并在用户接口中设置了一个位信号用于使能),这种连接可以释放,这样就可以分批次地实现与更多的设备通信。示例中选择“使用组态的连接”模式,因为S7-1500 CPU的通信资源非常多。组态模式指定后,可以选择连接类型。示例中选择“ISO-on-TCP”。在连接数据中选择“新建”后,两个PLC的通信连接就建立了。

        6)  在块参数栏中可以配置通信的数据区参数、输入和输入/输出参数,如图9- 17所示。

启动请求REQ: 用于触发数据的发送,每一个上升沿发送一次。示例选择了CPU的时

钟存储器位(在CPU的属性中定义),发送频率为1Hz。

       连接状态CONT:  如果为0,断开通信连接,如果为1,建立连接并保持,缺省设置为1。此参数为隐藏参数,在通信函数中不显示。

       连接参数CONNECT:由系统自动建立的通信数据块,用于存储连接信息。

发送区域 DATA

               起始地址:发送数据区的开始地址。示例中为DB4.DBX0.0,表示从DB4的开始地址作为发送数据区的起始地址。

               长度:发送数据区的长度,示例中为100个字节。至此发送数据区定义完成,为DB4的前100个字节。

                注意: 这里使用的是非优化DB块,如果使用优化DB块,不需要在长度参数中指定,

只需要在起始地址中使用符号名称方式定义即可,例如定义一个数组:“数据块_1.send”。

                发送长度 LEN:  设定实际的发送长度,示例中为60,表示将100个字节的发送数据区中前60个字节发送出去。这些参数可以是变量。

                重新启动块COM_RST:用于重新启动连接,可以不赋值。

图9- 17 TSEND_C 输入、输入/输出参数

输出参数用于指示通信的状态如图9- 18所示。

DONE  :每次发送成功,产生一个上升沿。

BUSY  :为1时表示发送作业尚未完成,无法启动新发送作业。

ERROR :错误位。

STATUS:通信状态字。

 

图9- 18TSEND_C 输出参数

块参数配置完成之后,图9- 15中调用通信函数TSEND_C的参数自动赋值。

        7)  在“组态的连接的总览”中可以查看建立的连接,也可以删除没有使用的连接,如图9- 19所示。这样一个站点的发送程序就完成了。

 图9- 19通信连接总览

        8)  在CPU1516-3站点上编写通信接收程序。例如将通信函数TRCV_C(“指令”->“ 通信”->“开放式用户通信”)拖放到CPU1516-3的OB1中。点击主程序中的通信函数,选择“属性”->“组态”->“连接参数”配置连接属性,如图9- 20所示。

图9- 20配置TRCV_C通信参数

首先选择通信伙伴,例如PLC_1(CPU1513),然后在“连接数据”中直接选择已经

建立的通信连接,例如“ISOonTCP_连接_1”,这样连接参数配置完成。

        9)  在块参数栏配置数据接收区和实际接收到的字节长度,如图9- 21所示。这里需要注意接收区域的长度必须大于等于发送区域(TCP连接除外)。在参数RCVD_LEN中可以读出实际接收数据的长度,其它参数与发送通信函数相同。

 图9- 21配置TRCV_C块参数

        10)  两个站配置完成之后,将程序分别下载到两个CPU中。点击任意一个通信函数上的诊断图标,可以进入诊断界面,如图9- 22所示。

图9- 22诊断OUC的连接状态

 在“连接信息”栏中点击“连接详细信息”可以查看连接的状态。连接状态与通信函数中的连接参数有关,如果连接未建立,应检查连接参数和网络物理连接。

        11)  在“扩展OUC诊断”项中可以查看数据收发信息,CPU1513-1发送的字节数如图9- 23所示。

图9- 23  CPU1513-1 扩展OUC诊断信息

        12)  选择CPU1516-3的连接,点击“在线”,同样可以查看到已接收的字节数,如图9- 24所示。

图9- 24CPU1516-3扩展OUC诊断信息

1)  这样通信任务就轻松完成了。示例程序可以参考光盘目录:示例程序->以太网通信文件夹下的《OPEN IE 通信》项目。

注意:

示例中只演示一对发送接收函数的调用。使用一个通信连接时,CPU可以同时发送和接收数据。一个通信连接用于两个CPU之间的通信。如果一个CPU需要与多少个CPU进行通信,就需要相应地建立多个通信连接。

 

您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。