自由口通讯程序依然不通

各位,我之前已经问过一个自由口的程序,但是依然没有调通。曾经通过,但现在不通了,不知道是不是程序的问题。硬件都查过了,没问题的。
 Network 1 // Network Title
 // Network Comment
 LD     SM0.1
 MOVB   16#09, SMB30
 MOVB   16#B0, SMB87
 MOVW   3, SMW90
 MOVB   16#0, SMB89
 MOVB   255, SMB94
 ATCH   INT0, 23
 ENI
 RCV    VB560, 0
 MOVR   0.0, VD500
 S      Q1.0, 1 
 下面是中断程序

 LDB<>  SMB86, 0
 BMB    VB560, VB570, 9
 MOVB   5, VB570
 STR    VB570, 1, VD500
 S      Q1.1, 1

 LDR<>  VD500, 0.0
 S      Q0.0, 1

 LDB=   VB576, 16#6D
 /R     1000.0, VD500
 AB=    VB577, 16#56
 =      Q0.2

 LDB=   VB576, 16#56
 =      Q0.1

 结果Q0.0=0,但是按本意这个时候它应该有一个非零的读数。而且按照通信协议,每次8字节,以00为结束,前5位是数字,后两位是单位,也就是当采集到的数据是以mV为单位时,VB576=6D(ASCII的m),VB577=56(ASCII的V),或者当采集到的数据是以V为单位时
 VB576=56.但是运行的结果是在以mV为单位的情况下,Q0.2=0,在以V为单位的情况下,Q0.1=0.也就是说相应位不是要采集的。
 另外,我用Q1.1测试是否发生自由口通讯,结果是在主程序运行(Q1.0=1)几秒后,Q1.1=1,说明自由口通讯发生了,基本排除了硬件问题。请问大家程序上有什么问题?为什么VD500依然为0(Q0.0=0)?

 
 

问题补充:
我是很想知道我的做法如何错了?没道理啊

最佳答案

这样用就可以了,不但可以多次接收数据,而且对数据也进行判断了。
 数据放在VB5 VB6 VB7 VB8 VB9 VB10 VB11 VB12 8个字节里面,然后转换到VD100里面。

 Network 1 
 LD     SM0.1
 MOVB   5, VB4
 MOVD   &VB5, VD0
 MOVB   0, MB0
 MOVB   9, SMB30
 ATCH   INT_1:INT1, 8
 ENI

 INT_0:INT0
 Network 1 
 LD     SM0.0
 INCB   MB0
 MOVB   SMB2, *VD0
 INCD   VD0
 Network 2 
 LDB=   MB0, 8
 MOVB   0, MB0
 -D     8, VD0
 STR    VB4, 1, VD100

 INT_1:INT1
 Network 1 
 LDB<>  SMB2, 0
 CRETI
 Network 2 
 LD     SM0.0
 ATCH   INT0, 8

 

 

提问者对于答案的评价:

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

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

相关推荐

  • s7 200 cp243

    我做wincc与s7200 plc通讯时,要设置以太网模块cp243,但在向导中没有找到TSAP的设置界面,为什么,谢谢 问题补充:就是不显示tsap配置界面 最佳答案 …

    SIMATIC S7-200 2017年6月7日
  • MODBUS从站程序

    今天我问了个1个1200的PLC作为主站,8个200的PLC作为从站进行modbus通讯其中有朋友回复说,要注意2点,第一是地址不一样,第二是数据区要不一样对于这个问题我不是很明白…

    SIMATIC S7-200 2020年11月1日
  • 怎么监视高速计数器当前双字SMD48的数值跟HSC的计数值?

    书上我这个程序要怎么改才能监视SMD48跟HSC的计数情况。共两个事情,谢谢!! 图片说明:    最佳答案 直接读取HC1的值就好了。SMD48就是记录当前的…

    2021年7月5日
  • S7-200的称重模块

    哪位有用过S7-200的称重模块,发个例子程序给我学习学习,最好有用作流量称的程序,谢谢!邮箱:lyqiangfirst@qq.com 最佳答案 1、有关文档/;《SIMATIC&…

    SIMATIC S7-200 2020年10月31日
  • S7200模拟量输入波动

    硬件配置为CPU226+三个EM235(4AI/1AO)+两个RTD模块,有1个变频器驱动。7路压力传感器、2路液位传感器都是4-20mA,经过隔离器,接入PLC。温度传感器是PT…

    2021年7月5日
  • 通讯电缆制作

    S7-200通讯电缆制作 最佳答案 已发送  liangzejun@126.com 提问者对于答案的评价:多谢

    SIMATIC S7-200 2021年7月4日
  • 数据调用

    300的背景数据块中的数据可否在其他功能中被调用!如FB1的背景数据块DB1中的TEMP变量可以被其他的功能或功能块调用吗? 最佳答案 300的背景数据块中的数据可否在其他功能中被…

    SIMATIC S7-200 2021年7月4日
  • 231-7PC22

    模块SF报警,诊断:范围超出错误,存在I/O错误 最佳答案 检查组态地址是否有设置超范围《 指示灯及CPU、SM诊断信息》http://www.ad.siemens.co…

    SIMATIC S7-200 2021年7月5日
  • S7200中数组

    S7200中有数组吗?有的话怎么使用二维数组?有没有示例程序? 最佳答案 S7200没有数组;在200中操作数组就是操作一片存储区,可以使用直接寻址、间接寻址等方式来读写这些地址区…

    2017年11月12日
  • 读实时时钟出错

    Network 1 // 网络标题  // 网络注释  LD   &n…

    SIMATIC S7-200 2020年11月5日

发表回复

登录后才能评论