技术论坛

 200SMART 自由口通讯,发送与完成中断间需要增加定时中断吗?

返回主题列表
作者 主题
手机18043155123
游士

经验值: 162
发帖数: 26
精华帖: 0
楼主    2020-03-25 15:54:40
主题:200SMART 自由口通讯,发送与完成中断间需要增加定时中断吗?

在西门子官网中200smart 自由口中断历程中,MAIN XMT发送指令完成后调用INT0中的RCV指令,在INT1中启用了定时中断SMB34,定时完成后执行INT2,执行发送指令,然后循环执行接收。。。。

请教下在XMT和rcv之间增加的定时中断SMB34的作用?是为了在发送与接收之间增加缓冲时间避免数据叠加吗???请了解的高手答疑解惑。不用定时中断可以吗?

图1至4 分别为main、int0、int1、int2程序

YUKJ
至圣

经验值: 17172
发帖数: 2944
精华帖: 6
3楼    2020-03-26 16:16:50
主题:回复:200SMART 自由口通讯,发送与完成中断间需要增加定时中断吗?

 200SMART 自由口通讯,发送与完成中断间需要增加定时中断吗?

可以不用。最简单是使用定时器来启动通讯,当然在某些情况下会损失一点点快速性。

WWCWWC
至圣

经验值: 71712
发帖数: 8024
精华帖: 145
4楼    2020-03-26 16:47:58
主题:回复:200SMART 自由口通讯,发送与完成中断间需要增加定时中断吗?

  先不说通讯那一些事情,来说说定时中断,所谓定时中断即在规定的控制字节SMB34(定时中断_0或者SMB35定时中断_1)设置中断时间1~255mS。当所设置的时间到,plc会优先执行定时中断。当然,如果有其它中断同时到达,系统会根据中断的优先权高低,执优执行权限高的中断子程序,这里不展开讨论。

  回到本话题,如果在通讯程序中加入定时中断,那么,可以想象无论通讯在什么阶段(不亚于发送、接收、空闲3个阶段),当定时中断时间到,被要求执行发送指令,问题就在此了,即通讯链路上只能允许有一条指令有效,要不发送有效,要不接收有效,绝对不允许2条以上的指令有效!

  在西门子200(smart)系统中,允许有几个关于通讯的中断,即发送完成中断和接收完成中断,其中,prot口的发送完成中断(中断事件9)、接收完成中断(中断事件23)。

  为规避上面可能的错误,可以在发送完成中断中编辑接收指令,在接收完成中断中编辑发送指令。至于问题是发送a、b、c呢?还是发送e、f、g呢?这个完全可以在控制程序中实现。上述仅是对调用定时中断在此处应用的一点认识,不足之处请斧正。




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