S71200PLC编程及应用第4版课件第6章.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《S71200PLC编程及应用第4版课件第6章.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- S71200PLC 编程 应用 课件
- 资源描述:
-
1、第6章 S7-1200的通信与故障诊断6.1 网络通信基础网络通信基础6.1.1 计算机通信的国际标准计算机通信的国际标准 1开放系统互连模型开放系统互连模型 开放系统互连模型详细描述了通信功能的7个层次,某些现场总线只使用第1、2、7层。物理层的下面是物理媒体,例如双绞线和光纤等。物理层定义了传输媒体端口的机械、电气功能和规程的特性。数据链路层的数据以帧为单位传送,每一帧包含数据和同步信息、地址信息和流量控制信息等。通过校验、确认和要求重发等方法实现差错控制。应用层为用户的应用服务提供信息交换,为应用接口提供操作标准。2.IEEE 802通信标准通信标准 (1)CSMA/CD(带冲突检测的载
2、波侦听多路访问)的基础是以太网。每个站都是平等的,为了防止冲突,采用“先听后讲”和“边听边讲”的发送方法。其控制策略是竞争发送、广播式传送、载体监听、冲突检测、冲突后退和再试发送。以太网越来越多地在底层网络使用。(2)令牌总线 令牌绕逻辑环周而复始地传送。要发送报文的站等到令牌传给自己,判断为空令牌时才能发送报文。令牌沿环网循环一周后返回发送站时,如果报文已被接收站复制,发送站将令牌置为“空”,送上环网继续传送,以供其他站使用。(3)主从通信方式 主从通信网络有一个主站和若干个从站。主站向某个从站发送请求帧,该从站接收到后才能向主站返回响应帧。主站按事先设置好的轮询表的排列顺序对从站进行周期性
3、的查询。3现场总线及其国际标准现场总线及其国际标准 IEC对现场总线的定义是“安装在制造和过程区域的现场装置与控制室内的自动控制装置之间的数字式、串行、多点通信的数据总线”。IEC 61158第4版采纳了经过市场考验的20种现场总线。其中约一半是实时以太网。西门子公司支持类型3(PROFIBUS)和类型10(PROFINET)。IEC 62026是供低压开关设备与控制设备使用的控制器电气接口标准。西门子公司支持执行器传感器接口(AS-i)。6.1.2 SIMATIC通信网络通信网络 1SIMATIC NET 西门子的工业自动化通信网络SIMATIC NET的顶层为工业以太网,可以集成到互联网。
4、PROFIBUS用于少量和中等数量数据的高速传送。AS-i是底层的低成本网络。通用总线系统KNX用于楼宇自动控制。IWLAN是工业无线局域网。各个网络之间用链接器或有路由器功能的PLC连接。MPI(多点接口)是SIMATIC产品使用的内部通信协议,可以建立传送少量数据的低成本网络。PPI(点对点接口)是用于S7-200和S7-200 SMART的通信协议。点对点(PtP)通信用于特殊协议的串行通信。2PROFINET PROFINET是基于工业以太网的开放的现场总线标准。使用PROFINET IO,现场设备可以直接连接到以太网。通过代理服务器,PROFINET可以透明地集成现有的PROFIBU
5、S设备。PROFINET的实时(RT)通信功能典型的更新循环时间为110ms。同步实时(IRT)功能用于高性能的同步运动控制,响应时间为0.251ms。IRT通信需要特殊的交换机的支持。PROFINET同时用一条工业以太网电缆实现IT集成化领域、实时自动化领域和同步实时通信。PROFINET支持故障安全通信的标准行规PROFIsafe和驱动器配置行规PROFIdrive。3PROFIBUS PROFIBUS是是基于RS-485的上一代的现场总线,传输速率最高12Mbit/s,最多可以接127个从站。PROFIBUS提供了下列3种通信服务:1)PROFIBUS-DP(分布式外部设备)用于PLC与
6、分布式I/O(例如ET 200)的通信。主站之间的通信为令牌方式,主站与从站之间为主从方式。2)PROFIBUS-PA(过程自动化)用于过程自动化的现场传感器和执行器的低速数据传输,可以用于防爆区域的设备与PLC的通信。使用屏蔽双绞线电缆,由总线提供电源。3)PROFIBUS-FMS(现场总线报文规范)已被以太网代替,用得很少。此外还有用于运动控制的总线驱动技术PROFIdrive和故障安全通信技术PROFIsafe。6.2 基于以太网的开放式用户通信基于以太网的开放式用户通信 S7-1200/1500的CPU集成的PROFINET接口是10M/100Mbit/s的RJ45以太网口,可以使用标
7、准的或交叉的以太网电缆。支持PROFINET、开放式用户通信和S7通信。6.2.1 S7-1200之间的之间的ISO-on-TCP和和TCP协议通信协议通信 1开放式用户通信开放式用户通信 基于CPU集成的PN接口的开放式用户通信用功能块建立和断开通信连接,发送和接收数据。TSEND_C和TRCV_C同时具有建立、断开连接和发送、接收数据的功能。2组态组态CPU的硬件的硬件 生成项目“1200_1200ISO_C”,两台PLC为CPU 1215C,PN接口的IP地址为默认的192.168.0.1和192.168.0.2,子网掩码为默认的255.255.255.0。启用MB0做它们的时钟存储器字
8、节。3组态组态CPU之间的通信连接之间的通信连接 打开网络视图,用“拖拽”的方法连接PLC_1和 PLC_2的以太网接口,出现绿色的以太网线和名称为“PN/IE_1”的连接。4验证通信是否实现的典型程序结构验证通信是否实现的典型程序结构 双方生成保存发送和接收数据的数据块DB1(SendData)和DB2(RcvData),去掉“优化的块访问”属性。在数据块中生成有100个整数元素的数组。在OB100中用指令FILL_BLK将双方DB1中要发送的100个整数初始化为16#1111和16#2222,将保存接收到的数据的DB2的100个整数清零。在OB1中用周期为0.5s的时钟存储器位M0.3的上
9、升沿,将要发送的第一个字DB1.DBW0加1。图6-3 数据块SendData与OB100中的程序 5调用调用TSEND_C和和TRCV_C 在OB1中调用TSEND_C指令发送数据,调用TRCV_C指令接收数据,自动生成它们的背景数据块。6组态连接参数组态连接参数 选中指令TSEND_C,然后选中下面的巡视窗口的“属性 组态 连接参数”,伙伴的“端点”设为PLC_2,连接类型为ISO-on-TCP。单击“本地”的“连接数据”下拉式列表中的“”,自动生成连接描述数据块“PLC_1_Send_DB”(DB5)。用同样的方法生成PLC_2的接描述数据块“PLC_2_Send_DB”(DB5)。用单
10、选框设置PLC_1主动建立连接。采用默认的传输服务访问点TSAP。PLC_2组态“连接参数”的对话框与图6-6的结构相同。7TSEND_C和和TRCV_C的参数的参数 TSEND_C的参数的意义如下:在请求信号REQ的上升沿,根据DB5中的连接描述发送数据。发送成功后,DONE在一个扫描周期内为1。CONT为1时建立和保持连接,为0时断开连接。LEN为默认值0时,发送DATA定义的所有的数据。COM_RST为1时,断开现有的通信连接,新的连接被建立。BUSY为1时任务尚未完成。ERROR为1时出错,STATUS中是错误的详细信息。指令TRCV_C的EN_R为1时准备好接收数据,CONT和EN_
11、R均为1时连续接收数据。RCVD_LEN是实际接收的数据的字节数。图6-5 TSEND_C和TRCV_C指令 8硬件通信实验硬件通信实验的典型方法的典型方法 通过交换机或路由器连接计算机和两块CPU的以太网接口,下载程序后令两块CPU为RUN模式。用监控表监视两块CPU的DB2中接收到的部分数据。将两块CPU的TSEND_C和TRCV_C的参数CONT(M10.1和M11.1)均置位为1,建立起通信连接。双方的DB2.DBW0应不断增大。通信正常时令M10.1或M11.1为0,建立的连接被断开,CPU将停止发送或接收数据。接收方的DB2.DBW0停止变化。9仿真实验仿真实验 选中PLC_1,单
12、击工具栏上的“开始仿真”按钮,出现S7-1200的仿真软件,下载程序后仿真PLC进入RUN模式。用同样的方法将PLC_2的程序下载到另一台仿真PLC。调试程序的方法与硬件PLC相同。使用TCP协议的通信:将项目另存为名为“1200_1200TCP_C”的项目。将“连接类型”改为TCP,“伙伴端口”为默认的2000,用户程序和组态数据不变。两个项目的实验方法和实验结果相同。6.2.2 S7-1200之间的之间的UDP通信通信 1组态连接参数组态连接参数 项目“1200_1200UDP”的硬件结构与上一节的相同。通信双方在OB1中用指令TCON建立连接,用指令TDISCON断开连接。选中TCON,
13、然后选中巡视窗口的“属性 组态 连接参数”,设置通信伙伴为“未指定”,连接类型为UDP。不能设置“主动建立连接”单选框。单击“连接数据”下拉式列表中的“”,自动生成连接描述数据块“PLC_1 _ Connection _DB”(DB4)。本地端口号采用默认的2000。双方组态“连接参数”的对话框的结构相同。2生成定义生成定义UDP连接参数的数据块连接参数的数据块 在“添加新块”对话框生成类型为TADDR_Param的全局数据块DB7,将它的名称修改为“接口参数”。UDP连接需要用DB7来设置远程通信伙伴的IP地址和端口号,双方的本地端口号应相同。在程序运行过程中修改DB7中通信伙伴的IP地址和
14、端口号,可以和不同的伙伴通信。3编写发送与接收数据的程序编写发送与接收数据的程序 在OB1中调用TUSEND和TURCV指令。在M0.3的上升沿,每0.5s TUSEND发送一次DB1中的数据。TURCV的接收使能输入EN_R为TRUE,准备好接收数据,接收的数据用DB2保存。LEN为默认值0时,发送或接收用参数DATA定义的所有的数据。RCVD_LEN是实际接收的数据字节数。参数ADDR的实参为DB7。其他参数的意义与TSEND_C和TRCV_C的同名参数相同。图6-10 发送与接收数据的程序 4通信实验通信实验 UDP通信不能仿真。用以太网电缆连接计算机和两块CPU的以太网接口,将用户程序
15、和组态信息分别下载到两块CPU,令它们处于运行模式。用双方的监控表分别监控两块CPU的TCON和TDISCON指令的REQ输入M10.0和M10.4,以及DB2中接收到的DBW0、DBW2和DBW198。用DB7设置远程通信伙伴的IP地址和端口号,运行时用监控表令双方的TDISCON的REQ为0,在TCON的REQ(M10.0)的上升沿,建立起通信连接,开始传输数据。可以用TDISCON指令的请求信号M10.4的上升沿断开连接,停止数据传输。6.2.3 S7-1200与与S7-300/400之间的开放式用户通信之间的开放式用户通信 1S7-1200与S7-300/400的以太网通信概述 S7-
16、1200与S7-300/400集成的PN接口之间的开放式用户通信可以使用ISO-on-TCP、TCP和UDP协议。可以用STEP 7 V5.5对S7-300/400编程。本节主要介绍S7-300/400基于博途的开放式用户通信。2S7-300/400的组态与编程的组态与编程 项目“300_1200ISO_C”的PLC_1为CPU 314-2PN/DP,PLC_2为CPU 1215C。它们的IP地址分别为192.168.0.1和192.168.0.2。启用双方的MB0为时钟存储器字节。为PLC_1生成DB1和DB2,在数据块中分别生成有100个整数元素的数组。不启用“优化的块访问”属性。在OB1
17、00中预置DB1中要发送的数据区,将DB2中保存接收到的数据的数据区清0。在循环周期为0.5s的OB33中,用ADD指令将要发送的第一个字DB1.DBW0加1。在OB1中调用指令TCON建立连接,调用TDISCON断开连接。DB3是组态连接时生成的连接描述数据块。选中TCON,然后选中下面的巡视窗口的“属性 组态 连接参数”。设置通信伙伴的“端点”为“未指定”,IP地址为192.168.0.2。连接类型为TCP,由S7-300主动建立连接,本地端口号采用默认的2000。在OB1中调用TSEND,每0.5s发送一次DB1中的100个整数;调用TRCV接收数据,将接收到的100个整数保存到DB2。
18、LEN是发送或接收的最大字节数,RCVD_LEN是实际接收到的字节数。3S7-1200的组态与编程的组态与编程 PLC_2的OB1中调用TSEND_C和TRCV_C的程序与图6-5中的基本上相同。组态“连接参数”的对话框与图6-12的结构相同,只是“本地”与“伙伴”列的内容相互交换,由伙伴主动建立连接。4通信实验通信实验 通信实验的方法和结果与项目“1200_1200 ISO_C”的基本上相同。用监控表监控双方数据的收、发,和DB2中接收到的数据。5使用TCP连接的通信 项目“300_1200ISO_C”与“300_1200TCP_C”基本上相同。将连接类型改为“TCP”,采用默认的伙伴端口2
19、000。S7-1200和S7-300/400之间也可以使用UDP协议通信。6.3 S7协议通信协议通信6.3.1 S7-1200之间的单向之间的单向S7协议通信协议通信 1S7协议协议 S7协议是专为西门子控制产品优化设计的通信协议,它是面向连接的协议。连接是指两个通信伙伴之间为了执行通信服务建立的逻辑链路。S7连接是需要组态的静态连接,静态连接要占用CPU的连接资源。S7-1200 仅支持 S7 单向连接。单向连接中的客户机(Client)是向服务器(Server)请求服务的设备,客户机调用GET/PUT指令读、写服务器的存储区。服务器是通信中的被动方,用户不用编写服务器的S7通信程序,S7
20、通信是由服务器的操作系统完成的。2创建创建S7连接连接 在名为“1200_1200IE_S7”的项目中,PLC_1为客户机,PLC_2为服务器。采用默认的IP地址和子网掩码。组态时启用MB0为时钟存储器字节。打开网络视图,单击按下“连接”按钮,设置连接类型为S7连接。用“拖拽”的方法建立两个CPU的PN接口之间的名为“S7_连接_1”的连接。单击网络视图右边竖条上向左的小三角形按钮,打开弹出的视图中的“连接”选项卡,可以看到生成的S7连接的详细信息。连接ID为16#100。选中“S7_连接_1”,再选中巡视窗口的“特殊连接属性”,勾选复选框“主动建立连接”。选中“地址详细信息”,可以看到通信双
21、方默认的TSAP(传输服务访问点)。如果使用固件版本为V4.0及以上的CPU作为S7通信的服务器,需要选中服务器设备视图中的CPU,再选中巡视窗口中的“属性 常规 防护与安全 连接机制”,勾选“允许来自远程对象的PUT/GET通信访问”复选框。3编写程序编写程序 为PLC_1生成DB1和DB2,为PLC_2生成DB3和DB4,在这些数据块中生成由100个整数组成的数组。不要启用数据块属性中的“优化的块访问”功能。在时钟脉冲M0.5的上升沿,GET指令每1s读取PLC_2的DB3中的100个整数,用本机的DB2保存。PUT指令每1s将本机的DB1中的100个整数写入PLC_2的DB4。客户机最多
22、可以分别读取和改写服务器的4个数据区。PLC_2在S7通信中作服务器,不用为它编写调用指令GET和PUT的程序。在双方的OB100中,预置DB1和DB3中要发送的100个字,将保存接收到的数据的DB2和DB4中的100个字清0。在双方的OB1中,用周期为0.5s的时钟脉冲M0.3的上升沿,将要发送的第1个字加1。5仿真实验仿真实验 选中项目树中的PLC_1,单击工具栏上的“开始仿真”按钮,将程序和组态数据下载到仿真PLC。选中PLC_2,单击工具栏上的“开始仿真”按钮,将程序和组态数据下载到仿真PLC,二者被切换到RUN模式后,用两台PLC的监控表监控接收到的数据。6.3.2 S7-1200与
23、其他与其他S7 PLC之间的之间的S7通信通信 1S7-300作客户机的作客户机的S7通信通信 项目名称为“300_1200IE_S7”,PLC_1为CPU 314-2PN/DP,PLC_2为CPU 1215C。启用双方的MB0为时钟存储器字节。在网络视图中创建S7连接,PLC_1的通信伙伴为“未知”。选中S7连接后选中巡视窗口中的“常规”,设置伙伴的IP地址为192.168.0.2。连接的本地ID为1,为单向连接,由本地站点主动建立连接。本地和伙伴的TSAP分别为10.02和03.00。为PLC_1生成DB1和DB2,为PLC_2生成DB3和DB4,在这些数据块中生成由100个整数组成的数组
24、。不要启用数据块属性中的“优化的块访问”功能。PLC_1做S7通信的客户机。在它的OB1中调用 GET和PUT指令。通信的实验方法与例程“1200_1200IE_S7”相同。不能仿真。2 S7-200 SMART作作S7通信的服务器通信的服务器 例程“1200_SMART_S7”中,只有做客户机的CPU 1215C,启用MB0为时钟存储器字节。右键单击网络视图中CPU的以太网接口,执行“添加子网”命令,生成一个名为“PN/IE_1”的以太网。单击工具栏上的“连接”,设置连接类型为S7连接。右键单击CPU,执行“添加新连接”命令。在“创建新连接”对话框中,采用默认的连接类型“S7连接”,默认的连
25、接伙伴为左边窗口的“未指定”。多选框“主动建立连接”被自动选中,由S7-1200建立连接。单击“添加”和“关闭”按钮,新连接被创建。连接的本地ID为16#100,将在编程中使用。选中S7连接后选中巡视窗口中的“常规”,设置伙伴的IP地址为192.168.0.2。连接的本地ID为1,为单向连接,由本地站点主动建立连接。本地和伙伴的TSAP分别为10.01和03.01。为CPU 1215C生成DB3和DB4,在数据块中生成由100个整数组成的数组。不要启用“优化的块访问”属性。在CPU 1215C的OB1中调用指令GET和PUT。S7-200 SMART的V区被映射为S7-1200的DB1,要读取
展开阅读全文