我们的全部技术支持人员不监督这个论坛。如果您需要我们工作人员的帮助,请从“问一个问题”页面提交你的问题


登录注册在论坛上发表/回复。

ConstTable轮输入值


pokeeffe 2019年10月30日12:31 AM

有人知道为什么CR1000.Std.32.02中的“ConstTable”指令要输入最接近的整数吗?这种行为在用户手册、编辑器帮助文件或本论坛中没有描述,但可以复制:

1.运行程序CR1000.Std.32.02包含命名常量表:

ConstTable(常量)'HINT named so可以通过LoggerNet修改Const UTC_OFFSET = -8 'hrs,记录器相对UTC时间的偏移Const WXT_AZIMUTH = 0 '朝向w.r.t.真北,度Const PAR_MULT = 0 '唯一的传感器校准,umol/(mV s m^2) - NEGATIVE for li190sa的连接惯例EndConstTable

2.连接使用LoggerNet 4.5连接应用程序

3.查看常量表

4.输入"-197.63"到' PAR_MULT '字段。

5.观察值转换为“-198”

6.从记录器中检索程序文件。

7.确认常数已更新为-198。


山姆 2019年10月30日12:12 PM

当程序编译时,编译器从表达式中确定常量的类型(例如Long, Float, Boolean)。该数据类型与软件通信。软件根据记录器与之通信的数据类型对输入进行格式化或限制。在本例中,数据记录器将常量存储为Long类型。该软件随后将输入限制为整数。

可以声明带有或不带有指定数据类型的常量。如果未指定数据类型,则t编译器根据表达式的类型确定常量的类型。的数字整数字面值默认转换为数据类型。浮点数的默认数据类型是浮动,以及关键词真正的指定一个布尔常数。

可以强制将文字存储为特定的数据类型。你可以使用As语法来表示常量应该被视为As Long, As Float,等等。或者,您可以以一种提示编译器采用不同格式的格式提供数字。例如,0.0而不是0。

所以下面的一个(或多个)会导致你之后的行为。

Const PAR_MULT As Float = 0
Const PAR_MULT = 0.0


pokeeffe 2019年10月30日

Thank you Sam! This is precisely the info I was missing.


netskink 2021年12月11日下午06:56

嗯,这个能力有个漏洞。如果常量以0结尾,如-1.0,则它将被视为整数。

-1.0 - > 1

-1.1 - > -1.1

登录注册在论坛上发表/回复。
Baidu