当前位置:首页 > 文章中心 > 正文内容

S7-200 SMART从端口定义到程序指令,如何实现自由口通信?

dgx6663周前 (07-06)文章中心5

在工业自动化领域,串口通信的灵活性往往决定了设备集成的效率与适配性。S7-200 SMART 控制器的自由口通信功能,凭借对本体 485 口与扩展信号板的全面支持,为工程师提供了高度自定义的串口通信方案。

本文将从参数配置、数据发送和数据接收机制3大维度进行详细拆解,教会你如何顺利实现自由口通信




1 自由口通信的特殊存储器配置与参数设置

首先为大家解析特殊存储器 (SMB30/ SMB130) 的参数配置逻辑,这是自由口通信的底层基石。

启用自由口通信的关键在于对特殊存储器的配置。对于本体 485 口,需通过 SMB 30 进行定义;对于扩展信号板,则使用 SMB 130。
通信端口工作模式如图1所示:


  • 以 SMB 30 为例,其最低两位(.0、.1)用于选择通信协议,当设置为 01 时,表示采用自由端口协议;
  • 中间三位(.2、.3、.4)用于设置波特率,例如设置为 010 时对应波特率 9600;
  • 再往前一位(.5)用于确定每个字符的数据位,7 位数据位设置为 1,8 位数据位设置为 0;
  • 前两位(.6、.7)用于选择校验方式,00 或 10 表示无奇偶校验,01 表示偶校验,11 表示奇校验。

在实际应用中,通信双方的这些参数必须严格对应,才能确保通信正常进行。




2 XMT指令在数据发送中的应用及端口状态说明

接下来我们深度剖析 XMT 发送指令的缓冲区格式与状态判断机制,揭开数据发送的技术细节。

在数据发送环节,XMT 指令发挥着关键作用。该指令可将发送缓冲区的数据通过通信端口发送出去,一次最多可发 255 个字符。

发送缓冲区的格式较为特殊,第一个字符代表要发送的字符个数,从第二个字符开始才是实际要发送的数据。程序示例如图2所示:


发送完成后,可通过中断或状态位来判断发送状态。对于 Port 0 端口,其中断事件号为 9,状态位为 SM4.5,状态位为 0 时表示正在发送,为 1 时表示发送完成;Port 1 端口的中断事件号为 26,状态位为 SM4.6,含义与 Port 0 端口类似。如图3所示:




3 RCV指令与数据接收机制及条件说明

最后系统梳理 RCV 接收指令的 6 大起始条件与6大结束条件,完整呈现数据接收的全流程控制逻辑。如图4所示:


数据接收则依靠 RCV 指令。执行该指令后,系统开始等待接收数据,当接收起始条件满足时,数据将依次进入接收缓冲区。接收起始条件包括空闲线检测、起始字符检测、空闲线+起始字符、断开检测、断开+起始字符以及任意字符等多种方式。

例如,空闲线检测是指当总线上空闲时间达到 SMW 90 或 SMW 190(扩展板对应)指定的时间时,开始接收消息,之前接收到的字符会被忽略。程序示例如图5所示:


接收结束条件同样丰富多样,有结束字符检测、字符间隔定时器检测、消息定时器、最大字符计数、校验错误以及用户结束等。当满足任意一个结束条件时,接收过程终止。

例如,通过 SMB 89 或 SMB 189 设置结束字符,当接收到该字符时,接收结束;

字符间隔定时器通过 SMW 92 或 SMW 192 设置时间,当接收到字符后,字符间隔定时器启动,若超出设定时间未收到下一个字符,则接收结束。




文末小结

S7-200 SMART 的自由口通信通过灵活的配置丰富的收发控制方式,能够满足各种复杂工业通信场景的需求,为用户提供了个性化的通信解决方案,助力工业控制应用更加高效、智能。

无论你是初次接触自由口通信的新手,还是需要优化通信效率的资深工程师,都建议收藏本文,慢慢学习,帮你更好地掌握这一工业通信的关键技能!

扫描二维码推送至手机访问。

版权声明:本文由第六芝士网发布,如需转载请注明出处。

本文链接:http://www.dgx666.com/post/2830.html

分享给朋友:

“S7-200 SMART从端口定义到程序指令,如何实现自由口通信?” 的相关文章

楼上邻居弹琴跑调到“离谱”,楼下老王坐不住了……

俗话说“远亲不如近邻”邻里间的互帮互助一直是我们的传统美德近日,山东菏泽“致楼上邻居的一封信”在网上走红一位热心又专业的邻居老王写信对邻居练钢琴提出了一些“指导意见”指出了两首曲子中的错误还附上了自己精心准备的乐谱谁还没有一个练琴的邻居了网友们纷纷分享了自己或者邻居的“陪练”经历这封“钢琴指导”信张...

CAD输入激活码后老是提示激活码错误,怎么解决?

CAD用注册机生成的激活码老是提示“注册-激活错误是生成错误造成的”,这个问题如何解决?具体的方法步骤如下:1、首先激活码出现问题,需要进行激活确认。首先需要的中进入电脑C盘。2、由于此文件夹默认是隐藏的,可以先点击组织设置隐藏文件夹显示。3、勾选显示隐藏文件夹。4、找到C:\ProgramData...

从R14到cad2022,这么多CAD版本,到底安装哪...

cad24到cad2022版本到底安装哪个版本最好?从cad24到cad2022版本,这么多cad版本到底用哪个版本安装哪个版本比较好?这是好的网友和我们带的学生头疼的问题。但作为我教学二十多年,安装五千多次cad的经验告诉你,cad是这样的安装,也就是这样的安装cad根据操作系统。·第一个,如果装...

安装CAD时,出现1308错误,怎么解决?看完本文你就知道

CAD出现1308错误怎么办?AutoCAD 一种计算机的辅助设计软件,但是打开CAD软件的时候提示错误1308,源文件未找到,因此无法继续安装AutoCAD软件,那么遇到安装AutoCAD出现1308错误问题时该如何解决呢?往下看!1、桌面空白处点击右键,弹出如下对话框,点击新建选项2、点击新建选...

CAD2007基础入门槽孔图纸绘制 #cad2007

大家好,今天给大家分享一个简单的入门绘图案例。1. 这是一个八十的距离,这里也是八十,这里是一百六,这里面是一个二十。这个图非常简单。2. 第一步,直接输入矩形的命令 ic,输进去空格,指定第一个角点鼠标点一下。3. 第二步,设置尺寸,所以输入 d 空格,第一个距离八十,输进去空格,八十输进去,然后...

绝地求生吃鸡游戏缺少msvcp140.dll文件导致打不开怎么办?

如:吃鸡缺少msvcp140解决吃鸡缺少msvcp140dll吃鸡提示缺少msvcp140玩吃鸡缺少msvcp140.dll此文件本质上是运行库的一部分,丢失、缺失此类文件都是运行库的问题,而不是游戏本身的问题。所以重新下游戏肯定是没有用的。  并且,有些人建议的重装系统大法也是没用的(指原版系统,...