各位大侠帮忙看看这段程序哪里有问题

主程序
LD     SM0.1                       
MOVB   16#09, SMB30                                               MOVB  16#B0,SMB87                                                              
MOVB   16#0A, SMB89                
MOVW   +5, SMW90                  
MOVB   100, SMB94                  
ATCH   INT_0:INT0, 23              
ATCH   INT_2:INT2, 9               
ENI                                
RCV    VB100, 0
中断0
LDB=   SMB86, 16#20                
MOVB   10, SMB34                   
ATCH   INT_1:INT1, 10              
CRETI                             
NOT
RCV    VB100, 0 
中断1
LD     SM0.0
DTCH   10                          
MOVB   2, VB200
MOVB   16#05, VB201
MOVB   16#52, VB202
XMT    VB200, 0
中断2
LD     SM0.0
RCV    VB100, 0

问题补充:
这个是我参照别人的程序编的s7-200与仪表的自由口通讯,用串口调试工具可以发送接收数据,所以硬件连接方面应该没问题,写的这个程序传进去就是接收不到东西,弄了N天就是搞不好,不知道程序出错在哪里,请各位朋友帮帮忙

最佳答案

主程序
1、初始化通讯参数
2、关联通讯中断程序,接收完成后执行中断0,发送完毕后执行中断2
3、使能中断
4、第一个扫描周期内,执行一次接收。
中断0:接收检测
接收完成?
是,调用中断1
否,继续接收,直到完成接收。
中断1:通讯回执
调用后只执行一次
一条通讯完成,回传HEX 05 52 
中断2:接收程序
接收
这是一个在不同中断间不停切换的程序

首先,在第一周期开始接收,接收完成,调用中断0,中断0结束后调用中断1,中断1发送结束后调用中断2(接收),之后又是中断0,如此循环。
整个程序逻辑上没什么问题,关键在于启动事件——23,假设在第一个周期并没有接收到数据,或者PLC启动时,仪表没有上电,都可能造成程序不运行。
你可以试试在主程序里添加一个网路,写入下面语句
LDB<> SMB86,0
RCV VB100,0
试试看

提问者对于答案的评价:
谢谢帮忙,前段时间忙,今天刚上网

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日 下午3:31
下一篇 2020年10月31日 下午3:31

相关推荐

  • 西门子plc s7-200系列的模拟量输入模块有8路得吗?

    西门子plc s7-200系列的模拟量输入模块有8路得吗?知道的说一下型号和订货号吧。还有cpu222cn能不能接这个8路得模拟模块,后面再接一个cp231cn模块。我想…

    2017年12月10日
  • 编码器定位

    现在一个送料小车卷扬端连接有编码器,编码器连接s7 200PLC,要实现通过编码器精确的对小车定位,还需要其他硬件吗,如何实现,谁能给出具体的编码器类型和最合适的PLC型…

    SIMATIC S7-200 2017年6月24日
  • EM235不使用AIW如何读取数值

    今天刚刚从设备里导出一个程序修改;电路图是有两个EM235分别通过6个变送器输入1~5V模拟量;程序里面也有这6个温度显示;但是搜索以及交叉引用都看不到AIW的使用,想问问是如何不…

    SIMATIC S7-200 2021年7月5日
  • 模拟输入不同类型

    模拟量输信模块EM231 (4输入)我想测量传感器发出的4-20mA信号,又要测量变频器输出的0-10V信号,有何方法可以解决,另外模块输入点 +、 …

    SIMATIC S7-200 2021年7月5日
  • s7-200各个端子怎样接线的 最佳答案 可以下载系统手册看看或者直接看看资料书 马上就能知道了还可以直接看看别人的项目接线 不就明白了吗 提问者对于答案的评价…

    SIMATIC S7-200 2017年11月23日
  • smart200编程软件里如何做局部变量程序段

    如何添加局部变量,变量表没有变量类型,怎么选择IN OUT类型 图片说明:    最佳答案 打开子程序变量表,这个变量表中有输入、输出、输入_输出及临…

    2021年7月5日
  • S7-200的时钟数据格式

    S7-200的时钟数据格式是16进制的,如果通过TD200来设置时钟,数据怎么转换?TD200的数据都是整型的,怎么通过程序转换,例如:TD200中设定数值25,在S7-200程序…

    SIMATIC S7-200 2021年7月5日
  • 程序执行问题

    LD        SM0.0 INC_W    …

    SIMATIC S7-200 2021年7月5日
  • s7-200集成接口通信

    S7-200集成接口配RS232/PPI电缆,可以实现几种通信协议啊? 最佳答案 1.PPI协议 2.USS协议 3.modbus协议 4.OPC与P…

    SIMATIC S7-200 2021年7月4日
  • 西门子200 300 400PLC

    有那些 输入输出端子排不可拆卸的型号,我想采购一下,急!有偿 最佳答案 端子排?200、300、400的模块端子排基本上是可以拆卸的。不可拆卸的那些是如接口模块IM153…

    SIMATIC S7-200 2021年7月5日