S7-300PLC串口通信中CP卡的“防止覆盖(Prevent Overwriting)”功能探究

已锁定

大螃蟹艾伦

西门子1847工业学习平台

  • 帖子

    15
  • 精华

    0
  • 被关注

    5

论坛等级:游士

注册时间:2013-10-31

普通 普通 如何晋级?

S7-300PLC串口通信中CP卡的“防止覆盖(Prevent Overwriting)”功能探究

1659

5

2021-12-14 11:43:49

       S7-300 PLC使用CP卡做串口通信时,在硬件组态中有“防止覆盖(Prevent Overwriting)”设置,默认是勾选状态,见下图所示。

 

        当我们不想使用“防止覆盖(Prevent Overwriting)”功能时,需先将“Buffered Receive Message Frames”设置为1后,再取消勾选“Prevent Overwriting”。下面,我们就使用“防止覆盖(Prevent Overwriting)”功能与不使用“防止覆盖(Prevent Overwriting)”功能进行功能测试。需要说明一点,根据功能要求,前提条件是CP卡接收缓冲区还没有被CPU读取(需设置接收指令FB7(P_RCV_RK)使能位EN_R=0)

        1. 使用“防止覆盖(Prevent Overwriting)”功能(即按照上图进行设置):

使用调试软件发送4组数据,01 02 03/04 05 06/07 08 09/0A 0B 0C,然后使能EN_R=1,发现CPU模块能完整接收到这4组数据,接收次数是4。

        结论:使用“防止覆盖(Prevent Overwriting)”功能时,所有在缓冲区中的数据帧都会依次被发送至CPU中。

        2. 不使用“防止覆盖(Prevent Overwriting)”功能(“Buffered Receive Message Frames”设置为1,取消勾选“Prevent Overwriting”。):

使用调试软件发送4组数据,01 02 03/04 05 06/07 08 09/0A 0B 0C,然后使能EN_R=1,发现CPU模块只能接收消息帧01/02/03和0A/0B/0C,接收次数是2。

        结论:不使用“防止覆盖(Prevent Overwriting)”功能时,所有在缓冲区中的数据帧只有第1帧和最后一帧数据会被发送至CPU中,中间数据都会被覆盖(Overwriting)掉。

S7-300PLC串口通信中CP卡的“防止覆盖(Prevent Overwriting)”功能探究 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54049条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。