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

2024-01-03

In most input cardsBeckhoff 有两个变量,Limit 1 and limit 2。他们有个BIT2datatype,大小为0.2字节,即有两位,如下图所示Limit 1:

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

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

任何帮助,将不胜感激。


您可以使用BITTwinCAT 中的数据类型,但这是仅在结构体或功能块中可用 https://infosys.beckhoff.com/content/1033/tc3_plc_intro/2529442699.html?id=5627824830837717856.

例如,您可以按如下方式定义 STRUCT(另请参阅InfoSys https://infosys.beckhoff.com/content/1033/tc3_plc_intro/2529481355.html?id=5034243832068230001):

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

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

请注意,使用 BIT 访问可以是比使用位掩码慢一点 https://infosys.beckhoff.com/content/1033/tc3_plc_intro/2529442699.html?id=5627824830837717856:

然而,位访问需要更长的时间。因此,如果要以指定格式定义数据,则应该仅使用数据类型 BIT。

托尼·库西奇 https://github.com/tkucic/codesys_code_execution_speedTests进行了速度比较,发现位访问 (13.5 ns) 比位掩码 (2.8 ns) 慢 5 倍左右。完整结果:

BIT数据类型确实有一个优点:内存效率更高 https://infosys.beckhoff.com/content/1033/tc3_plc_intro/2529442699.html?id=5627824830837717856:

BIT 元素需要 1 位内存空间,您可以使用它的名称来寻址结构或功能块的各个位。按顺序声明的 BIT 元素被合并为字节。与 BOOL 类型相比,这允许您优化内存使用,每个 BOOL 类型至少占用 8 位。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 BIT2 类型链接到变量? 的相关文章

  • 为什么钥匙串比保存在文件中的加密数据更安全?

    为什么钥匙串比 iOS 应用程序文档目录中保存为文件的加密数据更安全 通常 数据使用对称加密算法 例如 AES 进行加密 并且加密密钥保存在钥匙串中 数据可以放置在任何文件位置 通过加密算法和密钥进行保护 钥匙串存储加密的密钥 和其他小数据
  • 将 SOLR 查询转换为 ElasticSearch URI 格式

    我已将 SOLR 核心文档移至 ElasticSearch 索引 现在我需要将 SOLR 查询参数转换为 ES 格式 我在这里看过ES文档https www elastic co guide en elasticsearch referen
  • 如何列出 Rails 中的所有自动加载路径

    如何列出 Rails 中的所有自动加载路径 在 Rails 控制台中 当我执行此操作时 它仅列出添加到配置中的自定义路径 rails c Loading development environment Rails 3 2 9 1 9 3p1
  • 如何将 Google 安全浏览 (v4) 与 .NET 结合使用

    我正在尝试使用 Google 的安全浏览查找 API v4 https developers google com safe browsing v4 lookup api https developers google com safe b
  • =* sql 中的运算符

    我正在打字 手指很粗 当我打字时 在 sql 窗口中 2008 SSMS 连接到 2005 服务器 它作为关键字变成蓝色 我无法弄清楚 或者谷歌 这是做什么的 我知道 但不知道 这个操作员是做什么的 是一种编写右外连接的旧方法 例如 sel
  • NodeJS 中不同路径的并行请求:长时间运行的路径 1 阻塞其他路径

    我正在尝试简单的 NodeJS 应用程序 以便我能够理解异步本质 但我的问题是 一旦我点击 home 从浏览器等待响应 同时 被击中 它等待 home先回复 再回复 要求 我担心的是 如果其中一个请求需要大量处理 那么我们不能同时请求另一个

随机推荐