【发布时间】:2015-09-13 16:28:39
【问题描述】:
我正在做一个项目,我需要使用 CoDeSys 在两个硬件之间发送一个值。使用的通讯系统为CAN,只能以字节传输,最大值为255。
我需要发送一个高于 255 的值,我能够将其拆分为多个字节,并在接收机器上对其进行重构以获得原始值。
我想我可以将REAL 值除以 255,如果结果大于 1,则将该值解构为一个字节,其中包含余数,一个字节包含整数中 255 的数量。
例如 355 相当于一个字节 100 和另一个字节 1。
虽然我可以描述这一点,但我很难弄清楚如何用逻辑实际编写它。
有人可以帮忙吗?
【问题讨论】:
-
您的问题与您的旧问题非常相似:stackoverflow.com/questions/31369151/…。为什么我在上一个答案中提供的解决方案不能解决您的问题?注意:您使用的是 REAL 值,并且应该始终发送 REAL 中的所有 4 个字节,如果值高于 255 则无关紧要。因为浮点运算的准确性需要所有 4 个字节。
标签: codesys