32位控制器上如何实现64位数据

几天前,在 Wago PFC 控制器(32 位 ARM CPU)上工作,需要用到一个 LREAL 数据(64 位)

图片

使用 Codesys 3.5 和 64 位 CPU,这可以简单地通过以下方式解决:

  • AB AT %MW0 : WORD;   --> input word 0

  • BC AT %MW1 : WORD;  --> input word 1

  • EF AT %MW2 : WORD;  --> input word 2

  • GH AT %MW3 WORD; --> input word 3

  • VarLREAL AT %ML0 : LREAL;

问题来了:

Codesys 2.3 没有“%ML”指令 moreovover Wago CPU 不能管理 64 位...

根据定义,这是双精度 64 位浮点格式:

图片

所以,为了解决这个问题,

所要做的就是接受精度损失(32位分数损失) 图片

这是 Codesys 2.3 源代码

图片

希望此方法可以帮助到在32位控制器上实现64位数据的用户。

2022年12月

 

图片

福禄克专区 送好礼

看视频,下载文档,获取抽奖机会,下一个锦鲤就是你!

活动时间:12月19日- 3月19日

温馨提示:活动结束后由工作人员统一邮件核对快递地址,奖品将在15个工作日内寄出。如因注册报名信息不全,导致在活动结束前无法与您取得联系,将视为自动放弃领奖机会。

图片

Fluke 5730A 校准器,一款符合ISO/IEC 17025标准的校准器中的佼佼者,校准器与校准软件配合使用,可使用户完全自动化地进行校准以及计算校准不确定度,校准软件可提高校准效率,同时减少程序错误和不确定度源。