怎么样才能把一个实数转换成四个字节的16进制数,并把这四个字节相加求和

在上位机里输入一个实数,怎么样才能转化成16进制的四个字节给PLC,并在PLC里对这四个字节进行累加,求累加和.请教各位大侠.

问题补充:
我的协议是普通的自由口协议,是一个仪表与PLC做自由口通讯,向仪表写数据时,需要向仪表发送7个字节的数据包,最后一个字节是通讯累加和,也就是需要把前6个16进制的字节相加,溢出位忽略.
 这个是我的数据包格式:
 第一字节 从机地址号
 第二字节 命令及数据号
 第三字节 数据高字节
 第四字节 数据次高字节
 第五字节 数据次低字节
 第六字节 数据低字节
 第七字节 通讯累加和
 

最佳答案

求累加和简单,关键是把实数转化为四个字节的十六进制数。
 要是仪表不识别S7格式的实数就不好办了。
 如果通讯的仪表定义BYTE3-BYTE4-BYTE5-BYTE6为一个有符号实数,且实数格式与S7200定义相同,那么直接转移就可以了:
 L SM0.0
 MOVD VD1000,VD2002 //假设VD1000为人机中的实数值,

 //VB2002=BYTE3
 //VB2003=BYTE4
 //VB2004=BYTE5
 //VB2005=BYTE6

 累加和
 LD     SM0.0
 MOVW   0, VW400                    //累加和结果寄存器
 MOVW   0, VW402                    //数据暂存器
 //累加和次数为有效字节数减去3,即不计算字头字尾和校验和字节            
 MOVD   &VB2000, VD410               //地址指针
 FOR    VW406, +1, VW404            //循环累加和
 MOVB   *VD410, VB403               //数据放到VW402
 +I     VW402, VW400                //累加
 ANDW   16#FF, VW400                //低字节有效
 INCD   VD410                       //指针指向下一个字节
 NEXT
 MOVB   VB401, *VD410               //保存校验和

提问者对于答案的评价:
谢谢,已经解决
 

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月4日 下午11:04
下一篇 2021年7月4日 下午11:04

相关推荐

  • s7-200 是德州仪器生产的吗?

    据说s7-200是德州仪器的,不知西门子与其是啥关系。 最佳答案 进口的S7-200是在美国制造的。是不是在TI的工厂里制造没有考察过。不管是哪个生产商制造的,最终挂的是“SIEM…

    SIMATIC S7-200 2021年7月5日
  • 新安装的S7-200软件找不到PCPPIcable通信

    新安装的S7-200软件设置PG/-PC接口时找不到PCPPIcable通信口 最佳答案 安装PPI驱动或者用西门子批处理SimaticPGPCUpdate.bat修复一下或者安装…

    SIMATIC S7-200 2017年6月5日
  • s7-200脉冲输出

    我要用到4路高速脉冲输出,驱动步进电机控制器,4路都是一样的频率,而且同时同步,224上只有2个高速脉冲输出点,怎么办?能不能每2个共用一个点?  最佳答案 同意东方红一…

    SIMATIC S7-200 2020年11月1日
  • 使用S7200与TD400C通讯

    怎么应用TD400C里面的用户菜单,如何程序联系起来,谢谢 问题补充:我的意思是如何使用用户菜单,比如第一个画面“操作设备选择 1#,2#”按F1打开1#的,按F2打开2…

    SIMATIC S7-200 2021年7月5日
  • CPU1214的系统硬件组态和程序问题

    情况是这样的,系统主要是CPU1214还有CM1243-5和C1241-1及几个IO模块组成,CM1243-5 下面接了一个西门子HMI和一个第三方设备。现场如果只把原来…

    2021年7月5日
  • LABVIEW读取大量数据

    用西门子的模拟量输入功能在1MS的定时中断子程序中采集模拟量。总共采集了2K的数据。现在需要用LABVIEW 读取数据并画出波形图。原来用OPC协议读取(利用PC-ACC…

    SIMATIC S7-200 2020年11月5日
  • s7-200测周期问题

    我现在做一个项目,测流量计的数据,流量发出0.2H2—10H2脉冲,用s7-200去接这些脉冲, 现在我想用测周期的方法去做,怎么去测得脉冲的周期啊? 望大…

    SIMATIC S7-200 2020年11月1日
  • pwm高速输出能做可控硅的触发信号吗

    pwm高速输出能做可控硅的触发信号吗 最佳答案 不能。原因主要有以下几点: 1、可控硅的触发信号必须与主电源相位同步,而plc发出的pwm脉冲做不到这一点; 2…

    SIMATIC S7-200 2021年7月5日
  • s7-200与研华工控机通讯

    通讯电缆的选择 钻石用户推荐最佳答案 转:1、【推荐方案】使用大连德嘉国际电子的CP243i ,将PPI转换成以太网协议(TCP),上位机(PC)中选择的驱动是【Micr…

    SIMATIC S7-200 2021年7月5日
  • s7-200 温度匀速上升

    不知道用什么控制,比如实现1度/分钟的加温,主要用在脱脂,因为脱脂要匀速升温。PID一般都使用在恒温控制,请问高手们,我该如何控制,实现温度以1度/分钟升温,谢谢 最佳答案 既然可…

    SIMATIC S7-200 2020年10月31日

发表回复

登录后才能评论