西门子S7-200 SMART自由口通信参数如何设置?如何编写发送程序和接收程序?如何测试?

简介: 西门子S7-200 SMART除了支持以太网通信,还可以通过CPU上或信号板上的RS485接口实现串口通信。支持的串口协议,包括自由口协议、USS协议、MODBUS协议和PPI协议。STEP7 Micro/WIN SMART编程软件安装时自动集成串口通信所需要的功能块和子程序。

西门子S7-200 SMART除了支持以太网通信,还可以通过CPU上或信号板上的RS485接口实现串口通信。支持的串口协议,包括自由口协议、USS协议、MODBUS协议和PPI协议。STEP7 Micro/WIN SMART编程软件安装时自动集成串口通信所需要的功能块和子程序。


640.jpg

串口通信所需的功能块和子程序

   

自由口通信有以下特点:RS485为半双工接口,发送和接收不可同时进行;支持1.2K到115.2K通信速率;支持一个起始位,7到8个数据位,一个停止位;可以设置一个校验位;通讯功能完全由用户程序控制,通讯协议完全由用户编写;自由口通信时发送和接收是以字节为单位进行的。


640.jpg

自由口通信的特点

   

自由口通信的组态步骤分为三步。设置端口,自由口通信的基本参数是通过系统存储器来设置的,端口0和端口1分别通过SMB30和SMB130设置自由口通信的校验位、数据位、波特率和协议等。下面以端口0的设置为例,说明其参数设置。SMB30的八位数据中,最低两位表示协议选择,01表示自由口协议。第2到第4位三位表示波特率,010表示波特率为9600。第5位表示数据位,0表示八位数据。第6和第7位表示校验位,10表示无校验。


640.jpg

设置端口参数

   

使用发送指令XMT,发送指令用于对单个字符或多个字符缓冲区执行发送操作。发送指令的TBL参数指定发送缓冲区,其格式如图所示,其中首字节指明要发送的字节,后续字节为要发送的字符,最多为255个字符。如果连接中断子程序到发送完成事件,CPU将在发送完缓冲区内的最后一个字符生成一个中断,端口0为中断事件9,端口1为中断事件26,也可以不使用中断,而通过监视SM4.5或SM4.6用信号表示发送完成,例如向打印机发送消息等。


640.jpg

使用发送指令

   

使用接收指令RCV,接收指令用于从单个字符或多个字符缓冲区接收数据,接收指令的TBL参数指定接收缓冲区,其格式如图所示,其中首字节指明接收到的字节数,接着为起始字符,中间为数据和结束字符。如果连接中断子程序到接收完成时间,CPU将在接收完最后一个字符后生成中断,端口0,为中断事件23,端口1为中断事件24,也可以不使用中断,而通过监视SMB86或SMB186来来接收消息。


640.jpg

使用接收指令

   

自由口通信接收数据流程如图所示,接收指令允许选择消息开始和结束条件。对于端口0使用SMB86到SMB94,对于端口1使用SMB186到SMB194接收指令,支持多种消息开始条件和结束条件。我们将通过一个简单的应用实例演示自由口通信的组态方法,通过串口通信信号板与windows操作系统的集成软件超级终端通信,使用自由口协议发送和接收数据,具体内容在下篇文章中进行介绍。


640.jpg

自由口通信接收数据流程图


   

接下来我们来编写西门子S7-200 SMART自由口通信的发送程序,并使用超级终端进行发送功能测试。首先设置参数,打开STEP7 Micro/WIN SMART编程软件,右键单击项目树中的CPU,选择打开,在打开的系统块中选择CPU类型和信号板类型。设置信号板,串口的类型为RS232,地址为2,波特率为9600。


640.jpg

设置串口参数

   

接下来编写发送程序,从指令树中选择常开触点,拖放到编程区域程序段1中,输入地址SM0.1,拖动字节传送指令到常开触点后面,输入常数十六进制数09到SMB130,表示选择自由口协议,波特率9600,数据位八位,无奇偶校验。


640.jpg

编写发送程序

   

下面编写发送程序功能,通过M0.0触发数据发送功能,拖动一个常开触点到程序段2中,输入地址M0.0,拖动一个上升沿指令,拖动发送指令到上升沿指令后面,TBL参数输入地址VB100,通信端口输入1,这样发送程序就编写完成了。


640.jpg

触发数据发送功能

   

设置超级终端。打开超级终端,不设置位置信息,输入连接名称test,选择连接的接口为COM1,端口属性设置为波特率9600,数据位八位,无奇偶校验,停止位一位,数据流控制无。接下来设置超级终端的属性,在设置选项卡中单击ASCII码设置按钮,勾选本地回显键入的字符项,关闭对话框。


640.jpg


设置超级终端

   

发送功能测试。单击菜单中的下载按钮,在打开的通讯对话框中选择要访问的CPU,单击确定进行下载,下载完成关闭对话框。单击PLC菜单下的运行按钮,运行项目,单击调试菜单下的程序状态按钮,在线观察程序的执行情况。


640.jpg

在线监视程序状态

   

在状态图表中输入地址VB100,格式为无符号数,VB101、VB102、VB103,格式为ASCII码,再输入地址M0.0,单击状态图表中图表状态按钮,监视地址的值,在新值列中输入VB100的值为10,VB101输入字符M,VB102输入字符N,VB103输入字符K,单机状态图表中的写入按钮,修改地址的值,修改M0.0的值为1,切换到超级终端,可以看到其接收到的数据为MNK。


640.jpg

在状态图表中输入新值


我们继续使用上面STEP7 Micro/WIN SMART编程软件所创建的项目,删除已经编写的发送程序,再来编写接收程序,拖动常开触点到程序段1中,输入地址SM0.1,通过传送指令,将常数十六进制数09送到SMB130。


640.jpg

设置SMB130、SMB187

   

初始化自由口,向下分支将常数十六进制数94送到SMB187,设置自由口接收的控制字。再向下分支,将常数十六进制数0A送到SMB189。设置接收结束条件,结束字符十六进制数0A。继续向下分支,将常数5送到SMW190,设置接收起始条件,空闲线5毫秒。


640.jpg

设置SMB189、SMW190

   

向下分支,将常数5送到SMW192,设定超时数据。再向下分支,将常数100送到SMB194,设置最大接收字符数。向下分支,选择接收指令,TBL参数输入VB200,端口选择1,表示从端口1接收数据并存储到VB200开始的数据区中, 接收程序编写完毕。


640.jpg

设置SMW192、SMB194、RCV

 

接收功能测试。单击菜单中的下载按钮,下载程序并运行项目。单击调试菜单下的程序状态按钮,在线观察程序的执行情况。在状态图表中输入地址VB200的格式为无符号数, VB201的格式为ASCII码。单击状态图表中的图表状态按钮监视地址的值,可以看到VB200和VB201的值为0。切换到超级终端,输入字符f,切换回编程软件, 可以看到状态图表中的VB200的值为1, 接收到了一个字符为f。


640.jpg

接收功能测试


以上就是今天学习的全部内容,大家如果有兴趣继续学习PLC编程可以关注本号,我们共同学习交流!


相关文章
|
1月前
|
监控 安全 测试技术
【01】卓伊凡收到冒充税务机关的诈骗程序-决定在沙盒Sandbox环境中运行测试下-广大企业同胞们注意防诈骗
【01】卓伊凡收到冒充税务机关的诈骗程序-决定在沙盒Sandbox环境中运行测试下-广大企业同胞们注意防诈骗
59 14
【01】卓伊凡收到冒充税务机关的诈骗程序-决定在沙盒Sandbox环境中运行测试下-广大企业同胞们注意防诈骗
|
2月前
|
JSON 测试技术 API
优化你的 REST Assured 测试:设置默认主机与端口、GET 请求与断言
REST Assured 是一个强大的 Java 库,用于简化 RESTful API 测试。本文详解了其核心功能:设置默认主机和端口以减少代码重复、发起 GET 请求并验证响应结果,以及通过断言确保接口行为符合预期。同时推荐 Apipost 工具,助力开发者提升 API 测试效率,实现更高效的接口管理与团队协作。掌握这些技巧,可显著优化测试流程与代码质量。
|
17天前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的2FSK+帧同步系统开发与硬件片内测试,包含高斯信道,误码统计,可设置SNR
本文基于FPGA实现2FSK+帧同步系统,采用Verilog开发,包含Testbench、高斯信道、误码统计及可设置SNR功能。硬件版本新增ILA在线数据采集与VIO在线SNR设置模块,验证调制解调过程。理论部分介绍FSK调制解调原理、功率谱特性及帧同步机制,代码实现FSK信号生成与处理,适合数字通信学习与实践。
41 1
|
1月前
|
安全 Devops 测试技术
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
43 0
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
|
2月前
|
安全 测试技术 Linux
Acunetix v25.4 发布 - Web 应用程序安全测试
Acunetix v25.4 (Linux, Windows) - Web 应用程序安全测试
110 3
Acunetix v25.4 发布 - Web 应用程序安全测试
|
2月前
|
数据采集 移动开发 算法
【硬件测试】基于FPGA的QPSK调制+软解调系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文基于FPGA实现QPSK调制与软解调系统,包含Testbench、高斯信道、误码率统计模块,并支持不同SNR设置。硬件版本新增ILA在线数据采集和VIO在线SNR设置功能,提供无水印完整代码及测试结果。通过VIO分别设置SNR为6dB和12dB,验证系统性能。配套操作视频便于用户快速上手。 理论部分详细解析QPSK调制原理及其软解调实现过程,涵盖信号采样、相位估计、判决与解调等关键步骤。软解调通过概率估计(如最大似然法)提高抗噪能力,核心公式为*d = d_hat / P(d_hat|r[n])*,需考虑噪声对信号点分布的影响。 附Verilog核心程序代码及注释,助力理解与开发。
103 5
|
2月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的2ASK+帧同步系统开发与硬件片内测试,包含高斯信道,误码统计,可设置SNR
本文分享了基于FPGA的2ASK+帧同步系统硬件测试版本,包含ILA数据采集、VIO SNR设置及数据源模块。通过调整SNR(如45dB和10dB),实现对调制解调性能的验证。2ASK调制将数字信号转为二进制码,通过载波振幅变化传输;帧同步用于确定帧起始位置,确保数据正确解调。附带操作视频与核心Verilog代码,便于理解和复现。
90 9
|
3月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的MSK调制解调系统系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文基于FPGA实现MSK调制解调系统,采用Verilog开发,包含同步模块、高斯信道模拟、误码率统计等功能。相比仿真版本,新增ILA数据采集与VIO在线SNR设置模块。通过硬件测试验证,展示不同SNR(如10dB和16dB)下的性能表现。研究聚焦软件无线电领域,优化算法复杂度以适应硬件限制,利用MSK恒定包络、相位连续等特性提升频谱效率。核心代码实现信号生成、调制解调、滤波及误码统计,提供完整的硬件设计与分析方案。
143 19
|
3月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的4ASK调制解调通信系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文介绍了基于FPGA的4ASK调制解调系统的硬件测试版本,该系统包括testbench、高斯信道模块和误码率统计模块,并新增了ILA在线数据采集和VIO在线SNR设置功能。通过VIO设置不同SNR(如15dB和25dB),实现了对系统性能的实时监测与调整。4ASK是一种通过改变载波幅度表示数据的数字调制方式,适用于多种通信场景。FPGA平台的高效性和灵活性使其成为构建高性能通信系统的理想选择。
107 17
|
3月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的16QAM调制+软解调系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文基于之前开发的16QAM调制与软解调系统,增加了硬件测试功能。该系统包含FPGA实现的16QAM调制、软解调、高斯信道、误码率统计模块,并新增了ILA在线数据采集和VIO在线SNR设置模块。通过硬件测试,验证了不同SNR条件下的系统性能。16QAM软解调通过比较接收信号采样值与16个调制点的距离,选择最近的调制点来恢复原始数据。核心Verilog代码实现了整个系统的功能,包括SNR设置、信号处理及误码率统计。硬件测试结果表明系统在不同SNR下表现良好,详细操作步骤可参考配套视频。
105 13