自由口通讯程序依然不通

各位,我之前已经问过一个自由口的程序,但是依然没有调通。曾经通过,但现在不通了,不知道是不是程序的问题。硬件都查过了,没问题的。
 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

相关推荐

  • 怎么样在西门子PLCS2-200编程软件中输入|>=W|指令

    这条指令我在编程软件STEP  7-Micro/WIN中找不到 最佳答案 选着高点版本的,可能会有,我用的是 1.2版本的,有这条指令 提问者对于答案…

    SIMATIC S7-200 2021年7月5日
  • 模拟量输出按比例放大

    新年好!我想用模拟量输出去控制一个二十四伏的阀。模拟量的十伏对应二十四伏,电流最大伏在二安左右。不知有没有现成的东西,或者其它好的办法。请大家指点一下。 问题补充:谢意大家的帮助,…

    SIMATIC S7-200 2021年7月4日
  • 200 smartPID自整定部分数值不稳定

    PID自整定后,部分控制值不是很稳定 问题补充:流量控制系统,通过流量计来进行驱动齿轮泵,在设置流量为7时,流量浮动为7.14-6.70之间,其余数值稳定性都很好 最佳答案 此回答…

    SIMATIC S7-200 2021年7月5日
  • s7200中文软件

    想寻一下有关s7 200的中文软件,最好是最新版本,4.1或4.2,我的邮箱是zhanghongliangni@163.com。谢谢大家! 问题补充:最重要的是编程软件,…

    SIMATIC S7-200 2021年7月5日
  • s7200 cpu226CN SF灯闪烁

    s7200 cpu226CN 未连接HMISF灯不亮,连接HMI后SF灯闪烁。run灯正常 最佳答案 HMI 连接的变量会不会超出CPU的存储区大小限…

    SIMATIC S7-200 2021年7月5日
  • AI模块采集的数值一直波动,而且波动特别大。

    EM231模块,AQW0采集水阀反馈,AQW2采集风阀反馈,因为水阀是交流24伏的电源,水阀测量中线接的是24V交流的中线,所以AQW0接了交流24的中线和水阀反馈线,AQW2接的…

    SIMATIC S7-200 2017年8月3日
  • 求S7-200 PPI USB口编程电缆具体型号要质量好

    如题 最佳答案 S7-200 usb编程电缆为:6ES7 901-3DB30-0XA0,这是SIEMENS的原装电缆。也可以PC ADAPTER(US…

    SIMATIC S7-200 2020年11月1日
  • s7200smart的RTU通讯问题

    3个s7200smart怎样与上位机通讯 问题补充:用BODBUSRTU通信 最佳答案 1.在亚控公司网站下载2013年9月更新的驱动程序,版本为60.1.24.30,网址如下:h…

    SIMATIC S7-200 2021年7月5日
  • 温度PID超调

    向导生成PID程序,4路温度模块,设定值80度,控制范围总是在79-84.5度之间浮动.程序大致:当反馈值大于81度时开始冷却,低于81度时,根据PWM占空比来控制加热器.对于这种…

    SIMATIC S7-200 2021年7月5日
  • S7200与台达伺服Modbus通讯地址对应关系

    大家好,S7200与台达通过modbus-RTU通讯时,地址对应关系不确认,向大家请教一下:比如:我想要往台达命令触发寄存器P5-07这个参数里写入3这个值,看到台达手册里对应写的…

    2017年11月1日

发表回复

登录后才能评论