回复:自由通信的怪事

伊默

西门子1847工业学习平台

  • 帖子

    4259
  • 精华

    118
  • 被关注

    220

论坛等级:至圣

注册时间:2003-10-24

白金 白金 如何晋级?

发布于 2007-10-11 09:33:46

0楼

接收指令后计数值+1和发送命令前先把计数值+1不是一样的吗? 对于通信的影响,是不一样的. 开心的问题就出于此了. 接收完成中断里一般不要直接使能发送信息, 看看S7-200手册里的自由口通讯方面的例子,在发送信息的时候都会检测SM4.5这个标志位,意即端口空闲了才可以发送,而开心在接收完成中断里马上使能接收,可能违反了这个原则. 而在接收完成中断内先计数器+1,再发送信息, 则由于PLC执行计数器+1的指令后端口已经处于空闲了. 所以一般通讯的方式都是采取H.L所说的我一般在接收完成后是不会立即发送下一指令的,中间都有间隔.发送完成当然要立即接收.

我的习惯方法是采用顺控指令,在接收完成中断内置位一个顺控位比如S0.3,那么在一个通讯子程序内做如下处理
LSCR S0.3

LD SM4.5
CALL BCC_CAL //BCC计算,或者其他的校验
XMT VB100,0
R S0.3,1
ATCH XMTFinish,9 //允许发送完成中断

SCRE
I can do it
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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