自由口通讯程序依然不通

各位,我之前已经问过一个自由口的程序,但是依然没有调通。曾经通过,但现在不通了,不知道是不是程序的问题。硬件都查过了,没问题的。
 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日 上午12:58
下一篇 2021年7月5日 上午12:58

相关推荐

  • S7-200以太网向导配置问题

    我在配置S7-200以太网向导的时候,第一步要读取模块位置,为什么我点击读取模块没有反应呢?我的硬件时CUP 222 CN,后面连接CP243-1。不知这个CP…

    SIMATIC S7-200 2020年11月1日
  • 如何通过S7-200的I/O输出控制并口打印机

    自己想通过S7-200的I/O口输出控制并口打印机,该并口打印机的控制时序为普通并口打印机的控制时序,望各位高手能够指点一下编程的思路,最好能提供部分编程例子,将不甚感激。谢谢! …

    SIMATIC S7-200 2021年7月5日
  • 什么叫标志位

    接收完成后 处理标志位    这句话中的标志位什么意思 最佳答案 举个列子:如果你接收完成报文 就可以将M0.0置1&n…

    SIMATIC S7-200 2020年11月1日
  • PLC不能上传程序

    最近刚买的国产CPU226,建立通讯后能上传程序,不能下载程序。不知什么原因? 最佳答案 S7-200 CN CPU 必须配合 STEP&n…

    SIMATIC S7-200 2021年7月5日
  • S7-200定时器能准确定时吗?

    S7-200定时器能准确定时吗?在程序中用了100ms的定时器定时,但测试定时时间并不准确。 最佳答案 定时器时间和扫描周期关系很大 100毫秒分辨率 100毫…

    SIMATIC S7-200 2021年7月5日
  • CUP224XP 无法启动

    每次开机时PLC只有“停止”红灯高,短需要10分钟能启动,长要十几小时才能启动,启动后PLC指标灯在“运行”绿灯,则一切正常,屏幕上的报警信息也没有了,不知什么原因?PLC除过潮气…

    2018年12月6日
  • pt100 铂金属温度探头

    我用EM231来接PT100,温度大概范围在-10到40度之间,在触摸屏上显示,温度最好相差不到0.5度。请问程序怎么写比较好啊! 如果有的话发给我啊! QQ4…

    SIMATIC S7-200 2021年7月5日
  • s200模拟量输入输出简单问题

    比如说我现在要控制一个步进电机,要根据工作需要转过任意角度,plc输出模块接变频器的启动和停止按钮,plc输入模块接一个角位移传感器和一个操作设备(用来表达我想要电机转过的角度),…

    SIMATIC S7-200 2020年10月31日
  • 关于定时中断的问题

    1、我在一个程序(包括主程序,子程序 ,中断程序)要用到6 个定时中断程序,能不能重复使用SMB34定时中断程序。 2、用USB/MPI(编号为6ES…

    SIMATIC S7-200 2021年7月5日
  • CP5611 与S7-200CPU通讯

    CP5611 与S7-200CPU通讯现场有设备如下:CPU:6ES7 216-2BD22-0XA0     …

    SIMATIC S7-200 2020年11月1日

发表回复

登录后才能评论