Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Signals 将信号值放入CAPL中的变量_Signals_Capl_Canalyzer - Fatal编程技术网

Signals 将信号值放入CAPL中的变量

Signals 将信号值放入CAPL中的变量,signals,capl,canalyzer,Signals,Capl,Canalyzer,我试图将一个信号值(来自DBC文件)拉入一个变量,但得到的消息是“必须是常量表达式”。如果我尝试添加一个过滤器,如.DefaultValue,它可以工作,但这不是我想要的值。我想要调用这个CAPL函数时的信号值。以下是一个例子: float Cell\u Voltage=Mc00\u UCell00(这是我得到的错误必须是常量表达式) float Cell\u Voltage=Mc00\u UCell00.DefaultValue(这可以工作,但我不想要默认值) 是否有一个过滤器来提取信号的当前

我试图将一个信号值(来自DBC文件)拉入一个变量,但得到的消息是“必须是常量表达式”。如果我尝试添加一个过滤器,如
.DefaultValue
,它可以工作,但这不是我想要的值。我想要调用这个CAPL函数时的信号值。以下是一个例子:

float Cell\u Voltage=Mc00\u UCell00(这是我得到的错误必须是常量表达式)

float Cell\u Voltage=Mc00\u UCell00.DefaultValue(这可以工作,但我不想要默认值)


是否有一个过滤器来提取信号的当前值
Mc00\uUCELL0

您认为以下方法有效:

float Cell_Voltage = Mc00_UCell00.DefaultValue; 
但以下情况不起作用:

float Cell_Voltage = Mc00_UCell00; 
请注意,在C和许多其他语言中,点表示从结构访问成员。这意味着,在工作示例中,您访问一个成员并将其分配给
单元_Voltage
,而在不工作示例中,您希望将整个结构分配给一个简单变量,而这确实不起作用


决定您需要的结构的哪个成员,并用点表示法对其进行寻址。

在CAPL中获得您应该写入的浮点信号值的整数

float Cell_Voltage = $Mc00_UCell00;

它被称为“直接访问信号值”

@Tooones请解释您的标签编辑。在我看来,它确实像C。@Yunnosch:CAPL不是C,而是CAN总线分析仪的DSL,请仔细阅读问题并查看标签说明。它可能与C共享一些语法,但事实并非如此。(你认为你能从这两行中分辨出C是什么,可以是java、C++、C++和其他几十种语言。”tootruth-the网站谢谢。看来你知道你做了什么。“我通常尝试,即使我不总是明白理由来解释每一个细节:”