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

主程序
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

相关推荐

  • S7-200和Wincc通讯问题

    我用的是西门子200和WINCC做一控制系统,怎么采集数据呢?要用OPC到底怎么设?求助帮忙 最佳答案 使用s7-200专用的OPC Access 提问者对于答案的评价:…

    SIMATIC S7-200 2021年7月5日
  • cpu226拓展模块连接问题

    CPU后面有6个拓展模块,CPU正在使用时自动停止无法复位也无法下载,之后更换新的CPU程序可以下载但是监控时只有CPU本身的IO点是活动的,后面的所有拓展模块都没有激活,更换了临…

    SIMATIC S7-200 2020年10月31日
  • 求助:S7-200plc通讯不上的解决办法

    不知道是不是因为刚做了个ppi通讯实验,该模块用向导设定了地址为6的原因,如图所示能搜索到,一点确定就出现个这样的报警,请各位老师指点 图片说明:    最佳答…

    2021年7月5日
  • S7-200SMART通讯干扰

    各位老师请本人做了一个项目如下,S7-200SMAR与(3个温度采集模块+2个温控仪表+4台变频器)通讯,现程序做好后不开变频器各项数据一切正常,只要任一一台变频器开启后,温度采集…

    SIMATIC S7-200 2021年7月5日
  • SM0.1没法得电,A/B相

    我控制伺服电机的程序输入到PLC中,没法运行。就是SM0.1没法得电,无法调动子程序,UP指令也没反应。还有请教一下,编码器的A/B相。。是不是关系到高速计数器的模式。对于hsc0…

    SIMATIC S7-200 2020年11月5日
  • 关于200的转换指令问题!

    我想知道网络1和网络2的VB200和VB300的答案分别是什么?还有如果还有这样懂得问题我的结果该怎么得到验证,不能总是麻烦论坛的大侠们啊! 问题补充:错了,应该是这张图片! 图片…

    2017年12月7日
  • 200PLC226CN,连接扩张模块问题

    2个6ES7 223-1PM22-0XA0输入32输出32,1个6ES7 223-1PL22-0XA8输入16输出16,1个6GK7 243-1EX0…

    SIMATIC S7-200 2017年6月10日
  • s7200指针

    我现在想实现一个如下功能。A I0.1, =V8.0,A I0.2, = V8.1……一共五个到 A …

    SIMATIC S7-200 2018年12月7日
  • 200PLC和ABB变频器通讯

    请教CPU是224XP的和ABB做MODBUS通讯,控制变频器的启停,设定频率,读取电流,变频器的参数需要设哪些,变频器的参数寄存器映射规律是什么,可以发个程序到我邮箱102821…

    SIMATIC S7-200 2017年6月10日
  • 接通和复位同时,输出是什么样,这样程序会不会出问题,对PLC有影响吗/

    图1自动接通Q0.0.图2是故障复位Q0.0,这样Q0.0没有输出,但是内部编程监控Q0.0接通,相应的常 开,常闭点动作了,但是实际没有输出.这样对PLC有影响吗, 图…

    2020年10月31日