断电中断停止问题

我编写了一个自由口协议通信程序,有两路传感器通过一个串口输入,现在我遇到了几个问题想咨询下,谢谢各位大师指点。
 1、如果采用定时中断(10),两路输入采用分时,即分不同时段将两个传感器的型号发送出去,然后接受相应的数据,问题是:当一路传感器断电后,另一路传感器也不能发送数据,请问这是怎么回事呢?而且,当又给传感器上电后,发送接收数据不能自动更新,需要再次运行PLC,请问这出了什么问题吗?
 定时中断程序如下:
 主程序:
 先初始化,定义端口模式:
 LD     SM0.1
 MOVB   16#09, SMB30
 MOVB   16#EC, SMB87
 MOVB   16#0A, SMB88
 MOVB   16#0D, SMB89
 MOVW   +1000, SMW92
 MOVB   17, SMB94
 ENI
 ATCH   INT0, 9
 MOVB   150, SMB34
 ATCH   INT1, 10
 子程序定义时钟:
 LDN    T34
 TON    T33, 250
 TON    T34, 500
 LD     T33
 MOVB   16#1, VB53
 NOT
 MOVB   16#02, VB53(产生5秒周期时钟脉冲并分时将机型号传给VB53)
 中断0:(发送完成中断9)
 LD     SM0.0
 RCV    VB99, 0
 MOVB   250, SMB34
 ATCH   INT1, 10
 中断1:(定时中断10)
 LD     SM0.0
 DTCH   10
 XMT    VB50, 0

 2、如果采用上升沿中断,一路传感器断电后,另一路也不能输入,请问这是什么原因呢?但是当再给传感器上电后,中断会再启动,更新数据继续接收,这为什么与上面的不同呢?
 简要说明下程序:初始化与上面一样,连接的两个中断为发送完成中断9和接收完成中断23,中断程序为复位置位指令,如下:
 接收发送子程序:
 LD     M1.0
 EU
 XMT    VB50, 0
 LD     M1.1
 EU
 RCV    VB99, 0
 中断0:
 LD     SM0.0
 R      M1.0, 1
 S      M1.1, 1
 中断1:
 LD     SM0.0
 R      M1.1, 1
 S      M1.0, 1
 补充,两路传感器输入同样采用时钟脉冲分时向VB53传送不同的机型号,以得到两路输入,如果不这样,该如何实现两路输入呢?
 3、断电后不能接收发送另一路数据,这是否是一断电中断就停止,只运行主程序,且对定时中断来说还不能再次自动启动中断,如果不是,那么该如何实现路断电时另一路可以通呢?可不可以不通过中断只在主程序中使用接收发送命令,这样每循环一次程序就执行一次发送接收,这种发送接收又该如何出发呢?
 谢谢了,问题较多较烦,还望各位不吝赐教啊。

问题补充:
通讯过程中,一路传感器断电,另一路通电,不能接收到数据,采用程序状态监控时,发现中断程序都变成了灰色,而且采用状态表检测时发现smb86存储器始终为16#00,请问这代表了通讯中断了吗?数据没有传送吗?可是我不管怎么试也没有找到解决方法,望各位明示啊?可QQ联系:303627721 谢谢了

最佳答案

通讯,必须考虑容错。即估计到通讯过程随时会发生错误,又要估计到对方会无反应。然后正确处理这些情况,就不会发生中断通讯的现象。

提问者对于答案的评价:
谢谢 我正在尝试

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 上午11:57
下一篇 2020年11月5日 上午11:58

相关推荐

  • 关于200故障灯的问题

    各位好,我有一个PLC。给这个200plc通电后,三个状态灯全部亮红色。用电缆将PLC与PC相连,也无法建立通信。这是否代表此PLC已经损坏了? 最佳答案 SF是 &nb…

    SIMATIC S7-200 2017年11月13日
  • 如何求10个模拟量采集通道数据的最大数

    现采集10个模拟量4-20mA的数据,欲比较这10个数的大小得出最大数,最好能提供程序。 最佳答案 我做过采集5个求最大值和最小值的。 用指针和循环做,我感觉还是相当简单…

    SIMATIC S7-200 2021年7月5日
  • 装STEP7 micro/win4.0 sp3后为什么会有V1.0S7-200EXPlorer和V1.0TD keypad Designer?他们各有什么用

    装STEP7 micro/win4.0 sp3后为什么会有V1.0S7-200EXPlorer和V1.0TD keypad Designer…

    SIMATIC S7-200 2021年7月5日
  • s7-200下载

    s7-200用的是V4.0SP9版软件,现在想用s7-300的USB电缆6ES7-972-0CB20-0AA0电缆下载s7-200程序,问电缆如何设置?最好能详细点。 问题补充:s…

    SIMATIC S7-200 2020年10月31日
  • EM253数据能修改吗?

    我有个问题,做好的组态C_Pos、C_Speed、 这个数据能能否修改,在POSO_MAN里面能修改吗? 最佳答案 是的,可以修改的  提问者对于答案的评价:请…

    SIMATIC S7-200 2021年7月5日
  • OPC 通讯咨询

    我的PLC分别有S7 200,和1200PLC,需要提供数据给管理层,使用OPC方式。我的电脑安装了分别安装了PC ACCESS 和SIEMENS&n…

    SIMATIC S7-200 2021年7月5日
  • EN,ENO到底是什么意思,怎么用

    最佳答案 EN是FBD/LAD编程时框的使能;ENO是启用的输出。它们可以通过BR位来判断是否为1状态。 1、EN/ENO适用于:   &n…

    SIMATIC S7-200 2021年7月5日
  • 模拟量通讯

    系统如果不带模拟量扩展模块,用MODEBUS通讯读入的仪表值是否可以被正传送到HMI? 最佳答案 用MODEBUS通讯读入的仪表值是代表值,在PLC里转换为显示值,就能在HMI上显…

    SIMATIC S7-200 2020年10月31日
  • S7-200数据块问题

    S7-200数据块与V区、T区、C区有什么联系没有?我们下载数据块是在RAM还是EEPROM中?如果是RAM中的话,那V区就是数据块了,如果在EEPROM中,那它与V区无关了?还有…

    SIMATIC S7-200 2021年7月4日
  • S7-200数据占位问题

    如VW0占用VB0与VB1两个字节。那VW9呢?是VB9与VB10两个字节吗?读取方式是由低位到高位吗?谢谢!如果给V10.0、V10.1、V10.2置为1后,VW9是? 最佳答案…

    SIMATIC S7-200 2017年12月9日