S7-200自由口通信 点击:497 | 回复:8



雪饮刀

    
  • 精华:0帖
  • 求助:3帖
  • 帖子:9帖 | 35回
  • 年度积分:1
  • 历史总积分:32
  • 注册:2013年7月13日
发表于:2016-03-02 22:40:16
楼主

请教各位, 自由口通信时,XMT和RCV在什么条件下允许执行。 个人思路是,比如每秒的脉冲上升沿启动一下XMT,然后发送完成后立马执行RCV。 一直到下一秒周期重新发送和接收,不知这种想法有没有问题。 我看好多例子上都用到了中断,必须要用中断吗? 我属于初学者,还请各位予以赐教,多谢。




银光人生—华

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 13597回
  • 年度积分:0
  • 历史总积分:52877
  • 注册:2007年11月23日
发表于:2016-03-03 07:54:32
1楼

见过以前同事编写的程序,使用了中断。

我没有研究所,但是应该是:发送命令之后进行接受。

阿军仔

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 445回
  • 年度积分:10
  • 历史总积分:1413
  • 注册:2014年6月10日
发表于:2016-03-03 11:37:50
2楼

发送完后,进行中断。。。。

Zhu_Run

  • 精华:5帖
  • 求助:27帖
  • 帖子:272帖 | 3543回
  • 年度积分:302
  • 历史总积分:21193
  • 注册:2011年3月06日
发表于:2016-03-03 11:46:35
3楼

测试过自由口语触摸屏通讯,看着手册做的,挺容易的。

雨林工控

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 10回
  • 年度积分:0
  • 历史总积分:10
  • 注册:2016年3月03日
发表于:2016-03-03 21:43:45
4楼

西门子200的通讯必须用中断,否则容易丢失数据,因为它设计得很早,更接触底层,不像其他品牌的,内部中断程序都做好的,不需要自己写。

雨林工控

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 10回
  • 年度积分:0
  • 历史总积分:10
  • 注册:2016年3月03日
发表于:2016-03-03 21:51:55
5楼

其他PLC由于设计得相对较晚,内部有DMA缓存自动收发数据,这些都是硬件完成的,不需要软件干预。

雪饮刀

  • 精华:0帖
  • 求助:3帖
  • 帖子:9帖 | 35回
  • 年度积分:1
  • 历史总积分:32
  • 注册:2013年7月13日
发表于:2016-03-03 23:18:08
6楼

我设置SMB87= 16进制8C 在发送完成(比如port0 中断9)进入中断程序1(直接进行RCV); 但是在接收完成(比如port0 中断23)进入中断程序2, 这个中断程序该怎么编写? 直接开始执行XMT指令吗?

雪饮刀

  • 精华:0帖
  • 求助:3帖
  • 帖子:9帖 | 35回
  • 年度积分:1
  • 历史总积分:32
  • 注册:2013年7月13日
发表于:2016-03-04 20:03:55
7楼

终于试验成功,最后设置SMB87=9C,然后把SMW90设置为0,接收完成进入中断程序,执行XMT发送;发送完成进入中断程序,直接执行RCV接收指令。  对于以上给予回复帮助的朋友, 在这里统一一并谢过。

ntplc2017

  • 精华:0帖
  • 求助:0帖
  • 帖子:38帖 | 375回
  • 年度积分:0
  • 历史总积分:685
  • 注册:2018年5月11日
发表于:2018-08-21 15:06:10
8楼

思路没有问题,发送完成中断里面关闭发送,开启接收,定时时间到再次关闭接收开启发送,并开启发送完成中断。


热门招聘
相关主题

官方公众号

智造工程师