您的位置 首页 > 数码极客

【字节和位的关系】「分享」西门子PLC双字、字、字节和位的关系总结

最近做项目的时候用了IO-Link设备,阅读站数据的时候用了从两个字中提取单词、字节、位的知识,作为新手,以前也没有仔细观察这个细节,所以重新调查了资料,测试了程序,现在记录下来供自己以后使用也很方便。(大卫亚设)。

以下主要记录在数据查询、准备过程、过程验证中。

一、数据查询:

在网上搜索西门子数据类型的资料,我相信如下图所示,解释两个字母和字节之间的配置关系将是最常见的事情。(莎士比亚。温斯顿。)

以该资料为基础进行实验验证。

二、程序安排

资料大部分用M区介绍双语和字节等关系,但实际上DB区的数据很多,因此为了在本实验中比较M区和DB区的内容,便于观察,我们准备以下内容。

1、创建所需变量的新DB块:

2、为了便于比较,创建M区变量,取MD24,分成单词、字节和比特,以便于观察。

3、编写FC程序:主要是将两个单词分解为单词、两个单词,将两个单词传递给单词,将单词传递给两个单词,为了便于放置两个单词的位,特别使用数组将位发送给两个单词的位:

三、程序验证:

跳过程序的下载、模拟阶段。因为那不是重点。直接显示测试结果。在数组中处于不同的位置相当于在双字符内放置每个位置。可以单独观察结果。现在取两个比较有代表性的位置,即0位和16位1,结果如下两幅图所示。

通过测试,您可以找到以下规则:

1.西门子双字中位置的排列是从右到左排列的,这与平时的字母顺序正好相反,但我认为我们像十进制一样,从右到左分别排列,10,100,千,万等,这就是它的相似之处。

2.可以看到两个字传达给单词的情况。有助于截取数据。不具体概括的话,可以体会。

3、第三个也是我一开始糊涂的地方,观察双字的4个字节,和比特的排序一样。也就是说,0位在右边,依次向左增大,但M区实际上是按这个方向排列的。但是让人混淆。上图举例来说,当我们得到0位数时,DB中的第0个字节发生了变化,但在M中,MB27是0字节,MB26是1字节。大小、字节顺序再次反转。仔细想想就知道是怎么回事,但还是有点尴尬。

遇到类似的情况,希望不仅是我,还能分享,帮助需要的人。第一次发共享贴,文笔有点差。请谅解。有不足和错误的地方。欢迎斧头。(大卫亚设)。

关于作者: admin

无忧经验小编鲁达,内容侵删请Email至wohenlihai#qq.com(#改为@)

热门推荐