帮忙分析下数据接受处理程序

以下为一段自由口通讯的数据接受处理程序,有些不明白的地方希望大家指点。下面为
 RCV  VB100以后,在进行奇偶检验前的数据处理,最后调用FCS为校验程序,&VB102应该是校验数据开始的地址, VB99应该是需要校验的字节数,VB90应该是输出的校验结果
 LDB<>  SMB86, 16#20
 JMP    1
 NOT
 MOVB   VB102, VB99
 R      V96.0, 24
 MOVD   &VB103, VD92
 +D     VD96, VD99
 MOVB   *VD92, VB91
 INCB   VB99
 CALL   FCS:SBR1, &VB102, VB99, VB90
 LDB=   VB90, VB91
 R      Q1.0, 1
 我不明白的是这个程序的数据缓冲区不是该从VB100开始吗?"+D     VD96, VD99"是什么意思,这样岂不是从VB99到VB102都当做一个数了??还有就是为什么后来VB99还自加1作为字节数呢??按照缓冲区分配,VB100不就该是计数吗???同样的问题也出现在VD92的间址寻址上难道说VB103的内容是校验结果,因为后面VB91和VB90比较显然是比对校验码,没有看见发送程序,所以我是不是可以分析说VB103储存的是上位机发送校验结果呢??还有我怀疑VB102发的是字节数。VB101是数据起始位,初始化有设置SMB88为0
 不知道我问的清楚不,谢谢大家

最佳答案

你的这个程序是廖常初书上的,如果没看到这个书,谁也不能为你解答,因为你给别人提供的信息太少!书上有个表,我怀疑你没看到,所以才有这么多的问题。

 1 我不明白的是这个程序的数据缓冲区不是该从VB100开始吗?
 是的,VB100是接收到的字节数,VB100=VB102+3,3为1个起始字符,1个结束字符,1个数据字符数(VB102)
 你没看到表吗????!!!!!!
 VB100  接收到的字节数
 VB101  起始字符
 VB102  数据字节数
 VB103  数据区

        校验码
        结束字符

 2 "+D     VD96, VD99"是什么意思,这样岂不是从VB99到VB102都当做一个数了??
 这句要结合上下文来看,VD92开始装入的地址是VB103,VD96=VB102 数据字节数,
 VD96+VD99后,VD92里面的地址就是校验码的地址了

 其他的你自己慢慢想吧。
 

提问者对于答案的评价:
我是在一片小论文上看的~~~没有表~~~我现在找到它的上位机程序了~~~看见它发的数据顺序了~~~~不过还是很感谢您~~~~~~

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

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

相关推荐

  • 延时小程序

    您好!       我是PLC新手!我想用S7200延时30个小时,单独的定时器工作不能达到要求,怎么利用定时…

    SIMATIC S7-200 2021年7月5日
  • USB接口的MPI电缆与USB接口的PPI电缆

    各位大侠,我是新手,请教USB接口的MPI电缆与PPI的电缆是一样的吗?能否通用,有何不同?谢谢。在本网站的产品中心为什么不能打开MPI电缆的简介,可以打开PPI的简介?谢谢 问题…

    SIMATIC S7-200 2020年11月1日
  • s7200smart高速计数器

    有两个编码器接在同一个plc上分别测不同设备的转速,定义了HSC0和HSC2,但只能读到HC0中的数值。请问各位大神,这是什么情况? 问题补充:刚开始计数模式都定义为9,也读不到H…

    SIMATIC S7-200 2021年7月5日
  • 关于TD400,CPU224XPCN,智能模块,PC之间的通讯问题….急

    TD400,CPU224XPCN,智能模块,PC之间的通讯;这些之间如何接线才能实现? 我用PLC的PORT0与智能采集模块采用modbus通讯,PORT1口于TD相连,…

    SIMATIC S7-200 2021年7月5日
  • S7 200 汉化

    我的S7200V4是英文的 想汉化 请高手帮帮忙 SP3升级到SP7 可汉化么 最佳答案 STEP 7-Micro/WIN&nbs…

    SIMATIC S7-200 2021年7月5日
  • S7-200进行PID控制时的设定值的确定

    S7-200进行PID控制,无论是采用PID指令,还是通过“PID控制向导”,都需要手动指定设定值。而且这个设定值,还不是真实值,是0~1之间的小数。这个小数是怎么确定的?如一个例…

    2021年7月5日
  • S7-200 PTO 停止

    各位专家,请问S7-200 PTO生产的子程序中,MAN子程序RUN端断开就停止,CTRL的两个STOP端接通也停止,RUN的Abort端也会造成停止,这三种有什么区别,…

    SIMATIC S7-200 2021年7月5日
  • cpu216两个通讯口(port0,1)可以同时接两台电脑吗

    如题,比如可以接两台电脑,一台(port0)用于组态(如三维力控),另一个用microwin调试(prot1) 最佳答案 完全没问题,一个口用于编程调试的同时,另外一个连HMI(如…

    SIMATIC S7-200 2020年10月31日
  • S7-200移位指令问题SHL-B

    移位指令SHL-B输入端IN我不填写寄存器而是直接填写数值为什么他不能正常使用?就是怎么按都不能再移位 问题补充:追问一楼,一个字节的常数的话。那比如我要写1那是不是应该要这样写?…

    SIMATIC S7-200 2017年6月24日
  • S7 200 224XP与EM231连接

    连接后电流正常为啥上传到LED显示器上数值不正确断开EM231模拟量信号显示器数值一直没有变化显示几个固定数值 问题补充:系统监控之后ALW46810都显示13000是怎么回事断开…

    SIMATIC S7-200 2017年11月23日

发表回复

登录后才能评论