AC0做求和校验,循环时如何确定求和是否正确 求解释,麻烦各位师傅了

LD     SM0.0
MOVD   +0, AC0
MOVB   *#参数:*LD0, AC0
//字节相加求和
FOR    #循环计数:LW7, +2, #循环:LW4
+I     *#参数:*LD0, AC0            //+22 计数值VW10从1增加到26
INCD   #参数:LD0
LD     SM0.0
//取校验和的最低字节作为校验和
MOVB   AC0, #输出:LB6
//校验完毕

问题补充:
MOVB   *#参数:*LD0, AC0 在AC0中保存的是传过来的数,还是地址? +I     *#参数:*LD0, AC0为什么要这样加?我是在公司实习的学生,对求和校验,CRC校验,奇校验,偶校验看的不明白,不知道这种算法的编程步骤,谢谢您的回答,可以打扰问一下吗,

图片说明:

AC0做求和校验,循环时如何确定求和是否正确   求解释,麻烦各位师傅了    AC0做求和校验,循环时如何确定求和是否正确   求解释,麻烦各位师傅了    AC0做求和校验,循环时如何确定求和是否正确   求解释,麻烦各位师傅了   

最佳答案

可以很肯定的告诉你,你的程序计算校验和,肯定是错误的

因为你做的是16位的加法指令,如第一次做的是VW0+AC0=AC0 
第二次是VW1+AC0=AC0
注意西门子VW0和VW1是共用了VB1这个存储空间的
你的本来要做的是VB0+VB1+VBx=AC0
但西门子没有8位的加法指令,
那么你可以在加法之前用逻辑于指令,就是把16位寄存器的高8位屏蔽为0
就是16#00FF AND  *LD0 =AC1
然后再用AC1+AC0 =AC0
INC LD0
这样就OK了

提问者对于答案的评价:
谢谢

专家置评

已阅,最佳答案正确。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午1:48
下一篇 2020年11月1日 下午1:48

相关推荐

  • 编程思路

    一般在接到项目后编程是如何开始的?请高手讲讲软件编程的几大步骤,如何确定选用何种指令编写方便? 最佳答案 第一你先根据控制要求画出电路图,明确输入输出点的个数及意义;第二根据上步的…

    SIMATIC S7-200 2021年7月4日
  • 224XP与2台M430USS通讯的问题

    各位老师,我现在想做一个控制,用一个224XP通过USS协议控制2台M430变频器,要求能够通过变频器DI4的输入来决定变频器的起停及频率改变是由面板控制还是USS通讯控制,变频器…

    2017年11月12日
  • s7200系统扩展通讯

    S7-200CN可变程序控制器产品样本(05.2009)中对于以太网模块(CP243-1)有这样描述:“•通讯是基于 TCP/IP 协议的,可以作为…

    SIMATIC S7-200 2021年7月4日
  • S7200两个CPU之间通讯

    各位高手请教一个问题,我现在用两套226CPU想一个做主站一个做从站,之间用485通讯,但是我忘了485这跟线的引脚定义了,我想自己做根线,请教各位485引脚定义。谢谢! 问题补充…

    SIMATIC S7-200 2021年7月5日
  • 条件调用子程序和跳转指令的问题

    1.我在S7300中有条件调用两个FC来做手动和自动控制程序,在自动程序里面用到了定时器和计数器,还有用(S)M作为状态标志,输出都是线圈(),在调用手动FC时,我在OB1里面对定…

    SIMATIC S7-200 2021年7月4日
  • S7-200 smart 读取时钟指令错误

    CR40 cpu读取时钟,read_rtc红颜色VB200没有在别的地方使用。换了一个存储范围 VB600也是这种情况。VB区确实没有使用,会不会PLC的时钟区…

    2021年7月5日
  • STEP 7 MicroWIN SP9按F1打不开帮助

    STEP 7 MicroWIN SP9按F1打不开帮助,然后网上找的补丁也安装失败是为什么。 问题补充:试过微软的补丁安装失败了。 图片说明: &nb…

    2021年7月5日
  • PPI通信距离

    200的PPI, modbus的通信距离有多远。 最佳答案 1、在S7-200系统中,PPI、MPI、PROFIBUS-DP及modbus协议都可以在RS-485网络上通…

    SIMATIC S7-200 2020年10月31日
  • s7200的堆栈

    1,顺序控制继电器S是堆栈?堆栈是什么?2,逻辑堆栈是什么?3,能否用M区或V区代替S执行逻辑顺序控制? 最佳答案 西门子200堆栈理解,https://www.cnblogs.c…

    SIMATIC S7-200 2021年7月5日
  • 多段程序组

    如图,编辑步骤按序号1~6。如果需要用某组程序(如程序3),则选择程序3,然后点应用次程序。这个在200或smart PLC中该怎么编写?可以用指针吗?如果用指针,存放程…

    2021年7月5日