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

以下是一个自由口程序,下载到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

相关推荐

  • smart 700与200PLC通讯问题

    麻烦问大家几个问题。我现在用的是smart 700IE与200PLC通讯。选的是PPI通讯,用了两个DP头,其中一个DP头背面带485编程口。调试时候,我想利用这个编程口…

    SIMATIC S7-200 2017年12月10日
  • S7-200的高速计数器对输入脉冲的要求?一个很少见的问题。

    我打算用S7-200的高速计数器对辐射探测器发出的TTL脉冲进行计数。这个TTL脉冲已经被将电压提高到24V了(使用的是mhm-02b高速光栅隔离器,用示波器看,信号是没问题的)。…

    SIMATIC S7-200 2020年10月31日
  • 填表

    请教大家一下:我现在要将VD1000至VD3000这一段寄存器全部清空赋值0 ,本来打算用填表指令来处理,可是发现填表指令最多只能填入255连续字,而我现在需要填500个…

    SIMATIC S7-200 2018年12月6日
  • step7-microwin v4.0 sp9没有添加删除接口

    如图,step7-microwin v4.0 sp9没有添加删除接口,许多都找不到系统,系统为win7 64bit SP1 问题补充:如图 …

    2017年6月19日
  • smb186检测为0100 0000,大神看下有啥问题

    主程序LD     SM0.1MOVB   16#09, SMB130MOVB …

    2021年7月5日
  • 报SF?红灯亮?

    SF指示灯红色的亮,不能通讯,不能启动,怎么回事? 问题补充:调试程序时有强制点,未关闭。关键是不能通讯。 最佳答案 西门子200PLC SF指示灯亮怎么回事?http:…

    SIMATIC S7-200 2020年11月1日
  • 线驱动编码器的接线

    A、A-,B、B-,Z、Z-怎么接到200PLC上面,因为传输距离远,要用,不知道怎么接 问题补充:如果只接A B,哪传输距离会不会受到影响,还是另人接法,传输距离30多…

    SIMATIC S7-200 2020年11月1日
  • s7-200问题,求解

    如图中的程序段,M10.3、M10.4为按键的来的标志,M10.3导通调用M10.7输出的子程序,为啥运行时已经推出了子程序,M10.7还是通的? 问题补充:手滑打错了,是M7.0…

    2017年11月16日
  • S7-200编程-单击按钮和双击按钮置位

    各位学长,目前项目中有两个问题请教:1.有一个自复位按钮需要做两种功能,例如单击时置位M1.0,双击时置位M2.0,我想需通过判断两次按键之间的时间来实现,假设默认是500ms,大…

    SIMATIC S7-200 2020年11月1日
  • s7-200编程控制时间到期

    编写何种程序段来控制PLC到一定时间自动停止不进行运行,如让PLC在2011年6月20日停止运行,输入密码才能重新运行。 最佳答案 Network 1 //&n…

    SIMATIC S7-200 2020年11月1日

发表回复

登录后才能评论