请讲解自由口通讯程序的几处疑问

以下是一个自由口程序,下载到PLC中正常,但是有几处疑问请各位师傅讲解,不胜感激!
 主程序
 // 网络注释
 LD     SM0.1
 MOVB   16#49, SMB30              
 MOVB   16#9C, SMB87                 
 MOVW   +100, SMW92                 
 MOVW   0, SMW90
 MOVB   21, SMB94                   
 ENI

 Network 2 
 LD     SM0.1
 ATCH   INT0, 9                     //传输完成中断
 MOVB   150, SMB34
 ATCH   INT1, 10                    //定时中断

 INT_0
 LD     SM0.0
 RCV    VB100, 0
 MOVB   250, SMB34
 ATCH   INT_1, 10

 INT_1
 LD     SM0.0
 DTCH   10
 XMT    VB0, 0

 问题一:主程序网络2为何用sm0.1?那中断程序不是只执行一次了吗?sm0.1
 导通一个周期之后断开了,后面的程序不是都不执行了吗?
 问题二:主程序网络二的SMB34的值和INT_0程序里边的SMB34值的设置有什么讲究吗?
 问题三:为何主程序里边有定时中断,中断0程序里边又来一次,实验证明去掉一个都不能正常通讯。

 

 

 

问题补充:
是不是ENI指令使得两个ATCH中断指可以一直使能,就是执行?

最佳答案

从这断程序中可以看出你对中断比较爱好,鼓励!但是这样写有点复杂了。
 一、SM0.1为开机脉冲,初始化。你这有定时,链接中断,开中断,这些只需要开机运行一次就够了。只要你不关中断,那就会一直运行中断的。
 二、其实这两个地方的SMB34没有任何联系,你放心。因为开始150ms是你开机到第一次发送的时间间隔,等到发送的时候呢,就关掉这个中断连接了。等发送完开始接收的时候,又更改了SMB34的数值,开始了接收的倒计时,然后时间到了又进入到了INT1,INT0如此循环。
     但是有几点要求,INT0里的SMB34最小值要给足接收数据的时间,否则还没结束就开始发送,绝对报错!最大值当然是不用超过255ms了。
 三、你明白我上个解答后,这你就应该能明白了。如果你把这150ms去掉根本无法开始发送,更别说结束后的接收了。250ms去掉后,要是还有开中断连接,那150ms就有开始了,报错。要是连INT0里的开中断连接都没有的话,那一个发送一个接收就结束了。
 补充、ENI是全局开放所有被连接的中断事件,但是你可以单个中断分离,如DTCH,针对的还有个全局关DISI。
 如果还有问题可以联系我

提问者对于答案的评价:
非常感谢,谢谢回复!

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc345430.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月4日 下午10:39
下一篇 2021年7月4日 下午10:39

相关推荐

  • TP277触摸屏的声音

    TP277触摸屏幕的声音,怎么不象其他型号的,触摸有声音呢?是在哪里设置?谢谢 问题补充:TP277-6的Control Panel没有声音设置选项 最佳答案 不具备此功…

    SIMATIC S7-200 2021年7月5日
  • S7-200用MODBUS协议库与DANFOSS FC51变频器通信

    想找个例程  请高手写详细点! 搞了一天都没搞好啊!3Q先 问题补充:冰雪疯儿 邮箱是375823876@QQ.com &nbsp…

    SIMATIC S7-200 2020年10月31日
  • s7200smart怎样做2个压力的差值PID

    PLC怎样做2个压力y的差值PID 最佳答案 就是普通的PID就行啊,你这个就是压差,和普通没区别,有些都是直接读的压差传感器的数据做PID的 提问者对于答案的评价:谢谢

    SIMATIC S7-200 2021年7月5日
  • TD400C不能显示编程的页面

    我用了两台CPU224XP,各带一台TD400C,按照向导的步骤完成页面设计后,通过S7-300用CP5611,通过PROFIBUS总线,下载到CPU224XP(经过EM277),…

    SIMATIC S7-200 2021年7月4日
  • S7-200 高速计数问题

    最近在捣鼓 S7-200的高速计数功能 我写了一段程序,感觉没问题,不知为什么老是计不到数,程序如下: A  SM0.1&nbsp…

    SIMATIC S7-200 2021年7月4日
  • 模拟量取样平均值

    EM235模块如何计算模拟量取样的平均值。如何确定输入影像寄存器号。 最佳答案 1 如何确定输入影像寄存器号: 模拟量输入/输出数据是有符号整数,占用一个字长(…

    SIMATIC S7-200 2021年7月5日
  • NETR/NETW用向导编写不成功

    我用向导编写NETR/NETW,可是最后都只有一个指令有效,在主程序里我查看刚才生成的子程序,有一个子程序有加密的标记,点进去后有关于该程序的介绍(NETr.exe),但再一次使用…

    SIMATIC S7-200 2021年7月4日
  • 西门子200的plc将IEEE754浮点数的转换成四个字节的整数怎么编程

    浮点数1.23, 数据存储(仪表内部)存储:高地址 。。。。。。。。。。。。。。。低地址(符号位-尾数位)    &nb…

    SIMATIC S7-200 2018年12月5日
  • 流量开方问题

    请问各位大哥,我用200的PLC作流量开方程序,流量变送器送过来的是4~20MA的信号,以前在300的程序里面可以直接将PIW除32648开方后乘32648然后调用FC105就可以…

    SIMATIC S7-200 2021年7月5日
  • 关于双整数转换整数

    请教各位老师,我编了个小程序有个地方用到双整数转换整数不知怎么了这个块变成红颜色不好用不知为什么?本人新手愚钝之处望见谅。先谢了。 问题补充:TITLE=程序注释 Net…

    SIMATIC S7-200 2021年7月4日

发表回复

登录后才能评论