PROFIBUS基础与组网应用-项目六 工业以太网组网应用_第1页
PROFIBUS基础与组网应用-项目六 工业以太网组网应用_第2页
PROFIBUS基础与组网应用-项目六 工业以太网组网应用_第3页
PROFIBUS基础与组网应用-项目六 工业以太网组网应用_第4页
PROFIBUS基础与组网应用-项目六 工业以太网组网应用_第5页
已阅读5页,还剩161页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录Contents16.1认识工业以太网协议26.2PROFINETIO组网应用336.3开放式用户通信及应用46.4S7通信及应用56.5ModbusTCP通信及其应用6.1认识工业以太网协议01任务引入

工业以太网工业以太网是以太网技术应用到工业控制形成的组网技术,本节任务是认识工业以太网组网协议,了解工业以太网的概念和熟悉组网的协议。任务准备---工业以太网概述1)定义

工业以太网是基于IEEE802.3(Ethernet)的强大的区域和单元网络。2)以太网分类

以太网按传输速率可分为标准、快速、千兆、万兆等四类以太网。

3)传统以太网存在的问题(1)通信的确定性与实时性

由于以太网采用CSMA/CD机制,当网络负荷较大时,易发生冲突,此时就必须重发数据,且最多可尝试16次之多,很明显此解决冲突的机制是以付出时间为代价的。(2)网络的稳定性与可靠性传统以太网并不是为工业应用而设计的,它没有考虑工业现场环境的适应性需要。面对恶劣的工况,严重的电磁干扰等,都将使可靠性降低。(3)网络的安全性工业以太网可将企业传统的信息管理层、过程监控层、现场设备层集成起来,使数据的传输速率更快、实时性更高,并可与Internet无缝对接,实现数据共享,但易受病毒感染、黑客的非法入侵与非法操作。4)工业以太网技术特点工业以太网技术上与IEEE802.3/802.3u兼容,使用ISO和TCP/IP通讯协议;10/100M自适应传输速率;冗余24VDC供电;可方便的构成星型、总线型和环型拓扑结构。任务实施---SIMATIC工业以太网协议以OSI参考模型的各层为基础,提供若干用户接口,通过接口可实现S7、SEND/RECEIVE、SNMP、PROFINETIO等协议的通信服务一、S7协议

标准的S7协议用于与SIMATICS7可编程控制器(PLC)进行通信。支持PG/PC于可编程控制器之间、S7系统可编程控制器之间的数据交换。基于以太网的S7通信,SIMATICNET为S7控制器和工作站均提供了通信模块。容错的S7协议,容错的S7协议连接仅用于工业以太网,且使用ISO、ISO-ON-TCP传输协议二、SEND/RECEIVE协议SEND/RECEIVE协议是用于通过PROFIBUS和工业以太网传输数据的通信协议。通过此协议,SIMATICS5设备、SIMATICS7设备、PC、工作站以及第三方设备之间可以实现简单的数据交换。对基于以太网的SEND/RECEIVE协议,SIMATICS5设备、SIMATICS7设备、PC、工作站提供了通信模块,协议支持ISO、ISO-on-TCP、TCP三种连接类型。任务准备三、SNMP简单网络管理协议(SNMP)是一各用于网络管理的基于UDP的开放式协议。在SIMATICNET中支持监视、控制和管理任意的兼容SNMP的网络组件。任务准备三、PROFINET

PROFINETIO是在工业以太网上实施模块化和分布式应用的一项自动化概念。使用PROFINETIO,分布式I/O和现场设备可集成到以太网通信中。PROFINETIO由IO控制器、IO设备、IO管理器三种设备类型,IO控制器和IO设备间提供了实时通信RT、等实时通信IRT、NRT通道进行数据交换,其中RT基于以太网第二层,以实现过程自动化中PROFINET设备间的用户数据通信。IRT通道实现运动控制中PROFINET设备间的用户数据通信,NRT通道实现非周期性读写数据记录、参数分配和组态以及读取诊断信息。6.2PROFINETIO组网应用026.2.1S7-1200PLC与远程IO模块的PROFINETIO通信6.2.2S7-1200PLC之间的PROFINETIO通信6.2.3S7-1500PLC、S7-1200PLC、远端模块之间PROFINETIO通信6.2.1S7-1200PLC与远程IO模块的PROFINETIO通信

任务引入PROFINETIO是在工业以太网上实施模块化和分布式应用的一项自动化概念。使用PROFINETIO,分布式I/O和现场设备可集成到以太网通信。

本节任务是在认识PROFINETIO的基础上,实现分布式I/O与S7-1200PLC组建PROFINETIO网络。任务准备一、认识PROFINET协议PROFINET技术是由PROFIBUSInternational(PI)推出的,是新一代基于工业以太网技术、TCP/IP和IT标准的自动化总线标准。通过PROFINET,分布式现场设备(如现场IO设备、信号模块)可直接连接到工业以太网,实现与PLC等设备通讯,且可达到与现场总线相同或更优越的响应时间,其典型的响应时间在10ms的数量级。PROFINET提供两种基于以太网的自动化集成解决方案:PROFINETIO(分布式IO)和PROFINETCBA(基于组件的分布式自动化系统)。1)PROFINET协议模型PROFINET是基于以太网通信标准,采用了快速以太网的物理层,数据链路层则在遵循IEEE802.3标准的同时,做了一些优化措施,采用等时同步实时ASIC芯片,保证数据的实时性。网络层和传输层采用IP、TCP/UDP;应用层包括IT的应用。PROFINET协议提供不同的通信通道,支持三种性能等级的实时通信需求(1)TCP/IP标准通信(2)实时(RT)通信(3)等时同步实时(IRT)通信2)PROFINET与PROFIBUS技术比较3)PROFINETIO系统结构PROFINETIO体系组网的结构类似于PROFIBUS-DP,分为三种设备类型。(1)IO控制器运行自动化程序的控制器,如PLC。(2)IO监视器具有投入运行和诊断功能的编程装置,PC等(3)IO设备分配给某个IO控制器的远指定的现场设备,如分布式I/O、变频器等4)PROFINETIO与PROFIBUS-DP术语比较二、软硬件准备1台西门子S7-1200PLC1214DC/DC/DC、1台工业网络交换机、2根RJ45接头的双绞线、一个IM155-6PNST分布式IO模块、分布式IO模块使用的DI和DQ模块。任务实施一、硬件组态1)新建项目2)硬件配置3)IP地址设置4)插入IM155-6PNST5)插入接口模块6)建立客户端与IO设备的连接“网络视图”,点击IO-DEVEICE设备上的“未分配”,提示选择IO控制器,出现PLC_1的接口,选择即可,PLC_1(IO控制器)则与IO设备连接完成。7)分配IO设备的名称设备视图界面,鼠标放在远端模块的上,点击右键,右键菜单里选择分配设备名称。点击更新列表,出来远端模块的列表信息后,点击分配名称。任务实施

二、程序设计验证该远端模块的I/O能正常使用,使用该远端模块的I/O,做一个起跑停程序。这里设计一个用M点做启动和停止信号,Q点使用该模块分配的点位。任务实施三、调试验证1)硬件连接2)编译下载3)监控测试6.2.2S7-1200PLC之间的PROFINETIO通信

任务引入西门子S7-1200PLCCPU不仅可以作IO控制器,而且还可以作IO设备。本次任务是S7-1200PLCCPU分别作IO控制器和IO设备的通信。任务准备软件:TIAPortalV16。硬件:2台西门子S7-1200PLC1214DC/DC/DC、1台工业网络交换机、2根RJ45接头的双绞线。两台S7-1200PLC,定设备1作为IO控制器,设备2作IO为设备,实现两个字节的数据传输。任务实施一、硬件组态1)新建项目2)硬件配置点开设备和网络下的PLC_1,可修改命名为IO控制器,PLC_2可命名为IO设备3)IP地址设置设置IP地址为;同样的办法设置另外PLC_2的IP地址为014)配置IO设备PROFINET接口的操作模式点开PLC_2(IO设备),双击选中设备组态,点开属性;常规里找到PROFINET接口,下点开操作模式;勾上IO设备选项,点开分配的IO控制器选项,选择IO控制器.PROFINET接口_15)配置IO设备通信接口数据点击下面的“智能设备通信”,在右边出现传输区域配置,点击“新增”,新增输入输出的I/O配置,这里分配的地址占用的是各PLC的I/O地址任务实施

二、程序设计测试组网和数据传输的实现,可以编写如下程序,把PLC1的MW10的数据传送到QW100,同样的可以把PLC2的MW10传送到QW100。任务实施三、调试验证1)硬件连接2)编译下载3)监控测试6.2.3S7-1500PLC、S7-1200PLC、远端模块之间PROFINETIO通信

任务引入

S7-1500PLCCPU作为IO控制器,可连接其他IO设备,本任务是S7-1500PLC作为IO控制器,S7-1200PLC、远端I/O模块做IO设备组建PROFINETIO系统实现联网控制。任务准备软件:TIAPortalV16。硬件:1台西门子S7-1500PLC1512C-1PN、1台西门子S7-1200PLC1212CDC/DC/DC、1台工业网络交换机、3根RJ45接头的双绞线、一个IM155-6PNST分布式IO模块、分布式IO模块使用的DI和DQ模块。任务实施一、硬件组态1)新建项目2)硬件配置(1)添加CPU

选择控制器,CPU1512C-1PN,6ES7512-1CK01-0AB0;再添加CPU1212CDC/DC/DC,订货号6ES7212-1AE40-0XB0(2)插入IM155-6PNST和接口模块网络视图中,插入信号模块IM155-6PNST

插入两个DI16x24VDCST,6ES7131-6BH01-0BA0;一个DQ16x24VDC/0.5AST,6ES7132-6BH01-0BA03)IP地址设置设置CPU1512C-1PNIP地址为,远端模块的地址;同样的办法设置另外PLC_2的IP地址为014)配置S7-1200的操作模式和接口数据点开PLC_2(IO设备),双击选中设备组态,点开属性;常规里找到PROFINET接口,下点开操作模式;勾上IO设备选项,点开分配的IO控制器选项,选择IO控制器.PROFINET接口_15)建立S7-1500与IM155-6PNST的连接点开IM155-6PNST设备图上的“未分配”,选择IO控制器为PLC_1的接口6)分配设备名称鼠标放在远端模块的上,点击右键,右键菜单里选择分配设备名称。点击更新列表,出来远端模块的列表信息后,点击分配名称任务实施

二、程序设计1)S7-1500程序S7-1500中编写如下程序,实现一个简单的启跑停S7-1500中的地址I128为组建通信接口时,IO控制器的接口地址,对应着S7-1200的输出。Q129为IM155-6输出板的地址编号任务实施2)S7-1200程序MB10的程序传送到QB128,QB128为IO设备中用于发送数据的地址,对应到S7-1500的I128任务实施三、调试验证1)硬件连接2)编译下载3)监控测试S7-1200强制表中强制MB10为16#01,对应的M10.0置位为1,传到S7-1500,其I128为16#01,即I128.0置位为1,启动打开,程序接通,Q129.0置位为1,可在信号模块的面板观察到输出指示灯亮。强制S7-1200中的MB10为16#00,则S7-1500中的I128.0变为0,强制S7-1200中的MB10为16#02,S7-1500中的I128.1变为1,停止运行,Q129.0置位为06.3开放式用户通信及应用026.3.1S7-1500与S7-1200的ISO-on-TCP协议通信6.3.2S7-1500与S7-1200的TCP协议通信(TSEND_C、TRCV_C指令)6.3.3S7-1200之间的TCP协议通信(TSEND_C、TRCV_C指令)6.3.4S7-1200之间的TCP协议通信(TSEND、TRCV指令)6.3.5S7-1200之间的UDP协议通信(TUSEND、TURCV指令)开放式用户通信(OpenUserCommunicationOSC)

SIMATIC工业以太网支持的一种非实时性通信,适用于SIMATICS7-1200/1500/300/400PLC之间的通信,PLC与个人计算机或者第三方设备之间的通信。支持ISOTransport、ISO-on-TCP、UDP、TCP传输协议(1)UDP用户数据报协议(UDP),是TCP/IP协议传输层协议之一,适用于简单的交叉网络数据传输,通信双方传输不用建立固定的连接,无数据确认报文,不检测数据可靠性。通过UDP传输协议,使得各种设备在工业以太网上通信变得非常容易。(2)TCP传输控制协议(TCP,TransmissionControlProtocol),是TCP/IP传输层协议另外一个协议,适应于通信可靠性要求高的场合。通过建立TCP协议连接,工业以太网的设备能实现可靠的数据传输。(3)ISO-on-TCPISO-on-TCP传输协议,用于支持SIMATICS7和PC以及非西门子支持的TCP/IP以太网系统。ISO-on-TCP符合TCP/IP,相对标准的TCP/IP,还附加了RFC1006协议。(4)ISOTransportISO传输协议支持基于ISO的发送和接收,使得SIMATIC设备在工业以太网上的通信变得容易。ISO协议的数据接收由通信方确认,可靠性高。6.3.1S7-1500与S7-1200的ISO-on-TCP协议通信

任务引入开放式用户通信ISO-on-TCP传输协议,在博途中可以使用指令TSEND_C、TRCV_C来实现数据的传输,这两条指令支持ISO-on-TCP和TCP协议。本任务是基于TSEND_C、TRCV_C指令实现S7-1500与S7-1200的ISO-on-TCP组网通信,数据传输。任务准备1)TSEND_C指令参数一、认识TSEND_C、TRCV_C的参数参数声明数据类型说明REQInputBOOL在上升沿启动发送作业。CONTInputBOOL控制通信连接:0:断开通信连接1:建立并保持通信连接LENInputUINT要通过作业发送的最大字节数。如果在参数DATA中使用纯符号值,则LEN参数的值必须为“0”。CONNECTInOutTCON_Param指向连接描述的指针DATAInOutVARIANT指向发送区的指针,该发送区包含待发送数据的地址和长度(最大长度:8192字节)。传送结构时,发送端和接收端的结构必须相同。COM_RSTInOutBOOL重新启动该指令:0:不相关1:该指令重新启动完成后,将导致现有连接终止并建立一个新连接。DONEOutputBOOL状态参数,可具有以下值:0:作业尚未启动,或仍在执行过程中1:作业已执行,且无任何错误BUSYOutputBOOL状态参数,可具有以下值:0:作业尚未启动或已完成1:作业尚未完成。无法启动新作业。ERROROutputBOOL状态参数,可具有以下值:0:无错误1:出错STATUSOutputWORD指令的状态任务准备2)TRCV_C指令参数

参数声明数据类型说明EN_RInputBOOL启用接收功能CONTInputBOOL控制通信连接:0:断开通信连接。1:建立通信连接并在接收数据后保持该连接。LENInputUDINT要接收数据的最大长度。如果在DATA参数中使用具有优化访问权限的接收区,LEN参数值必须为“0”。ADHOCInputBOOL可选参数(隐藏)TCP协议选项使用Ad-hoc模式。如果未使用TCP协议,则ADHOC的值需为FALSE。CONNECTInOutVARIANT指向连接描述的指针DATAInOutVARIANT指向接收区的指针。传送结构时,发送端和接收端的结构必须相同。ADDRInOutVARIANTUDP需使用的隐藏参数。此时,将包含指向系统数据类型TADDR_Param的指针。发送方的地址信息(IP地址和端口号)将存储在系统数据类型为TADDR_Param的数据块中。COM_RSTInOutBOOL可选参数(隐藏)重置连接:0:不相关

1:重置现有连接。DONEOutputBOOL状态参数,可具有以下值:0:接收尚未启动或仍在进行。1:接收已经成功完成。此状态将仅显示一个周期。BUSYOutputBOOL状态参数,可具有以下值:0:接收尚未启动或已完成。1:接收尚未完成。无法启动新发送作业。ERROROutputBOOL状态参数,可具有以下值:0:无错误1:在连接建立、数据接收或连接终止过程中出错。STATUSOutputWORD指令的状态RCVD_LENOutputUDINT实际接收到的数据量(以字节为单位)任务准备软件:TIAPortalV16。硬件:1台西门子S7-1500PLC1512C-1PN、1台西门子S7-1200PLC1212CDC/DC/DC、1台工业网络交换机、3根RJ45接头的双绞线、一个IM155-6PNST分布式IO模块、分布式IO模块使用的DI和DQ模块。任务实施一、硬件组态1)新建项目2)硬件配置(1)添加CPU

选择控制器,CPU1512C-1PN,6ES7512-1CK01-0AB0;再添加CPU1212CDC/DC/DC,订货号6ES7212-1AE40-0XB0;在设备组态界面中,常规中找到“系统和时钟存储器”,在“启用时钟存储器字节”处勾选,默认地址设为0。3)IP地址设置设置CPU1512C-1PNIP地址为;同样的办法设置另外PLC_2的IP地址为014)连接子网项目树PLC_1下,双击设备组态,出现设备视图,点击“网络视图”,切换为网络视图界面。点击PLC_1的网口,连线到PLC_2任务实施

二、程序设计1)S7-1500程序PLC_1的主程序块,在指令目录中,点开通信,再点开放式用户通信,下面有三个指令TSEND_C、TRCV_C、TMAIL_C和其他选项。在程序OB1选择TSEND_C指令进行编写(1)配置TSEND_C指令客户端连接参数选择伙伴为PLC_2,在左边本地的连接数据中选择新建,出现新建的数据PLC_1_Send_DB,在连接类型处选择ISO-on-TCP,伙伴的连接数据处选择新建,出现新建的数据PLC_2_Receive_DB;点上本地的“主动建立连接”。(2)配置TSEND_C指令块参数点击“块参数”按照顺序对块参数进行配置,本项目例子是传送M10.0开始的一个BYTE的数据到PLC_2任务实施2)S7-1200程序调用TRCV_C指令,打开PLC_2的主程序块,在指令目录中,点开通信,再点开开放式用户通信,调取TRCV_C指令(1)配置TRCV_C指令客户端连接参数伙伴位置选择PLC_1,然后出现相关的配置信息,在连接类型处选择ISO_on_TCP,在连接ID处注意选择和PLC_1调用的TSEND_C指令一致,这里是配置的1,连接数据也和TSEND_C的数据配置一致(2)配置TRCV_C指令块参数配置块参数,块参数按照指令说明进行填写,这里接收下来的数据放在PLC_2的M10.0开始的1个BYTE里。任务实施三、调试验证1)硬件连接2)编译下载3)监控测试实现S7-1500中MB10的数据发送到S7-1200的MB10中。在S7-1500的监控表中监控MB10的值,设置修改值为16#11,点击上方的“立即一次性修改选定值”图标,监视值变为16#11;在S7-1200的监控表中对MB10进行监控6.3.2S7-1500与S7-1200的TCP协议通信(TSEND_C、TRCV_C指令)

任务引入开放式组网应用使用TSEND_C、TRCV_C指令可以实现TCP协议组网通信。本节任务是S7-1500与S7-1200的TCP协议通信(TSEND_C、TRCV_C指令)任务准备软件:TIAPortalV16。硬件:1台西门子S7-1500PLC1512C-1PN、1台西门子S7-1200PLC1212CDC/DC/DC、1台工业网络交换机、2根RJ45接头的双绞线。任务实施一、硬件组态1)新建项目2)硬件配置(1)添加CPU

选择控制器,CPU1512C-1PN,6ES7512-1CK01-0AB0;再添加CPU1212CDC/DC/DC,订货号6ES7212-1AE40-0XB0;在设备组态界面中,常规中找到“系统和时钟存储器”,在“启用时钟存储器字节”处勾选,默认地址设为0。3)IP地址设置设置CPU1512C-1PNIP地址为同样的办法设置另外PLC_2的IP地址为014)连接子网项目树PLC_1下,双击设备组态,出现设备视图,点击“网络视图”,切换为网络视图界面。点击PLC_1的网口,连线到PLC_2任务实施

二、程序设计1)S7-1500程序PLC_1的主程序块,在指令目录中,点开通信,再点开放式用户通信,下面有三个指令TSEND_C、TRCV_C、TMAIL_C和其他选项。在程序OB1选择TSEND_C指令进行编写(1)配置TSEND_C指令客户端连接参数选择伙伴为PLC_2,在左边本地的连接数据中选择新建,出现新建的数据PLC_1_Send_DB,在连接类型处选择TCP,伙伴的连接数据处选择新建,出现新建的数据PLC_2_Receive_DB;点上本地的“主动建立连接”。在本地端口和伙伴端口处填入端口号(2)配置TSEND_C指令块参数点击“块参数”按照顺序对块参数进行配置,本项目例子是传M10.0开始的一个BYTE的数据到PLC_2任务实施2)S7-1200程序调用TRCV_C指令,打开PLC_2的主程序块,在指令目录中,点开通信,再点开开放式用户通信,调取TRCV_C指令(1)配置TRCV_C指令客户端连接参数伙伴位置选择PLC_1,然后出现相关的配置信息,在连接类型处选择TCP;在连接ID处注意选择和PLC_1调用的TSEND_C指令一致,这里是配置的1;连接数据也和TSEND_C的数据配置一致,TSEND_C如果新建了,这里可以直接选用即可;端口号与TSEND_C中配置的两个PLC端口号要一致,这里配置都是2000(2)配置TRCV_C指令块参数配置块参数,块参数按照指令说明进行填写,这里接收下来的数据放在PLC_2的M10.0开始的1个BYTE里。任务实施三、调试验证1)硬件连接2)编译下载3)监控测试实现S7-1500中MB10的数据发送到S7-1200的MB10中。在S7-1500的监控表中监控MB10的值,设置修改值为16#11,点击上方的“立即一次性修改选定值”图标,监视值变为16#11;在S7-1200的监控表中对MB10进行监控6.3.3S7-1200之间的TCP协议通信(TSEND_C、TRCV_C指令)

任务引入开放式组网应用使用TSEND_C、TRCV_C指令可以实现TCP协议组网通信,本项目是实现S7-1200之间的TCP协议通信,数据传输任务准备软件:TIAPortalV16。硬件:2台西门子S7-1200PLC1214CDC/DC/DC、1台工业网络交换机、2根RJ45接头的双绞线。任务实施一、硬件组态1)新建项目2)硬件配置(1)添加CPU进入项目视图后,在项目树下,点击添加新设备,然后选择控制器,CPU1214CDC/DC/DC,订货号6ES7214-1AG40-0XB0;再次添加CPU1214CDC/DC/DC,订货号6ES7214-1AG40-0XB0。在设备组态界面中,常规中找到“系统和时钟存储器”,在“启用时钟存储器字节”处勾选,默认地址设为0。3)IP地址设置设置CPU1512C-1PNIP地址为同样的办法设置另外PLC_2的IP地址为014)连接子网项目树PLC_1下,双击设备组态,出现设备视图,点击“网络视图”,切换为网络视图界面。点击PLC_1的网口,连线到PLC_2任务实施

二、程序设计1)PLC_1程序PLC_1的主程序块,在指令目录中,点开通信,再点开放式用户通信,下面有三个指令TSEND_C、TRCV_C、TMAIL_C和其他选项。在程序OB1选择TSEND_C指令进行编写(1)配置TSEND_C指令客户端连接参数选择伙伴为PLC_2,在左边本地的连接数据中选择新建,出现新建的数据PLC_1_Send_DB,在连接类型处选择TCP,伙伴的连接数据处选择新建,出现新建的数据PLC_2_Receive_DB;点上本地的“主动建立连接”。在本地端口和伙伴端口处填入端口号(2)配置TSEND_C指令块参数点击“块参数”按照顺序对块参数进行配置,本项目例子是传M10.0开始的一个Word的数据到PLC_2任务实施2)PLC_2程序调用TRCV_C指令,打开PLC_2的主程序块,在指令目录中,点开通信,再点开开放式用户通信,调取TRCV_C指令(1)配置TRCV_C指令客户端连接参数伙伴位置选择PLC_1,然后出现相关的配置信息,在连接类型处选择TCP;在连接ID处注意选择和PLC_1调用的TSEND_C指令一致,这里是配置的1;连接数据也和TSEND_C的数据配置一致,TSEND_C如果新建了,这里可以直接选用即可;端口号与TSEND_C中配置的两个PLC端口号要一致,这里配置都是2000(2)配置TRCV_C指令块参数配置块参数,块参数按照指令说明进行填写,这里接收下来的数据放在PLC_2的M10.0开始的1个Word里。任务实施三、调试验证1)硬件连接2)编译下载3)监控测试PLC_1的监控表中监控MW10的值,设置修改值为16#1200,点击上方的“立即一次性修改选定值”图标,监视值变为16#11200;在PLC_2的监控表中对MW10进行监控6.3.4S7-1200之间的TCP协议通信(TSEND、TRCV指令)

任务引入前面任务重实现开放式式通信使用的是TSEND_C、TRCV_C指令,对于TCP协议也可以使用TSEND、TRCV指令。本节任务是应用TSEND、TRCV指令实现S7-1200之间的TCP协议通信任务准备软件:TIAPortalV16。硬件:2台西门子S7-1200PLC1214CDC/DC/DC、1台工业网络交换机、2根RJ45接头的双绞线。任务实施一、硬件组态1)新建项目2)硬件配置(1)添加CPU进入项目视图后,在项目树下,点击添加新设备,然后选择控制器,CPU1214CDC/DC/DC,订货号6ES7214-1AG40-0XB0;再次添加CPU1214CDC/DC/DC,订货号6ES7214-1AG40-0XB0。在设备组态界面中,常规中找到“系统和时钟存储器”,在“启用时钟存储器字节”处勾选,默认地址设为0。3)IP地址设置设置CPU1512C-1PNIP地址为同样的办法设置另外PLC_2的IP地址为014)连接子网项目树PLC_1下,双击设备组态,出现设备视图,点击“网络视图”,切换为网络视图界面。点击PLC_1的网口,连线到PLC_2任务实施

二、程序设计1)PLC_1程序调用TCON、TSEND指令,打开PLC_1的主程序块,在指令目录中,点开通信,再点开开放式用户通信,再点开其他,下面有TCON、TSEND等9个指令。在程序OB1中选择TCON、TSEND指令进行编写(1)配置TCON指令置客户端连接参数,选择伙伴为PLC_2,在左边本地的“连接数据”选项处选择新建,出现新建的数据PLC_1_Send_DB,在“连接类型”处选择TCP,伙伴的连接数据处选择新建,出现新建的数据PLC_2_Receive_DB;点上本地的“主动建立连接”(2)配置TSEND指令TSEND指令块参数的配置,ID号设置为TCON中设置的一致,LEN是数据传送的长度,DATA为发送数据的指针。可以用DB块中的数据做发送测试,添加一个DB块,去掉优化块的访问。添加一个数组fasong,数据类型选择Byte,数据限值为0..1,表示是两位的数组任务实施2)PLC_2程序打开PLC_2的主程序块调用TCON、TRCV指令。(1)配置TCON打开PLC_2的程序OB1,添加TCON指令。组态连接参数,本地为PLC_2。(2)配置TRCV指令TRCV指令块参数的配置,ID号设置为TCON中设置的一致,LEN是数据传送的长度,DATA为发送数据的指针。可以用DB块中的数据做发送测试,添加一个DB块,去掉优化块的访问。添加一个数组jieshou,数据类型选择Byte,数据限值为0..1,表示是两位的数组。任务实施三、调试验证1)硬件连接2)编译下载3)监控测试PLC_1的数据块_1,对fasong数组进行起始值设定,如分别设定为16#11和16#22,打开“全部监视”按钮,可以看到两个数据的监视值已经变为起始值,打开PLC_2的数据块_1,打开“全部监视”按钮。6.3.5S7-1200之间的UDP协议通信(TUSEND、TURCV指令)

任务引入S7-1200之间可以实现UDP协议通信,对于TCP协议可以使用TSEND、TRCV指令,而UDP协议通信使用TUSEND、TURCV指令。本节任务是应用TUSEND、TURCV指令实现S7-1200之间的UDP协议通信,传输数据。任务准备S7-1200之间要实现UDP协议通信,需要使用到TCON、TUSEND、TURCV指令,TUSEND与TSEND有一定的区别,其在调用的时候需要单独增加一个连接的地址数据块。软硬件准备软件:TIAPortalV16。硬件:2台西门子S7-1200PLC1214CDC/DC/DC、1台工业网络交换机、2根RJ45接头的双绞线。任务实施一、硬件组态1)新建项目2)硬件配置(1)添加CPU进入项目视图后,在项目树下,点击添加新设备,然后选择控制器,CPU1214CDC/DC/DC,订货号6ES7214-1AG40-0XB0;再次添加CPU1214CDC/DC/DC,订货号6ES7214-1AG40-0XB0。在设备组态界面中,常规中找到“系统和时钟存储器”,在“启用时钟存储器字节”处勾选,默认地址设为0。3)IP地址设置设置CPU1512C-1PNIP地址为同样的办法设置另外PLC_2的IP地址为014)连接子网项目树PLC_1下,双击设备组态,出现设备视图,点击“网络视图”,切换为网络视图界面。点击PLC_1的网口,连线到PLC_2任务实施

二、程序设计1)PLC_1程序调用TCON、TUSEND指令,打开PLC_1的主程序块,在指令目录中,点开通信,再点开开放式用户通信,再点开其他,下面有TCON、TSEND等9个指令。在程序OB1中选择TCON、TUSEND指令进行编写。(1)配置TCON指令配置连接参数,在本地的“连接数据”处新建连接数据生成PLC_1的数据,连接类型选择UDP,本地端口填写2000;伙伴处选择未指定.(2)添加TADDR_Param块点开程序块,添加新块,选择数据块,在类型中选择TADDR_Param。双击打开该块,对参数进行配置。点开REM_IP_ADDR数组,对远程数据接收端的IP进行配置,这里连接的是PLC_2,填入其IP地址;REM_PORT_NR是对端口号进行配置;RESERVED保持默认值(3)配置TUSEND指令ID选择与TCON建立的ID一致,LEN发送数据的最大值根据需要进行设置,DATA数据发送的指针,填写发送的起始地址和数据的长度,这里配置的是发送MB10的数据;ADDR指向接收方的地址,这里需要连接新建的TADDR_Param块任务实施2)PLC_2程序打开PLC_2的主程序块调用TCON、TURCV指令。(1)配置TCON指令配置连接参数,在本地的“连接数据”处新建连接数据生成PLC_2的数据,连接类型选择UDP,本地端口填写2000;伙伴处选择未指定。块参数配置,REQ选择时钟脉冲1Hz启动作业(2)添加TADDR_Param块新增一个数据块,打开项目树的PLC_2,点开程序块,添加新块,选择数据块,在类型中选择TADDR_Param。双击打开该块,对参数进行配置。点开REM_IP_ADDR数组,对远程的数据接收端IP进行配置,这里连接的是PLC_1,填入其IP地址;REM_PORT_NR是对端口号进行配置;RESERVED保持默认值(3)配置TURCV指令ID选择与TCON建立的ID一致;DATA数据接收存放的指针,填写存放的起始地址和数据的长度,这里是接收数据到MB10;ADDR指向发送远端的地址,选择新建的TADDR_Param块任务实施三、调试验证1)硬件连接2)编译下载3)监控测试PLC_1的监控表中添加地址MB10,填写修改值,并点击“一次性修改所有选定值”图标,点击“全部监视”按钮,监视值与修改值变为一致。打开PLC_2的监控表,添加地址MB10,点击“全部监视”按钮6.4S7通信及应用04S7通信(S7Communication)属于OSI参考模型的第7层应用层的协议,独立于其他的协议,可以在多种底层网络上应用,比如MPI、PROFIBUS、工业以太网等。S7协议通信通过不断的重复接收数据来保证网络报文的正确。在SIMATICS7中,通过组态建立S7连接来实现通信;在PC上,S7通信需要通过SAPI-S7接口函数或OPC来实现。6.4.1S7-1200之间的S7通信

任务引入S7协议可以基于工业以太网实现组网通信,传输数据。本次任务是两台西门子S7-1200PLC通过PROFINET接口相连,实现S7通信。任务准备软件:TIAPortalV16。硬件:2台西门子S7-1200PLC1214CDC/DC/DC、1台工业网络交换机、2根RJ45接头的双绞线。任务实施一、硬件组态1)新建项目2)硬件配置(1)添加CPU进入项目视图后,在项目树下,点击添加新设备,然后选择控制器,CPU1214CDC/DC/DC,订货号6ES7214-1AG40-0XB0;再次添加CPU1214CDC/DC/DC,订货号6ES7214-1AG40-0XB0。在设备组态界面中,常规中找到“系统和时钟存储器”,在“启用时钟存储器字节”处勾选,默认地址设为0。3)IP地址设置设置PLC_1的IP地址为同样的办法设置另外PLC_2的IP地址为01任务实施

二、程序设计1)PLC_1程序在项目树下,点开PLC_1,双击程序块的Main(OB1),编写程序。在指令目录中点开通信,再点开S7通信,下有PUT指令和GET指令。(1)配置PUT指令块连接参数配置,伙伴选择为PLC_2,自动弹出相关的配置,部分配置默认不能修改,“连接名称”选项可以修改,可以修改连接的名称、ID、连接的伙伴等设置(2)配置GET指令配置块连接参数,在指令目录中点开通信,再点开S7通信,双击GET指令。伙伴选择PLC_2,自动弹出相关配置。块参数ADDR_1为发送方(伙伴)的地址指针,读取的存储地址;SD_1指向本地CPU中接收数据的存储区域。这里的配置是从远程CPU的MB10中读取数据到本地的MB20中。任务实施2)PLC_2程序S7通信为单边通信,PLC_2可不设置通信程序。任务实施三、调试验证1)硬件连接2)编译下载3)监控测试PLC_1的监控表中添加地址MB10和MB20,填写MB10的修改值,并点击“一次性修改所有选定值”图标,点击“全部监视”图标,MB10监视值与修改值变为一致。打开PLC_2的监控表,添加地址MB10和MB20,填写MB10的修改值点击“全部监视”按钮6.4.2S7-1500与S7-1200的S7通信

任务引入S7协议基于工业以太网进行,可以实现PLC之间的以太网通信,本节是应用S7协议实现S7-1500与S7-1200组网通信,传输数据。任务准备软件:TIAPortalV16。硬件:1台西门子S7-1500PLC1512C-1PN、1台西门子S7-1200PLC1212CDC/DC/DC、1台工业网络交换机、2根RJ45接头的双绞线。任务实施一、硬件组态1)新建项目2)硬件配置(1)添加CPU进入项目视图后,在项目树下,点击添加新设备,然后选择控制器,CPU1214CDC/DC/DC,订货号6ES7214-1AG40-0XB0;再次添加CPU1214CDC/DC/DC,订货号6ES7214-1AG40-0XB0。在设备组态界面中,常规中找到“系统和时钟存储器”,在“启用时钟存储器字节”处勾选,默认地址设为0。3)IP地址设置设置CPU1512C-1PNIP地址为同样的办法设置另外PLC_2的IP地址为01任务实施

二、程序设计1)PLC_1程序

S7通信为单边通信,PLC_1可不设置通信程序,指令均在PLC_2中编写任务实施2)PLC_2程序在项目树下,点开PLC_2(S7-1200),双击程序块的Main(OB1),编写程序。在指令目录中点开通信,再点开S7通信,调用PUT和GET指令。(1)配置PUT指令块连接参数设置,伙伴选择为PLC_1(CPU1500C-1),自动弹出相关的配置,部分配置默认不能修改,“连接名称”选项可以修改,可以修改连接的名称、ID、连接的伙伴等设置(2)配置GET指令PLC_2(S7-1200)指令目录中点开通信,再点开S7通信,双击GET指令。伙伴选择PLC_1(CPU1500C-1),自动弹出相关配置。块参数ADDR_1为发送方(伙伴)的地址指针,读取的存储地址;SD_1指向本地CPU中接收数据的存储区域。这里的配置是从远程CPU的MB10中读取数据到本地的MB20任务实施三、调试验证1)硬件连接2)编译下载3)监控测试在S7-1500和S7-1200PLC的监控表中分别设置监控MB10和MB20的数据,在S7-1500中设置MB10的修改值为16#15,S7-1200中设置MB10的修改值为16#12;分别下发修改值后,再进行监控,监视到在S7-1200中MB10的值为16#12,而MB20的值为16#156.5MODBUSTCP通信及其应用056.5.1S7-1200之间的MODBUSTCP通信

任务引入Modbus协议是一项应用层报文传输协议,除了ASCII、RTU报文类型外,还有TCP。ModbusTCP是工业以太网技术应用。本节任务是应用MODBUSTCP协议实现S7-1200之间的之间的组网通信、数据传输。任务准备软件:TIAPortalV16。硬件:2台西门子S7-1200PLC1214CDC/DC/DC、1台工业网络交换机、2根RJ45接头的双绞线。MODBUSTCP是一项应用层报文传输协议,采用master/slave方式通信。在使用TCP通信时,主站为client端,主动建立连接;从站为server端,等待连接。ModbusTCP协议是一个运行在TCP/IP网络连接中的一种协议,与传统的串口方式相比,MODBUSTCP插入一个标准的MODBUS报文头到TCP报文中。ModbusTCP协议服务器中按缺省协议使用Port502通信端口,在客户机程序中设置任意通信接口,为避免与其他协议的冲突一般建议端口号从2000开始使用任务实施一、硬件组态1)新建项目2)硬件配置(1)添加CPU进入项目视图后,在项目树下,点击添加新设备,然后选择控制器,CPU1214CDC/DC/DC,订货号6ES7214-1AG40-0XB0;再次添加CPU1214CDC/DC/DC,订货号6ES7214-1AG40-0XB0。在设备组态界面中,常规中找到“系统和时钟存储器”,在“启用时钟存储器字节”处勾选,默认地址设为0。3)IP地址设置设置PLC_1的IP地址为同样的办法设置另外PLC_2的IP地址为014)连接子网项目树PLC_1下,双击设备组态,出现设备视图,点击“网络视图”,切换为网络视图界面。点击PLC_1的网口,连线到PLC_2任务实施

二、程序设计1)PLC_1(S7-1200)客户端程序在项目树下,点开PLC_1(S7-1200),双击程序块的Main(OB1),编写程序。在指令目录中点开通信,再点开其他,下有MODBUSTCP,有MB_CLIENT指令和MB_SERVER指令(1)添加数据发送块点开PLC_1程序块,点击添加新块,选择数据块,新增一个数据块。修改数据块的属性,去掉优化的块访问。打开块,新增一个数组,命名为send,数据类型为Word(2)添加TCON_IP_v4数据块点击添加新块,选择数据块,新增一个数据块。打开块后,新增一个变量名称为aa,数据类型为“TCON_IP_v4”的数组,这里通过键盘输入的方式输入TCON_IP_v4;点开aa数组,填入相关参数。在ConnectionType处填入16#0B,这里选择TCP/IP;点开ADDR,填入服务器端的IP地址,这里是01;RemotePort是远端的端口号,这里用的502,LocalPort默认为0(3)配置MB_CLIENT指令指令目录中点开通信,再点开其他,点开MODBUSTCP,调用MB_CLIENT指令。配置参数,REQ通信建立请求,为1时建立,这里通过M10.0的设置发起请求;DISCONNECT填0保持建立的连接;MB_MODE请求模式,0为读、1为写,这里是向服务器端写入数据;MB_DATA_ADDR,写入的地址,这里40001开始的地址,地址编号参考MODBUSRTU任务;MB_DATA_LEN数据长度,这里发送6个Word;MB_DATA_PTR数据指针,这里指向的新增的数据块发送数组send;CONNECT执行连接的指针,指向新增TCON_IP_v4块任务实施2)PLC_2程序(S7-1200)服务端程序在项目树下,点开PLC_1(S7-1200),双击程序块的Main(OB1),编写程序(1)添加数据接收块点开PLC_2程序块,点击添加新块,选择数据块,新增一个数据块。修改数据块的属性,去掉优化的块访问。打开块,新增一个数组,命名为receive,数据类型为Word(2)添加TCON_IP_v4数据块击添加新块,选择数据块,新增一个数据块。打开块后,新增一个变量名称为bb,数据类型为“TCON_IP_v4”的数组,这里通过键盘输入的方式输入TCON_IP_v4;点开bb数组,填入相关参数。在ConnectionType处填入16#0B,表示是TCP/IP;点开ADDR,填入远端的IP地址,这里是,表示允许任意的IP地址接入;RemotePort是远端的端口号,这里用的0,表示任意的端口,LocalPort填为502,与客户端填入的远端一致(3)配置MB_SERVER指令

指令目录中点开通信,再点开其

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论