回复:1200以太网TCP通信,TRCV_C接收引脚,接收完成Done,多次为0为1跳跃问题。

已锁定

手机用户20211228681781

  • 帖子

    3
  • 精华

    0
  • 被关注

    0

论坛等级:新手

注册时间:2021-12-28

普通 普通 如何晋级?

发布于 2022-07-25 07:29:43

4楼

展开查看
以下是引用深渊行者在2021-10-01 10:11:45的发言 >楼主

情况:我用两个1200为了模拟1200和第三方设备TCP通信,用的是TSEND_C和TRCV_C两个指令。

主站发送区为20个Char,从站接收区为40个Char,这是编程之初不小心造成数据区长度不一致的


后来发现:从站反馈一次信息,主站TRCV_C接收完成Done脚会发出2个脉冲,

然后改变主站接收区长度,发现主站TRCV_C接收完成Done发出的脉冲次数,为从站发送区长度 (除以)主站接收区的长度。

因为我有很多指令要发送,每发一次信息,从站反馈一次信息,主站根据反馈信息接收完成Done,执行下一步。

结果由于主站Done发出多次完成信号,导致程序不能正常轮训。网上有人说TRCV_C有个ADHOC引脚为1时,可以不同数据长度接收,我把这个引脚为1,为0,都不能改变这个现状。






问题:有老司机知道除了让数据区长度一样的方法外,还有其他办法吗?

我这两天测试通信,只知道第三方用TCP、端口号和支持SCPI指令,收发的数据长度不定。每次开机只接收一次,再不接收第二次数据,各种办法试了N多次,最后只能,每接收完一次数据结束后(收到结束符),COM_RST置位一次。才可以再次接收数据。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15727条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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