欢迎光临散文网 会员登陆 & 注册

SIMATIC S7-200自由口通讯

2022-12-02 06:57 作者:张框子zZ  | 我要投稿

一、概述 •S7-200 CPU 具有自由口通信能力。 •自由口通信是一种基于 RS485 硬件基础上,允许应用程序控制 S7-200 CPU 的通信端口、以实现一些自定义通信协议的通信方式。 •S7-200 CPU 处于自由口通信模式时,通信功能完全由用户程序控制,所有的通信任务和信息定义均需由用户编程实现。 •借助自由口通信模式,S7-200 CPU 可与许多通信协议公开的其他设备、控制器进行通信,其波特率为1200~115200bit/s。 •S7-200 可通过 自由口通讯协议访问下列设备: – 带用户端软件的PC机 – 条 形码阅读 器 – 串 口 打印机 – 并 口 打印机 – S7-200 – S7-300 with CP 340 – 非Siemens PLC – 调制解调器

• 补充说明: • (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 协议。 二、设置说明 工作模式定义: • 使用自由口通信前,必须了解自由口通信工作模式的定义方法,即控 制字的组态。 • S7-200 CPU 的自由口通信的数据字节格式必须含有一个起始位、一 个停止位,数据位长度为7位或8位,校验位和校验类型(奇、偶校验) 可选。 • S7-200 CPU 的自由口通信定义方法为将自由口通信操作数传入特殊 寄存器 SMB30(端口0)和 SMB130 (端口1)进行端口定义,自由 口通信操作数定义如下所示:

XMT 指令: • 自由口通信模式主要使用 XMT (发送)和 RCV (接收)两条指令, 以及相应的特殊寄存器。 • XMT 指令利用数据缓冲区指定要发送的字符,用于向指定通信口以字 节为单位发送一串数据字符,一次最多发送255个字节。 • XMT 指令完成后,会产生一个中断事件( Port 0为中断事件9, Port1为中断事件26)。 • XMT 指令的缓冲区格式如下表所示:

RCV 指令: • RCV 指令可以从 S7-200 CPU 的通信口接收一个或多个数据字节,接 收到的数据字节将被保存在接收数据缓冲区内。 • RCV 指令完成后,会产生一个中断事件( Port 0为中断事件23, Port1 为中断事件24)。特殊寄存器 SMB86 和 SMB186 则分别提供 Port0 和 Port1 的接收信息状态字节。 • RCV 指令的缓冲区格式如下表所示:

三、自由口发送示例 1 功能要求 • 记录定时中断次数,将计数值转化为ASCII字符串,再通过 CPU224XP 的 Port0 发送到计算机串口,计算机接受并利用超级终端 显示与 S7-200 CPU 通信的内容。 2 硬件需求 • 带串口的 PC 机、S7-200 CPU 224XP、RS 232 电缆(推荐采用西 门子 S7-200 串口编程电缆) 3 简要实现步骤 •(1)编写 S7-200 PLC 程序。 •(2)下载程序到 S7-200 PLC 中。 •(3)配置计算机的超级终端。 •(4)使用计算机上超级终端接收并显示与 S7-200 CPU 通信的通信内容。 •1 规定缓冲区为 VB100 到 VB114 ,使用数据块进行缓冲区定义。

• 在Step7- Micro/Win 中组态数据块,如下图所示 。 • 16#0D和16#0A用于计算机的超级终端显示需要。

• 2 程序结构及用途 • 主程序:根据 I 0.3 状态初始化端口1为自由口通信 • SBR_0:定义端口0为自由口,初始化定时中断 • SBR_1: 定义端口0为普通 PPI 从站通信口 • INT_0: 对定时中断计数并从端口0发送计数值 •1)主程序编程

• 2)SBR_0 编程

• 3)SBR_1 编程

• 4)INT_0 编程

• 补充说明:中断事件10是由中断0产生的时间中断,该时间中断的间 隔的范围为1ms~255ms,中断间隔的数值由 SMB34 定义。由于 RS232传输线由空闲状态切换到接收模式需要切换时间(一般为 0.15~14ms),故为防止传送失败,设置的中断间隔必须大于切换时 间,并再增加一些富余。 四、自由口接收示例 • 1 程序结构及用途 • 主程序:根据I 0.3 状态初始化端口1为自由口通信 • SBR_0:定义端口0为自由口,初始化接收指令 • SBR_1:定义端口0为普通 PPI 从站通信口 • INT_0:在 QB0 输出接收到的第一个字节 • 1) 主程序编程

• 2) SBR_0 编程

• 3) SBR_1 编程

• 4) INT_0 编程

SIMATIC S7-200自由口通讯的评论 (共 条)

分享到微博请遵守国家法律