gpt4 book ai didi

twincat - 如何将 BIT2 类型链接到变量?

转载 作者:行者123 更新时间:2023-12-05 01:03:59 24 4
gpt4 key购买 nike

在 Beckhoff 的大部分输入卡中,都有两个变量,Limit 1limit 2。它们有一个 BIT2 数据类型,大小为 0.2 字节,这意味着它们有两个位,如下图 Limit 1 所示:

Bit0: Value smaller/equal Limit 1
Bit1: Value bigger/equal Limit 1

enter image description here

所以有一些问题:我应该定义什么样的数据类型来将此变量链接到它,以及如何访问它的两个位。

任何帮助将不胜感激。

最佳答案

您可以在 TwinCAT 中使用 BIT 数据类型,但这是 only available within a struct or a function block .

例如,您可以如下定义 STRUCT(另见 InfoSys):

TYPE Limits:
STRUCT
SmallerThanOrEqualTo : BIT;
LargerThanOrEqualTo : BIT;
END_STRUCT
END_TYPE

应该可以将此结构的实例链接到变量。

注意,使用 BIT 访问可以是 bit slower than using bit masks :

However, bit access takes significantly longer. Therefore, you should only use the data type BIT if you want to define the data in a specified format.

Toni Kucic进行了速度比较,发现 BIT 访问(13.5 ns)比位掩码(2.8 ns)慢 5 倍左右。完整结果:

codesys timing of bit access versus dot access

BIT 数据类型确实具有are much more memory efficient 的优点。 :

A BIT element requires 1 bit of memory space, and you can use it to address individual bits of a structure or function block using its name. BIT elements, which are declared sequentially, are consolidated to bytes. This allows you to optimize memory usage compared to BOOL types, which each occupy at least 8 bits.

关于twincat - 如何将 BIT2 类型链接到变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73009732/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com