自由口通讯一段程序

自由口通讯编了程序,可是不知道为什么用S-R指令转换后,得到的不是预想的。大家帮忙看下。
 MAIN:
 LD     SM0.1
 MOVB   16#09, SMB30
 MOVB   16#B0, SMB87
 MOVW   3, SMW90
 MOVB   16#0, SMB89
 MOVB   255, SMB94
 ATCH   INT_0:INT0, 23
 ENI
 RCV    VB560, 0

 INT_0:
 LDB<>  SMB86, 0
 LPS
 BMB    VB560, VB570, 9
 STR    VB570, 1, VD500
 AB=    VB572, 16#31
 =      Q0.3
 LRD
 AB=    VB574, 16#2E
 =      Q0.5
 LRD
 AB=    VB571, 16#31
 =      Q0.2
 LRD
 AB=    VB573, 16#33
 =      Q0.4
 LRD
 AB=    VB575, 16#30
 =      Q0.6
 LRD
 AR=    VD500, 112.9
 S      Q1.0, 1
 LPP
 AR=    VD500, 113.0
 S      Q1.0, 1

 中断程序中,用了很多比较是为了判断是否自由口通讯成功传输过来数据,VB571-VB575的判断都是对的,也就是说我的PLC执行完后,Q0.2-Q0.6都是1,对应的S-R指令完后应该对应VD500=113.0,但是Q1.0却没有置1,也就是说VD500不等于113.0。是我程序错了还是怎样?请大家帮忙看看。
 

问题补充:
按LAOHUAI的方法,问题已经解决,可是不明白为什么就可以了。一定要明确给它赋值?
 我是想连续接收,不过不知道如何做,按什么来确定每8个字节它的开始和结束?

最佳答案

你知道VB560等于多少吗?
 1 加一句MOVB   5, VB570试试
 BMB    VB560, VB570, 9
 MOVB   5, VB570
 STR    VB570, 1, VD500

 2 中断程序越小越好。

 3 你的程序只能接收一次,接收结束执行中断后,就没有可执行的程序了。

提问者对于答案的评价:

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午1:02
下一篇 2021年7月5日 上午1:02

相关推荐

  • S7-200手册里面S7-200的数据的存取

    &和*的用法 最佳答案 直接寻址:已知具体的地址找某人A,例如x街x号x-x-x房间,你到此即可找到该房间里的某人A..。、间接性寻址:不直接知道具体的地址找某人A,但直接知道某人…

    SIMATIC S7-200 2020年10月31日
  • 如何用简单的语句实现对连续V区进行清零?

    如何用简单的语句实现对连续V区进行清零?最好有示例程序 问题补充:如果用间接寻址可以操作的话,比如要用FOR循环如何实现对VD200到VD300直接的实数进行相加?用+R程序语句太…

    2017年10月30日
  • 如何利用笔记本在线监控三台S7-200通过自由口通讯连接的PLC程序

    我这里有一条自动油漆线,它利用一台上位工控机控制三台S7-200 PLC(CPU 226 CN),我通过笔记本利用PC/PPI数据线在PLC停止状态可…

    SIMATIC S7-200 2020年10月31日
  • 子程序调用问题求助

    请问各位高手,我在用S7-200编程时,主程序里第一网络段调用了一个子程序,第二个网络段也调用了一个子程序(其中有一层嵌套),当运行时,如果第二个网络段的子程序调用运行时,第一个网…

    SIMATIC S7-200 2021年7月5日
  • S7-200配方功能

    有没有人能指导一下,配方功能如何使用,和配方里的数据能否修改?谢谢 问题补充:没看见网上课堂有这个方面的介绍啊 最佳答案 用工具里的配方向导做就可以了,很方便的,试试吧。 提问者对…

    SIMATIC S7-200 2021年7月5日
  • TD400C电缆问题

    请问TD400C的电缆是不是标准的RS485电缆?它是否可以当PC/PPI电缆用?(连接一个RS232转RS485的转接头插到电脑上) 最佳答案 不能! TD400C的电…

    SIMATIC S7-200 2021年7月5日
  • s7-200怎么复位定时器

    是用(R)吗上面写T101,下面写1? 最佳答案 置位S,复位R;立即置位SI,立即复位RI.可以用复位指令复位TON,TOF,TONR中任何一个。 提问者对于答案的评价:谢谢

    SIMATIC S7-200 2020年11月1日
  • 找西门子代理.

    我厂里有一批机械要改成自动化,但是不知道在东莞什么地方去买西门子S7-200的PLC.而且还要有一定技术支持的.因为我对PLC与变频器之间的通信程序不知道编写.用的是台达的变频器,…

    SIMATIC S7-200 2021年7月5日
  • 如何保存中间的数据

    有一个电动阀门,在开的时候,有反馈输入到plc中,我想读取并记忆这个阀门反馈中间一个值,例如我想记忆当阀门开到20%时,把这个数据读取并记忆下来,请问怎么做? 问题补充:是这样,我…

    SIMATIC S7-200 2021年7月5日
  • S200CPU224XP做主站与施耐德ATS48软启动器进行MODBUS通信的问题?

    为什么读取数据都正常,可是向软启动器写数据都显示软启动器正在忙啊? 最佳答案 主要还是通讯参数设置的有点问题吧。 提问者对于答案的评价:主要是MODBUS地址与软启动器提供的地址差…

    SIMATIC S7-200 2020年11月1日

发表回复

登录后才能评论