首页 S7-1200-PLC编程及应用第三版-廖常初-课件-第6章

S7-1200-PLC编程及应用第三版-廖常初-课件-第6章

举报
开通vip

S7-1200-PLC编程及应用第三版-廖常初-课件-第6章S7-1200-PLC编程及应用第三版-廖常初-课件-第6章2.IEEE802通信标准(1)CSMA/CD(带冲突检测的载波侦听多路访问)的基础是以太网。每个站都是平等的,采用竞争方式发送信息到传输线上,为了防止冲突,“先听后讲”和“边听边讲”。其控制策略是竞争发送、广播式传送、载体监听、冲突检测、冲突后退和再试发送。以太网越来越多地在底层网络使用。(2)令牌总线令牌绕逻辑环周而复始地传送。要发送报文的站等到令牌传给自己,判断为空令牌时才能发送报文。令牌沿环网循环一周后返回发送站时,如果报文已被接收站复制,发送站将...

S7-1200-PLC编程及应用第三版-廖常初-课件-第6章
S7-1200-PLC编程及应用第三版-廖常初- 课件 超市陈列培训课件免费下载搭石ppt课件免费下载公安保密教育课件下载病媒生物防治课件 可下载高中数学必修四课件打包下载 -第6章2.IEEE802通信 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 (1)CSMA/CD(带冲突检测的载波侦听多路访问)的基础是以太网。每个站都是平等的,采用竞争方式发送信息到传输线上,为了防止冲突,“先听后讲”和“边听边讲”。其控制策略是竞争发送、广播式传送、载体监听、冲突检测、冲突后退和再试发送。以太网越来越多地在底层网络使用。(2)令牌总线令牌绕逻辑环周而复始地传送。要发送报文的站等到令牌传给自己,判断为空令牌时才能发送报文。令牌沿环网循环一周后返回发送站时,如果报文已被接收站复制,发送站将令牌置为“空”,送上环网继续传送,以供其他站使用。(3)主从通信方式主从通信网络有一个主站和若干个从站。主站向某个从站发送请求帧,该从站接收到后才能向主站返回响应帧。主站按事先设置好的轮询表的排列顺序对从站进行周期性的查询。3.现场总线及其国际标准IEC对现场总线的定义是“安装在制造和过程区域的现场装置与控制室内的自动控制装置之间的数字式、串行、多点通信的数据总线”。IEC61158第4版采纳了经过市场考验的20种现场总线。其中约一半是实时以太网。西门子公司支持类型3(PROFIBUS)和类型10(PROFINET)。IEC62026是供低压开关设备与控制设备使用的控制器电气接口标准。西门子公司支持执行器传感器接口(AS-i)。6.1.2SIMATIC通信网络西门子的工业自动化通信网络SIMATICNET的顶层为工业以太网,可以集成到互联网。PROFIBUS用于少量和中等数量数据的高速传送。AS-i是底层的低成本网络。通用总线系统KNX用于楼宇自动控制。IWLAN是工业无线局域网。各个网络之间用链接器或有路由器功能的PLC连接。MPI(多点接口)是SIMATIC产品使用的内部通信协议,可以建立传送少量数据的低成本网络。PPI(点对点接口)是用于S7-200和S7-200SMART的通信协议。点对点(PtP)通信用于特殊协议的串行通信。2.PROFINETPROFINET是基于工业以太网的开放的现场总线标准。使用PROFINETIO,现场设备可以直接连接到以太网。通过代理服务器,PROFINET可以透明地集成现有的PROFIBUS设备。PROFINET的实时(RT)通信功能典型的更新循环时间为1~10ms。同步实时(IRT)功能用于高性能的同步运动控制,响应时间为0.25~1ms。IRT通信需要特殊的交换机的支持。PROFINET同时用一条工业以太网电缆实现IT集成化领域、实时自动化领域和同步实时通信。PROFINET支持故障安全通信的标准行规PROFIsafe和驱动器配置行规PROFIdrive。3.PROFIBUSPROFIBUS是开放式的现场总线,传输速率最高12Mbit/s,最多可以接127个从站。PROFIBUS提供了下列3种通信服务:1)PROFIBUS-DP(分布式外部设备)用于PLC与分布式I/O(例如ET200)的通信。主站之间的通信为令牌方式,主站与从站之间为主从方式。2)PROFIBUS-PA(过程自动化)用于过程自动化的现场传感器和执行器的低速数据传输,可以用于防爆区域的设备与PLC的通信。使用屏蔽双绞线电缆,由总线提供电源。3)PROFIBUS-FMS(现场总线报文规范)已被以太网代替,很少使用。此外还有用于运动控制的总线驱动技术PROFIdrive和故障安全通信技术PROFIsafe。6.2基于以太网的开放式用户通信S7-1200/1500的CPU集成的PROFINET接口是10M/100Mbit/s的RJ45以太网口,可以使用标准的或交叉的以太网电缆。支持TCP、ISO-on-TCP、UDP和S7通信。6.2.1S7-1200之间的ISO-on-TCP和TCP协议通信1.开放式用户通信基于CPU集成的PN接口的开放式用户通信用函数块建立和断开通信连接,发送和接收数据。TSEND_C和TRCV_C同时具有建立、断开连接和发送、接收数据的功能。2.组态CPU的硬件生成项目“1200_1200ISO_C”,两台PLC为CPU1215C,PN接口的IP地址为192.168.0.1和192.168.0.2,子网掩码为默认的255.255.255.0。启用MB0做它们的时钟存储器字节。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的上升沿,将要发送的第一个字DB1.DBW0加1。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)。用单选框设置PLC_1主动建立连接。采用默认的传输服务访问点TSAP。双方组态“连接参数”的对话框的结构相同。7.TSEND_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_R均为1时连续接收数据。RCVD_LEN是实际接收的数据的字节数。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,单击工具栏上的“开始仿真”按钮,出现S7-1200的仿真软件,下载程序后仿真PLC进入RUN模式。用同样的方法将PLC_2的程序下载到另一台仿真PLC。调试程序的方法与硬件PLC相同。使用TCP协议的通信将项目另存为名为“1200_1200TCP_C”的项目。将“连接类型”改为TCP,“伙伴端口”为默认的2000,用户程序和组态数据不变。两个项目的实验方法和实验结果相同。6.2.2S7-1200之间的UDP协议通信1.组态连接参数项目“1200_1200UDP”的硬件结构与上一节的相同。通信双方在OB1中用指令TCON建立连接,用指令TDISCON断开连接。选中TCON,然后选中巡视窗口的“属性>组态>连接参数”,设置通信伙伴为“未指定”,连接类型为UDP。不能设置“主动建立连接”单选框。选中“连接数据”下拉式列表中的“<新建>”,自动生成连接描述数据块“PLC_1_Connection_DB”(DB4)。本地端口号采用默认的2000。双方组态“连接参数”的对话框的结构相同。2.生成定义UDP连接参数的数据块在“添加新块”对话框生成类型为TADDR_Param的全局数据块DB7,将它的名称修改为“接口参数”。UDP连接需要用DB7来设置远程通信伙伴的IP地址和端口号,双方的本地端口号应相同。在程序运行过程中修改DB7中通信伙伴的IP地址和端口号,可以和不同的伙伴通信。3.编写发送与接收数据的程序在OB1中调用TUSEND和TURCV指令。在M0.3的上升沿,每0.5sTUSEND发送一次DB1中的数据。TURCV的接收使能输入EN_R为TRUE,准备好接收数据,接收的数据用DB2保存。LEN为默认值0时,发送或接收用参数DATA定义的所有的数据。RCVD_LEN是实际接收的数据字节数。参数ADDR的实参为DB7。其他参数的意义与TSEND_C和TRCV_C的同名参数相同。4.通信实验UDP通信不能仿真。用以太网电缆连接计算机和两块CPU的以太网接口,将用户程序和组态信息分别下载到两块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.3S7-1200与S7-300/400之间的开放式用户通信1.S7-1200与S7-300/400的以太网通信概述S7-1200与S7-300/400集成的PN接口之间的开放式用户通信可以使用ISO-on-TCP、TCP和UDP协议。可以用STEP7V5.5对S7-300/400编程。本节主要介绍S7-300/400基于博途的开放式用户通信。2.S7-300/400的组态与编程项目“300_1200TCP”的PLC_1为CPU314-2PN/DP,CPU_2为CPU1215C。它们的IP地址分别为192.168.0.1和192.168.0.2。启用双方的MB0为时钟存储器字节。为PLC_1生成DB1和DB2,在数据块中分别生成有100个整数元素的数组。不启用“优化的块访问”属性。在OB100中预置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。LEN是发送或接收的最大字节数,RCVD_LEN是实际接收到的字节数。3.S7-1200的组态与编程在CPU1215C的OB1中,用周期为0.5s的时钟脉冲M0.3将要发送的第一个字DB1.DBW0加1。调用TCON、TDISCON、TSEND和TRCV的程序与PLC_1的基本上相同。TSEND和TRCV的参数LEN被隐藏。4.通信实验通信实验的方法和结果与项目“1200_1200UDP”的基本上相同。用监控表中的M10.0和M10.4的上升沿建立连接和断开连接。项目“300_1200ISO”与“300_1200TCP”基本上相同。连接类型为“ISO-on-TCP”,采用默认的TSAP。在S7-300/400和S7-1200的TCP和ISO-on-TCP协议通信中,S7-1200除了使用TSEND和TRCV指令,还可以使用TSEND_C和TRCV_C指令。S7-1200和S7-300/400之间也可以使用UDP协议通信。6.3S7协议通信6.3.1S7-1200之间的S7协议通信1.S7协议S7协议是专为西门子控制产品优化 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 的通信协议,它是面向连接的协议。连接是指两个通信伙伴之间为了执行通信服务建立的逻辑链路。S7连接是需要组态的静态连接,静态连接要占用CPU的连接资源。S7-1200仅支持S7单向连接。单向连接中的客户机(Client)是向服务器(Server)请求服务的设备,客户机调用GET/PUT指令读、写服务器的存储区。服务器是通信中的被动方,用户不用编写服务器的S7通信程序,S7通信是由服务器的操作系统完成的。2.创建S7连接在名为“1200_1200IE_S7”的项目中,PLC_1为客户机,PLC_2为服务器。采用默认的IP地址和子网掩码。组态时启用MB0为时钟存储器字节。打开网络视图,单击按下“连接”按钮,设置连接类型为S7连接。用“拖拽”的方法建立两个CPU的PN接口之间的名为“S7_连接_1”的连接。单击网络视图右边竖条上向左的小三角形按钮,打开弹出的视图中的“连接”选项卡,可以看到生成的S7连接的详细信息。连接ID为16#100。选中“S7_连接_1”,再选中巡视窗口的“特殊连接属性”,勾选复选框“主动建立连接”。选中“地址详细信息”,可以看到通信双方默认的TSAP(传输服务访问点)。使用固件版本为V4.0及以上的S7-1200CPU作为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。客户机最多可以分别读取和改写服务器的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.2S7-1200与其他S7PLC之间的S7通信1.S7-300做客户机的S7通信项目名称为“300_1200IE_S7”,PLC_1为CPU314-2PN/DP,PLC_2为CPU1215C。启用双方的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个整数组成的数组。不要启用数据块属性中的“优化的块访问”功能。PLC_1做S7通信的客户机。在它的OB1中调用GET和PUT指令。通信的实验方法与例程“1200_1200IE_S7”相同。不能仿真。2.S7-1200与S7-200SMART的S7协议通信例程“1200_SMART_S7”中,只有做客户机的CPU1215C,启用MB0为时钟存储器字节。右键单击网络视图中CPU的以太网接口,执行“添加子网”命令,生成一个名为“PN/IE_1”的以太网。单击工具栏上的“连接”,设置连接类型为S7连接。右键单击CPU,执行“添加新连接”命令。在“创建新连接”对话框中,采用默认的连接类型“S7连接”,默认的连接伙伴为左边窗口的“未指定”。多选框“主动建立连接”被自动选中,由S7-1200建立连接。单击“添加”和“关闭”按钮,新连接被创建。连接的本地ID为16#100,将在编程中使用。选中S7连接后选中巡视窗口中的“常规”,设置伙伴的IP地址为192.168.0.2。连接的本地ID为1,为单向连接,由本地站点主动建立连接。本地和伙伴的TSAP分别为10.01和03.01。为CPU1215C生成DB3和DB4,在数据块中生成由100个整数组成的数组。不要启用“优化的块访问”属性。在CPU1215C的OB1中调用指令GET和PUT。S7-200SMART的V区被映射为S7-1200的DB1,要读取的S7-200SMART的VB100~VB299被映射为P#DB1.DBX100.0INT100,要写入的S7-200SMART的VB300~VB499被映射为P#DB1.DBX300.0INT100。分别用DB3和DB4保存S7-300要发送的数据和接收到的数据。周期为1s的时钟脉冲M0.5每秒钟将发送的第一个字DB3.DBW0加1。在OB100中初始化DB3中的地址区,将DB4中的各个字清0。“SMART做服务器.smart”是S7-200SMART的程序,以太网端口的IP地址为192.168.0.2,在OB1中初始化V区中要发送的VB100~VB299,将保存接收到的数据的VB300~VB499清0,每秒钟将要发送的第一个字VW100加1。用状态图表监控接收到的数据。实验的方法与项目“1200_1200IE_S7”差不多。6.4PROFIBUS-DP、PROFINET与AS-i通信PROFIBUS-DP与PROFINET属于主从通信,只需要组态,就能实现DP主站和从站之间、IO控制器和IO设备之间的周期性通信。6.4.1S7-1200做IO控制器和DP主站1.PROFINET网络的组态S7-1200最多可以带16个IO设备,最多256个子模块。在项目“1200做IO控制器”中,打开网络视图,将ET200SPN的接口模块IM151-3PN拖拽到网络视图,生成IO设备ET200SPN。将电源模块、DI、2DQ和和2AQ模块插入1~4号槽。采用默认的IP地址,设备编号为1。IO控制器通过设备名称对IO设备寻址。选中IM151-3PN的以太网接口,再选中巡视窗口中的“以太网地址”,设置IO设备的名称为et200spn1。右键单击网络视图中CPU的PN接口,执行菜单命令“添加IO系统”。单击ET200SPN上蓝色的“未分配”,将它分配给该IO控制器。在ET200SPN的设备视图中,打开它的设备概览。可以看到分配给它的信号模块的I、Q地址。可以用这些地址直接读、写ET200S的模块。用同样的方法生成第二台IO设备ET200SPN,将它分配给IO控制器CPU1215C。插入电源模块和信号模块。采用默认的IP地址,设备编号为2。将它的设备名称改为et200spn2。2.分配设备名称如果IO设备中的设备名称与组态的设备名称不一致,连接IO控制器和IO设备后,它们的故障LED亮。右键单击网络视图中的1号设备,执行快捷菜单命令“分配设备名称”。单击“更新列表”按钮,“网络中的可访问节点”列表中出现网络上的两台ET200SPN原有的设备名称。用“PROFINET设备名称”选择框选中组态的1号设备的名称。选中IP地址为192.168.0.2的可访问节点,单击“分配名称”按钮,组态的设备名称被分配和下载给1号设备。分配好后,IO设备和IO控制器上的ERRORLED熄灭。为了验证通信是否正常,在OB1中编写简单的程序,观察是否能用IO设备的输入点控制它的输出点。3.S7-1200做DP主站S7-1200CPU从固件版本V2.0开始,支持PROFIBUS-DP通信。S7-1200的DP主站模块为CM1243-5,传输速率9600~12Mbit/s。新建项目“1200作DP主站”。PLC_1为CPU1215C,打开它的设备视图,将右边的硬件目录窗口的CM1243-5主站模块拖拽到CPU左侧的101号槽。打开网络视图,将右边的硬件目录窗口的ET200S的IM151-1标准型接口模块拖拽到网络视图。打开ET200S的设备视图,将电源模块和信号模块插入1~6号槽。右键单击DP主站模块的DP接口,执行快捷菜单命令“添加主站系统”,生成DP主站系统。右键单击ET200S的DP接口,将它连接到DP主站系统。用同样的方法生成名为Slave_2的DP从站ET200S,将电源模块和信号模块插入1~5号槽。将该从站连接到DP主站系统。选中主站和从站的DP接口,可用巡视窗口设置PROFIBUS地址。打开ET200S的设备视图,弹出设备概览,可以看到它的I、Q地址。6.4.2S7-1200做DP智能从站和智能IO设备1.S7-1200做DP智能从站项目“1200做DP从站”的PLC_1是作为DP主站的CPU315-2DP,PLC_2是作为DP从站的CPU1215C。打开后者的设备视图,将CM1242-5DP从站模块拖拽到101号槽。在网络视图中,右键单击主站的DP接口,生成DP主站系统。右键单击从站的DP接口,将它分配给主站。主站和从站的DP站地址分别为默认的2和3。DP主站与智能从站之间通过传输区(I、Q地址区)周期性地进行信息交换。选中DP从站模块的DP接口,选中巡视窗口的“智能从站通信”,单击右边窗口“传输区”列表中的<新增>,在第一行生成“传输区_1”。选中左边窗口中的“传输区_1”,在右边窗口定义主站发送数据、智能从站接收数据的I、Q地址区。组态的传输区不能与硬件使用的地址区重叠。用同样的方法组态传输区_2。选中巡视窗口左边的“智能从站通信”,右边窗口中是组态好的两个传输区。主站将QB128~QB159中的数据发送给从站,后者用IB128~IB159接收。从站将QB128~QB159中的数据发送给主站,后者用IB128~IB159接收。在PLC_1的OB100中,初始化要发送的Q区,将接收数据的I区清零。在循环中断组织块OB33中,将要发送的第一个字QW128加1。在PLC_2的OB1中,将要发送的第一个字QW128加1。在OB100中,给QW130和QW158设置初始值。用DP电缆连接主站和从站的DP接口,运行时用监控表监控双方接收到IW128、IW130和IW158,检查通信是否正常。2.1200做智能IO设备在项目“1200做智能IO设备”中,PLC_1(CPU314-2PN/DP)是IO控制器,CPU1215C是智能IO设备。选中设备视图中PLC_1的PN接口,再选中巡视窗口中的“以太网地址”,采用自动生成的PROFINET设备名称plc_1,默认的操作模式为“IO控制器”。右键单击网络视图中PLC_1的PN接口,生成PROFINETIO系统。选中PLC_2的PN接口,操作模式设置为“IO设备”,将CPU1215C分配给IO控制器PLC_1。选中CPU1215C的PN接口,用类似智能从站的组态方法,在巡视窗口组态IO控制器和智能IO设备之间通信用的“传输区_1”和“传输区_2”。双方对传输区的初始化程序和对要发送的第一个字QW128加1的程序与项目“1200作DP从站”的相同。分别选中PLC_1和PLC_2,下载它们的组态信息和程序。做好在线操作的准备工作后,右键单击网络视图中的PN总线,执行“分配设备名称”命令。用出现的对话框分配好设备的名称。可以用监控表监控双方接收数据的IW128、IW130和IW158。6.5点对点通信6.5.1串行通信的基本概念1.并行通信与串行通信并行数据通信在工业通信中很少使用。串行数据通信是以二进制的位为单位的数据传输方式,每次只传送一位。串行通信最少只需要两根线就可以连接多台设备,组成控制网络,可用于距离较远的场合。2.异步通信接收方和发送方的传输速率的微小差异产生的积累误差,可能使发送和接收的数据错位。异步通信采用字符同步方式,通信双方需要对采用的信息格式和数据的传输速率作相同的约定。接收方将停止位和起始位之间的下降沿作为接收的起始点,在每一位的中点接收信息。奇偶校验用硬件保证发送方发送的每一个字符的数据位和奇偶校验位中“1”的个数为偶数或奇数。接收方用硬件对接收到的每一个字符的奇偶性进行校验,可以检验出传送过程中的错误。可以设置为无奇偶校验。传输速率单位为bit/s或bps,即每秒传送的二进制位数。3.单工通信与双工通信单工通信只能沿单一方向传输数据,双工通信的每一个站既可以发送数据,也可以接收数据。全双工方式通信的双方都能在同一时刻接收和发送数据。半双工方式通信的双方在同一时刻只能发送数据或只能接收数据。通信方向的切换过程需要一定的延迟时间。4.串行通信的接口标准(1)RS-232CRS-232C的最大通信距离为15m,最高传输速率为20kbit/s,只能进行一对一的通信。RS-232C使用单端驱动、单端接收电路,容易受到公共地线上的电位差和外部引入的干扰信号的影响。(2)RS-422ARS-422A采用平衡驱动、差分接收电路,因为接收器是差分输入,两根线上的共模干扰信号互相抵消。在最大传输速率10Mbit/s时,最大通信距离为12m。传输速率为100kbit/s时,最大通信距离为1200m,一台驱动器可以连接10台接收器。(3)RS-485RS-422A是全双工,用4根导线传送数据。RS-485是RS-422A的变形,为半双工,使用双绞线可以组成串行通信网络,构成分布式系统。6.5.2点对点通信的组态与编程1.点对点通信模块S7-1200支持使用自由口协议的点对点通信。点对点通信使用RS-485CM1241模块、RS-485CB1241通信板和RS-232CM1241模块。它们支持ASCII、USS驱动、ModbusRTU主站协议和ModbusRTU从站协议。2.组态通信模块生成一个名为“点对点通信”的新项目,PLC_1和PLC_2均为CPU1214C。打开PLC_1的设备视图,将RS-485模块拖放到CPU左边的101号槽。选中该模块后,选中下面的巡视窗口的“端口组态”,设置通信接口的参数。除了波特率,其他参数均采用默认值。3.设计用户程序PLC_1作主站,PLC_2作从站。在启动信号M2.0为1状态时,主站发送100个字的数据,从站接收到后返回100个字的数据。以后重复上述过程。将Send_P2P、Receive_P2P指令拖拽到梯形图中。自动生成它们的背景数据块DB3和DB4。输入参数PORT为通信接口的标识符,可以在通信接口的属性对话框中找到它。BUFFER是发送缓冲区的起始地址,LENGTH是发送缓冲区的长度。发送结束时输出位DONE为1状态。指令执行出错时,输出位ERROR为1状态,错误代码在STATUS中。接收完成时Receive_P2P的输出位NDR为1状态,LENGTH中是接收到的报文的字节数。为主站生成DB1和DB2,在它们中间分别生成有100个字元素的数组“To从站”和“From从站”。在OB100中给数组“To从站”要发送的所有元素赋初值,将保存接收到的数据的数组“From从站”的所有元素清零。在OB1中用周期为0.5s的时钟存储器位M0.3的上升沿,将要发送的第一个字的值加1。下面是主站的轮询顺序:1)在Send_P2P指令的REQ信号M2.0的上升沿,启动发送过程,发送DB1中的100个整数。在多个扫描周期内继续执行Send_P2P指令,完成报文的发送。2)Send_P2P的输出位DONE(M2.1)为1状态时,表示发送完成,将M2.4置位。用M2.4作为Receive_P2P的接收使能信号EN的实参,反复执行Receive_P2P。模块接收到响应报文后,Receive_P2P指令的输出位NDR(M2.5)为1状态,表示已接收到新数据。3)在M2.5的下降沿将M2.7置位,返回第1步,重新启动发送过程。同时将接收使能信号M2.4复位。在发送完成时,将M2.7复位。从站接收和发送数据的程序见图6-44,DB1和DB2中的100个字元素的数组符号名分别为“To主站”和“From主站”,其他程序与PLC_1的基本上相同。从站的轮询顺序如下:1)在OB1中调用Receive_P2P指令,开始时它的使能信号EN为1状态。2)从站接收到请求报文后,Receive_P2P指令的输出位NDR(M2.5)变为1状态。在M2.5的下降沿将M2.4置位,启动Send_P2P指令,将DB1中的响应报文发送给主站。M2.4的常闭触点断开,Receive_P2P指令停止接收数据。3)在响应报文发送完成时,Send_P2P的输出位DONE(M2.1)变为1状态,将M2.4复位,停止发送报文。Receive_P2P的EN输入变为1状态,又开始准备接收主站发送的报文。4.点对点通信的实验用监控表将M2.0置为1状态后马上置为0状态,启动主站向从站发送数据。观察双方接收到的第一个字DB2.DBW0的值是否不断增大,DB2的DBW2和DBW198的值是否与对方在OB100中预置的值相同。6.6ModbusRTU协议通信6.6.1ModbusRTU主站的编程1.Modbus协议Modbus串行链路协议是主-从协议,采用请求-响应方式。有一个主站,1~247个子站。RTU模式用循环冗余校验(CRC)进行错误检查,报文最长256B。使用通信模块CM1241(RS485)作主站时,最多可以与32个从站通信。2.组态硬件生成一个名为“ModbusRTU通信”的项目,主站PLC_1和从站PLC_2的CPU均为CPU1214C。启用它们默认的时钟存储器字节MB0。打开主站PLC_1的设备视图,将CM1241(RS485)模块拖放到101号槽。选中该模块以后,选中巡视窗口的“端口组态”,按图6-42设置通信接口的参数。3.调用Modbus_Comm_Load指令必须在OB100中,对每个通信模块调用一次Modbus_Comm_Load指令,来组态它的通信接口。参数REQ为请求信号,PORT是通信端口的硬件标识符,BAUD(波特率)为38400bps,PARITY(奇偶校验位)为0,不使用奇偶校验校验。响应超时时间RESP_TO为1000ms,MB_DB是Modbus_Master函数块的背景数据块中的静态变量,DONE为1表示指令执行完且没有出错。ERROR为1表示检测到错误,参数STATUS中是错误代码。生成DB1和DB2,在它们中间分别生成有10个字元素的数组。在OB100中给要发送的DB1中的10个字赋初值16#2222,将保存接收到的数据的DB2中的10个字清零。在OB1中用周期为0.5s的时钟存储器位M0.3的上升沿,将要发送的第一个字加1。4.调用Modbus_Master指令该指令用于Modbus主站与指定的从站进行通信。主站可以访问一个或多个从站。在OB1中两次调用该指令,读取1号从站中Modbus地址从40001开始的10个字中的数据,保存到主站的DB2中;将主站DB1中的10个字的数据写入从站的Modbus地址从40011开始的10个字中。同一个Modbus端口的所有Modbus_Master指令必须使用同一个Modbus_Master背景数据块。5.Modbus_Master指令的输入、输出参数在输入参数REQ的上升沿,请求向Modbus从站发送数据。MB_ADDR是从站地址(0~247)。MODE用于选择Modbus功能的类型(见表6-1)。DATA_ADDR是要访问的从站中数据的Modbus起始地址。Modbus_Master指令根据参数MODE和DATA_ADDR确定Modbus报文中的功能代码(见表6-1)。DATA_LEN是要访问的数据长度(位数或字数)。DATA_PTR指针指向CPU的数据块或位存储器地址,从该位置读取数据或向其写入数据。DONE为1表示指令已完成对Modbus从站的操作。BUSY为1表示正在处理任务。ERROR为1状态表示检测到错误,参数STATUS提供的错误代码有效。6.6.2ModbusRTU从站的编程与实验1.组态从站的RS-485模块打开从站PLC_2的设备视图,将RS-485模块拖放到CPU左边的101号槽。2.初始化程序在OB100中调用Modbus_Comm_Load指令,来组态串行通信接口的参数。其输入参数PORT的值为267,参数MB_DB的实参为“Modbus_Slave_DB”.MB_DB。生成DB1,不能激活“仅符号地址”属性。在它中间生成有20个字元素的数组DATA。在OB100中给数组DATA要发送的前10个元素赋初值16#1111,将保存接收到的数据的数组DATA的后10个元素清零。3.Modbus_Slave指令在OB1中调用Modbus_Slave指令,它用于为Modbus主站发出的请求服务。开机时执行OB100中的Modbus_Comm_Load指令,通信接口被初始化。从站接收到ModbusRTU主站发送的请求时,通过执行Modbus_Slave指令来响应。它的输入/输出参数的意义如下:MB_ADDR是从站地址(1~247)。MB_HOLD_REG是指向Modbus保持寄存器数据块的指针,其实参为DB1中的数组DATA,该数组用来保存供主站读写的数据值。DB1.DBW0对应于Modbus地址40001。NDR为1表示主站已写入新数据,DR为1表示主站已读取数据,ERROR为1状态表示检测到错误,参数STATUS中的错误代码有效。在OB1中用周期为0.5s的时钟存储器位M0.3的上升沿,将要发送的第一个字“DATA[1]”的值加1。4.Modbus通信实验硬件接线图见图6-45。用监控表监控主站的DB2的DBW0、DBW2和DBW18,以及从站的DB1的DBW20、DBW22和DBW38。用外接的小开关产生请求信号I0.0的脉冲,启动主站读取从站的数据。用主站的监控表观察DB2中主站的DBW2和DBW18读取到的数值是否与从站在OB100中预置的值相同。多次发出请求信号,观察DB2.DBW0的值是否增大。用外接的小开关产生请求信号I0.1的上升沿,启动主站改写从站的数据。用从站的监控表观察DB1中改写的结果。多次发出请求信号,观察DBW20的值是否增大。6.7S7-1200与变频器的USS协议通信6.7.1硬件接线与变频器参数设置1.USS通信本节介绍SINAMICSV20基本型变频器与S7-1200的USS通信。2.硬件接线S7-1200需要配备CM1241RS485通信模块。每个CPU最多可以连接3个通信模块,建立3个USS网络。每个USS网络最多支持16个变频器。接线时两侧的0V端子不能就近连接到保护接地网络,否则可能因为烧电焊烧毁通信设备。3.设置电动机参数应使用V20内置的基本操作面板来设置变频器有关的参数。4.设置连接宏、应用宏和其他参数V20将变频器常用的控制方式归纳为12种连接宏和5种应用宏,连接宏类似于 配方 学校职工宿舍分配方案某公司股权分配方案中药治疗痤疮学校教师宿舍分配方案医生绩效二次分配方案 ,给出了完整的解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 。选中连接宏Cn010(USS控制),适当修改Cn010预设的USS通信的参数(见表6-2)。6.7.2S7-1200的组态与编程1.硬件组态生成一个名为“USS通信”的项目,打开设备视图,将CM1241(RS485)模块拖放到CPU左边的101号槽。选中该模块,选中巡视窗口的“端口组态”,设置波特率为19.2kbit/s,偶校验。其余的参数采用默认值。2.USS的程序结构每台变频器需要调用一条 USS_Drive_Control指令,来监控一台变频器。所有的USS_Drive_Control指令共同使用调用第一条USS_Drive_Control指令时生成的背景数据块,每个USS网络通过这个背景数据块进行管理。每个RS-485通信端口使用一条USS_Port_Scan指令,它通过RS-485通信端口控制CPU与该端口所有变频器之间的通信,它有自己的背景数据模块。3.USS_Drive_Control指令起动位RUN为1时,以设置的速度运行。OFF2为0状态,电动机自然停车。OFF3为0状态,通过制动快速停车。F_ACK是故障确认位。DIR是方向控制位,DRIVE是变频器的USS地址(1~16)。PZD_LEN是过程数据PZD的字数。SPEED_SP是百分数表示的频率设定值。NDR为1表示新的通信数据准备好。ERROR为1表示发生错误,参数STATUS有效,其它输出在出错时均为零。STATUS是请求的状态值。位变量RUN_EN为1表示变频器正在运行。D_DIR用来指示变频器旋转的方向。INHIBIT指示变频器的禁止位的状态。FAULT为1表示变频器有故障。SPEED是百分数表示的输出频率实际值。4.USS_Port_Scan指令为确保帧通信的响应时间恒定,应在循环中断OB中调用该指令。在S7-1200的系统手册13.4.2节“使用USS协议的要求”名为“计算时间要求”的表格中可以查到,波特率为19200bit/s时,调用USS_Port_Scan指令的时间间隔应为68.2~205ms。所以在循环时间为150ms的循环中断组织块OB33中调用该指令。参数PORT为PtP通信端口的标识符,双字BAUD为波特率,单位为bit/s。USS_DB为USS_Drive_Control的背景数据块中的静态变量。指令执行出错时,ERROR为1状态,错误代码在STATUS中。6.7.3S7-1200与变频器通信的实验1.PLC监控变频器的实验按图连接好变频器与RS485模块的接线。设置好变频器的参数,将程序下载到PLC,令PLC运行在RUN模式,用以太网接口监控PLC。接通变频器的电源,用基本操作面板显示变频器的频率。打开OB1,启动程序状态监控功能。用鼠标右键菜单设置参数SPEED_SP的值。令OFF2和OFF3为1状态,接通I0.0对应的小开关,电动机开始旋转。频率由0增大,输出位RUN_EN为1。令I0.0为0状态,电动机停车,RUN_EN变为0状态。运行时断开I0.1对应的小开关,电动机自然停车。运行时断开I0.2对应的小开关,电动机快速停车。OFF2和OFF3发出的脉冲使电动机停车后,需要将RUN由1变为0,然后再变为1状态,才能再次起动电动机运行。可以用方向控制位DIR改变电动机旋转的方向,输出位D_DIR的值和输出参数SPEED的符号随之而变。改变MD10中速度给定值的大小和符号,也可以改变电动机的速度和方向。6.8网络控制系统的故障诊断6.8.1与故障诊断有关的中断组织块1.诊断中断组织块OB82具有诊断功能的模块启用了诊断中断,在故障出现或有组件要求维护,故障消失或没有组件需要维护,操作系统将会分别调用一次OB82。2.机架故障组织块OB86如果检测到DP主站系统或PROFINETIO系统发生故障、DP从站或IO设备发生故障,故障出现和故障消失时,操作系统将分别调用一次OB86。ROFINET智能设备的部分子模块发生故障时,操作系统也会调用OB86。3.拔出/插入组织块OB83如果拔出或插入已组态且未禁用的分布式I/O(PROFIBUS、PROFINET和AS-i)模块或子模块,操作系统将调用拔出/插入中断组织块OB83。拔出或插入中央模块将导致CPU进入STOP模式。4.故障处理中断组织块的作用出现硬件和网络故障时,如果没有生成和下载对应的组织块,CPU将切换到STOP模式,以保证设备和生产过程的安全。可以在OB82、OB83和OB86中,编写记录、处理和显示故障的程序,以供维修人员参考。通过中断组织块的局部变量提供的信息,可以获得故障的原因、出现故障的模块的硬件标示符、故障是出现还是消失等信息。6.8.2用TIA博途和LED诊断故障1.设置模块的诊断功能打开项目“1200作IO控制器”,启用ET 200S的电源模块、DI、DQ、AQ模块的诊断功能。AQ模块还需要启用“组诊断”功能。出现诊断故障时,CPU将会调用OB82。2.程序设计为了保证网络控制系统的正常运行,生成诊断错误中断组织块OB82、机架故障组织块OB86和插入或删除模块组织块OB83。在上述OB中编程,在CPU调用OB82、OB83和OB86时,用INC指令分别将MW20~MW24加1。在监控表中监控MW20~MW24。3.打开在线与诊断视图将程序和组态数据下载到CPU。双击项目树CPU文件夹中的“在线和诊断”,打开“在线和诊断”视图,自动选中左边窗口的“在线访问”。单击工具栏上的“在线”按钮,进入在线模式。工作区右边窗口中的计算机和CPU图形之间出现绿色的连线,表示它们建立起了连接。被激活的项目树或工作区的标题栏的背景色变为橙色,项目树中的某些对象右边有表示状态的符号。选中项目树中在线的PLC,单击工具栏上的“离线”按钮,将会进入离线模式。4.用诊断缓冲区诊断故障选中“在线和诊断”工作区左边窗口中的“诊断缓冲区”,右边窗口最上面是事件列表。事件列表下面是选中事件的详细信息,包括出现故障的站点的设备名称、模块的型号、时间和日期、机架号和插槽号。详细信息中的“到达事件”和向左的箭头符号表示故障出现,“离开事件”和向右的箭头符号表示故障消失。事件右边的红色背景符号表示事件当前的状态为故障,绿色背景符号表示状态为正常。缓冲区中的条目按事件出现的顺序排列,最上面的是最后发生的事件。在OB1中编写简单的程序,用I2.0的常开触点控制1号站的DQ模块的Q2.0。在Q2.0外部负载通电时用串接的开关将它断路,出现诊断缓冲区中的4号事件“断路”(到达事件)。监控表中的MW20的值加1,表示调用了一次OB82。接通Q2.0的外部负载,出现诊断缓冲区中的1号事件“断路”(离去事件),CPU又调用一次OB82。事件列表中的6号和5号事件分别是移除和插入2号设备的DI模块,这两个事件出现时分别调用一次OB83。系统出现错误时,诊断事件可能非常快地连续不断地出现,将会使诊断缓冲区的显示以非常快的速率更新。单击“冻结显示”按钮,将会冻结显示。单击“关于事件的帮助”按钮,将看到选择的事件的详细信息和解决问题的方法。单击“在编辑器中打开”按钮,引起错误的指令所在的离线的块被打开,可以检查和修改块中的程序。单击“另存为”按钮,诊断缓冲区的内容被保存为文本文件。5.在线和诊断的其他功能选中“在线和诊断”视图左边窗口最上面的“在线访问”,用图形显示是否建立了在线连接,以及通信接口的信息。单击博途最右边垂直条上的“在线工具”按钮,用右边的任务卡打开“在线工具”窗口。最上面是CPU操作面板,可以看到CPU上3个LED的状态。用该面板中的“RUN”和“STOP”按钮可以切换CPU的操作模式。单击CPU操作面板上的“MRES”(存储器复位)按钮,将会清除所有的保持性和非保持性的存储器,断开现有的通信连接。“周期时间”选项板显示CPU最短的、最长的和当前的扫描循环时间。“存储器”选项板显示未使用的装载存储器、工作存储器和保持存储器所占的百分比。选中工作区左边窗口的“诊断”文件夹中的“诊断状态”,右边窗口将会显示模块的诊断状态。选中工作区左边窗口中的“设置时间”,可以在右边窗口设置PLC的实时时钟。勾选复选框“从PG/PC获取”,单击“应用”按钮,PLC的实时时钟将会与计算机的实时时钟同步。未选中该复选框时,可以在“模块时间”区设置CPU的日期和时间。6.用网络视图和设备视图诊断故障与CPU建立起在线连接,进入在线模式后,博途用图标显示有关模块的状态和运行模式。在博途的在线帮助中搜索“使用图标显示诊断状态和比较状态”,可以找到各种图标的意义。将1号设备4号槽的电压输出的2AO模块的0号通道对地短路,拔出2号设备2号插槽的4DI模块,在线模式下打开网络视图,可以看到CPU和IO设备上的故障符号。双击1号设备,打开它的设备视图和设备概览,可以看到4号槽的AO模块上有红色背景的故障符号。双击设备概览中的AO模块,在“在线和诊断”工作区打开它的诊断视图。选中左边窗口的“诊断状态”,右边窗口为“模块存在,错误”。选中左边窗口的“通道诊断”,显示0号通道的错误为“短路”。图6-63是拔出2号插槽的4DI模块时,2号设备的设备视图和4DI模块的诊断状态视图。打开在线与诊断视图,可用巡视窗口的“诊断>设备信息”选项卡进行诊断(见图6-64)。单击“详细信息”列中蓝色的字符,将打开链接的CPU模块的诊断缓冲区。单击“帮助”列蓝色的问号,将打开链接的进一步的信息。结束
本文档为【S7-1200-PLC编程及应用第三版-廖常初-课件-第6章】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
优秀工作者
暂无简介~
格式:ppt
大小:1MB
软件:PowerPoint
页数:57
分类:
上传时间:2022-03-04
浏览量:26