S7200自由口通信课件.ppt
自由口通信,SIMATIC S7-200,1,自由口通信SIMATIC S7-2001,概述设置说明工作模式定义XMT 指令RCV 指令编程示例自由口发送示例自由口接收示例,提纲,2,S7-200 自由口通信,2,概述 提纲2S7-200 自由口通信2,S7-200 CPU 具有自由口通信能力。自由口通信是一种基于 RS485 硬件基础上,允许应用程序控制 S7-200 CPU 的通信端口、以实现一些自定义通信协议的通信方式。S7-200 CPU 处于自由口通信模式时,通信功能完全由用户程序控制,所有的通信任务和信息定义均需由用户编程实现。借助自由口通信模式,S7-200 CPU 可与许多通信协议公开的其他设备、控制器进行通信,其波特率为1200115200bit/s。,概述,3,S7-200 CPU 具有自由口通信能力。概述3,S7-200 可通过 自由口通讯协议访问下列设备:,概述,调制解调器,带用户端软件的PC机条 形 码 阅 读 器串 口 打 印 机并 口 打 印 机S7-200S7-300 with CP 340非Siemens PLC调制解调器,监 控 端 软 件,第三方PLC,S7-200,打印机,条 码 阅 读,4,S7-200 可通过 自由口通讯协议访问下列设备: 概述 调,补充说明:(1)由于 S7-200 CPU 通信端口是半双工通信口,所以发送和接受不能同时进行。(2)S7-200 CPU 通信口处于自由口模式下时,该通信口不能同时工作在其他通信模式下。如不能端口1在进行自由口通信时,又使用端口1进行 PPI 编程。(3)S7-200 CPU 通信端口是 RS485 标准,因此如果通信对象是RS232 设备,则需要使用 RS232/PPI 电缆。(4)自由口通信只有在 S7-200 CPU 处于 RUN 模式下才能被激活,如果将 S7-200 CPU 设置为 STOP 模式,则通信端口将根据 S7-200 CPU 系统块中的配置转换到 PPI 协议。,概述,5,补充说明:概述5,概述设置说明工作模式定义XMT 指令RCV 指令编程示例自由口发送示例自由口接收示例,提纲,6,S7-200 自由口通信,6,概述 提纲6S7-200 自由口通信6,工作模式定义XMT 指令RCV 指令,7,设置说明,7,工作模式定义7设置说明7,使用自由口通信前,必须了解自由口通信工作模式的定义方法,即控制字的组态。S7-200 CPU 的自由口通信的数据字节格式必须含有一个起始位、一个停止位,数据位长度为7位或8位,校验位和校验类型(奇、偶校验)可选。S7-200 CPU 的自由口通信定义方法为将自由口通信操作数传入特殊寄存器 SMB30(端口0)和 SMB130 (端口1)进行端口定义,自由口通信操作数定义如下所示:,工作模式定义,8,使用自由口通信前,必须了解自由口通信工作模式的定义方法,即控,工作模式定义,9,工作模式定义9,工作模式定义XMT 指令RCV 指令,10,设置说明,10,工作模式定义10设置说明10,自由口通信模式主要使用 XMT (发送)和 RCV (接收)两条指令,以及相应的特殊寄存器。XMT 指令利用数据缓冲区指定要发送的字符,用于向指定通信口以字节为单位发送一串数据字符,一次最多发送255个字节。XMT 指令完成后,会产生一个中断事件( Port 0为中断事件9, Port1为中断事件26)。XMT 指令的缓冲区格式如下表所示:,XMT 指令,11,自由口通信模式主要使用 XMT (发送)和 RCV (接收),工作模式定义XMT 指令RCV 指令,12,设置说明,12,工作模式定义12设置说明12,RCV 指令可以从 S7-200 CPU 的通信口接收一个或多个数据字节,接收到的数据字节将被保存在接收数据缓冲区内。RCV 指令完成后,会产生一个中断事件( Port 0为中断事件23,Port1 为中断事件24)。特殊寄存器 SMB86 和 SMB186 则分别提供Port0 和 Port1 的接收信息状态字节。RCV 指令的缓冲区格式如下表所示:,RCV 指令,13,RCV 指令可以从 S7-200 CPU 的通信口接收一个或,概述设置说明工作模式定义XMT 指令RCV 指令编程示例自由口发送示例自由口接收示例,提纲,14,S7-200 自由口通信,14,概述 提纲14S7-200 自由口通信14,自由口发送示例概述PLC 程序说明超级终端接收组态自由口接收示例概述PLC 程序说明超级终端发送组态,15,编程示例,15,自由口发送示例15编程示例15,概述PLC 程序说明超级终端接收组态,16,自由口发送示例,16,概述16自由口发送示例16,1 功能要求记录定时中断次数,将计数值转化为ASCII字符串,再通过CPU224XP 的 Port0 发送到计算机串口,计算机接受并利用超级终端显示与 S7-200 CPU 通信的内容。 2 硬件需求带串口的 PC 机、S7-200 CPU 224XP、RS 232 电缆(推荐采用西门子 S7-200 串口编程电缆),概述,17,1 功能要求概述17,3 简要实现步骤(1)编写 S7-200 PLC 程序。(2)下载程序到 S7-200 PLC 中。(3)配置计算机的超级终端。(4)使用计算机上超级终端接收并显示与 S7-200 CPU 通信的通信内容。,自由口发送示例,18,3 简要实现步骤自由口发送示例18,概述PLC 程序说明超级终端接收组态,19,自由口发送示例,19,概述19自由口发送示例19,1 规定缓冲区为 VB100 到 VB114 ,使用数据块进行缓冲区定义。在Step7- Micro/Win 中组态数据块,如下图所示 。16#0D和16#0A用于计算机的超级终端显示需要。,PLC 程序说明,20,1 规定缓冲区为 VB100 到 VB114 ,使用数据块进,2 程序结构及用途主程序:根据 I 0.3 状态初始化端口1为自由口通信SBR_0:定义端口0为自由口,初始化定时中断SBR_1: 定义端口0为普通 PPI 从站通信口INT_0: 对定时中断计数并从端口0发送计数值,PLC 程序说明,21,2 程序结构及用途PLC 程序说明21,1)主程序编程,PLC 程序说明,22,1)主程序编程PLC 程序说明22,2)SBR_0 编程,PLC 程序说明,23,2)SBR_0 编程 PLC 程序说明23,3)SBR_1 编程,PLC 程序说明,24,3)SBR_1 编程 PLC 程序说明24,4)INT_0 编程补充说明:中断事件10是由中断0产生的时间中断,该时间中断的间隔的范围为1ms255ms,中断间隔的数值由 SMB34 定义。由于RS232传输线由空闲状态切换到接收模式需要切换时间(一般为0.1514ms),故为防止传送失败,设置的中断间隔必须大于切换时间,并再增加一些富余。,PLC 程序说明,25,4)INT_0 编程PLC 程序说明25,概述PLC 程序说明超级终端接收组态,26,自由口发送示例,26,概述26自由口发送示例26,超级终端(Hyper Terminal)是 Windows 操作系统提供的通信测试程序,本例程用它来监测计算机和 S7-200 CPU 之间的串口通信。超级终端和 Step7 Micro/Win 这类应用程序进行串口操作时都会占用计算机串口的控制权,所有不能同时进行对同一个串口进行操作。超级终端组态步骤如下:1 执行 Windows 菜单命令“开始”“附件”“通信”“超级终端”,为要新建的连接输入连接名称。,超级终端接收组态,27,超级终端(Hyper Terminal)是 Windows,2 选择连接时要使用的串口。,超级终端接收组态,28,2 选择连接时要使用的串口。超级终端接收组态28,3 设置串口通信参数并保存连接,注意此处设置要与PLC程序中对应。,超级终端接收组态,29,3 设置串口通信参数并保存连接,注意此处设置要与PLC程序中,4 设置串口通信参数并保存连接,注意此处设置要与PLC程序中对应。,超级终端接收组态,30,4 设置串口通信参数并保存连接,注意此处设置要与PLC程序中,5 使用超级终端接收 S7-200 CPU 发送的信息。将I 0.3 置为ON,单击按钮进行连接,超级终端的窗口会自动显示 S7-200 CPU 发送的字符串。,超级终端接收组态,31,5 使用超级终端接收 S7-200 CPU 发送的信息。超级,自由口发送示例概述PLC 程序说明超级终端接收组态自由口接收示例概述PLC 程序说明超级终端发送组态,32,编程示例,32,自由口发送示例32编程示例32,概述PLC 程序说明超级终端发送组态,33,自由口接收示例,33,概述33自由口接收示例33,1 功能要求S7-200 CPU 从端口0接收计算机发送的字符串,并在信息接收中断服务程序中把接收到的第一个字节传送到 CPU 输出字节QB0 上显示。2 硬件需求与“自由口发送”相同。3 简要实现步骤(1)编写S7-200 PLC程序。(2)下载程序到S7-200 PLC中。(3)配置计算机的超级终端。(4)使用计算机上超级终端发送信息,并通过状态表查看S7-200 CPU接收到的通信内容。,概述,34,1 功能要求概述34,概述PLC 程序说明超级终端发送组态,35,自由口接收示例,35,概述35自由口接收示例35,1 程序结构及用途主程序:根据I 0.3 状态初始化端口1为自由口通信SBR_0:定义端口0为自由口,初始化接收指令SBR_1:定义端口0为普通 PPI 从站通信口INT_0:在 QB0 输出接收到的第一个字节,PLC 程序说明,36,1 程序结构及用途PLC 程序说明36,PLC 程序说明,1) 主程序编程,37,PLC 程序说明1) 主程序编程37,2) SBR_0 编程,PLC 程序说明,38,2) SBR_0 编程PLC 程序说明38,3) SBR_1 编程,PLC 程序说明,39,3) SBR_1 编程PLC 程序说明39,4) INT_0 编程,PLC 程序说明,40,4) INT_0 编程PLC 程序说明40,概述PLC 程序说明超级终端发送组态,41,自由口接收示例,41,概述41自由口接收示例41,1 配置超级终端链接(1)打开刚才建立好的超级终端链接,进入该链接的属性窗口。,超级终端发送组态,42,1 配置超级终端链接超级终端发送组态42,(2)点击 “ASCII 码设置” 按钮,在弹出的 ASCII 码设置窗口中,按下图方式进行设置。,超级终端发送组态,43,(2)点击 “ASCII 码设置” 按钮,在弹出的 ASCI,超级终端发送组态,2 接收超级终端发送的信息(1)把 PLC 转换到运行状态,同时把 I 0.3 置为ON。(2)在超级终端中输入字符串。,44,超级终端发送组态2 接收超级终端发送的信息44,(3)在 Step-Micro/Win32 中使用状态图,监测缓冲区和 QB0 内容。,超级终端发送组态,45,(3)在 Step-Micro/Win32 中使用状态图,监,Thank you for your attention!,46,Thank you for your attention!,