『7x24小时有问必答』
不知道你是否和我一样有这个疑问,为什么15位模拟量输入传感器的最大值是27648,不是2的15次方呢?
如果你和我一样有同样的困惑,我想这篇文章从下面几个方面来测地说明白这点。

01
为啥选27468?

在西门子 SIMATIC S7 系列(如 S7-300、S7-1200、S7-1500)的模拟量处理中,27648  被定义为模拟量信号额定范围(Nominal Range)的标准最大整数值(即代表 100% 信号强度)。这一数值的选择并非偶然,而是基于以下核心工程逻辑:

1. 硬件分辨率的独立性(标准化)
这是 27648 最关键的作用。模拟量输入模块的物理分辨率各不相同,常见的有 12 位、13 位、14 位或 16 位
<b data-start-index="212">左对齐技术:  为了让程序员无需针对不同硬件修改代码,西门子采用了“左对齐”数据格式。数据位占用 16 位字(Word)的高位,未使用的低位补零
<b data-start-index="284">统一编程接口:  无论硬件使用的是 8 位还是 16 位的模数转换器 (ADC),额定范围始终映射为 0 到 27648
<b data-start-index="344">结果:  12 位模块会以 16 为步进跳变,而 16 位模块则提供 1 为步进的平滑过渡,但对于编程者来说,缩放逻辑(如  NORM_X  或  SCALE_X)是一致的

2. 为故障诊断预留“余量”(85% 原则)

西门子使用  <b data-start-index="455">16 位带符号整数 (INT)  处理数据,其理论正数范围最大可达 32767
超限检测(Overshoot):  如果将 32767 设为 100%,系统将没有空间表示超过额定值的信号。通过将 27648(约占 32767 的 85%)设为 100%,系统保留了约  15% 的空间(最高到 32511)作为“过冲范围”
<b data-start-index="614">防止控制失效:  这种设计允许系统检测到传感器饱和、校准错误或线缆断路(如 4-20mA 信号低于 1.185mA 时返回 -4864),而不会导致数值立即溢出或在 PID 运算中出现“翻转”错误
<b data-start-index="712">符合国际标准:  这一范围完美契合  NAMUR NE 43  标准,该标准要求传感器应能指示略高于 20mA 或略低于 4mA 的数值以进行诊断

3. 十六进制计算的高效性

在底层硬件处理中,27648 的等价值具有特殊的工程属性:

<b data-start-index="825">十六进制对齐:  27648 的十六进制表示为  0x6C00
<b data-start-index="855">运算效率:  该数值的低字节为  00。在早期 8 位或 16 位微控制器的固件中,对低位为空的数值进行位移(bit-shifts)或比较操作在计算上更“便宜”,能以最少的 CPU 周期完成量程缩放和边界判定

4. 关键数值区间划分参考

根据网上来源,模拟量信号与整数值的对应关系如下表所示
注意:  <b data-start-index="1174">温度测量模块(如 RTD 或热电偶)是一个例外,它们不遵循 27648 缩放标准,而是直接返回温度值的 10 倍或 100 倍整数(例如 123.4°C 返回 1234),以避免在 PLC 中进行复杂的非线性多项式计算

02
西门子手册参考

这里我们也可以参考西门子的手册说明:
S7-300 《SM331; AI 8x12 位使用入门》第 1 部分: 4 - 20 mA
对于电流类型的可以看到额定范围:6C00对应20mA ,0对应4mA。当然对于电压类型也可以在手册里得到:

03
其他PLC

<b data-start-index="0">27648 并不是所有 PLC 通用的值,它是西门子 (Siemens) SIMATIC S7 系列特有的标准常数。
根据提供的资料,以下是关于这一数值适用范围的详细说明:

1. 它是西门子 S7 生态系统的专属标准

27648 被定义为  <b data-start-index="117">西门子 S7 系列(包括 S7-300、S7-400、S7-1200 和 S7-1500)模拟量信号额定范围的通用最大值。这是西门子为了在其整个硬件产品线中提供一致的编程接口而做出的基础工程选择
2. 为什么其他 PLC 通常不使用这个值?

每个 PLC 制造商都有自己的工程逻辑和硬件架构处理方式。西门子选择 27648 是基于特定的设计考量,而这些考量在其他品牌中可能有不同的实现方式:
<b data-start-index="311">分辨率独立性:
  西门子通过 27648 实现了软件缩放与底层硬件分辨率(如 12 位或 16 位 ADC)的脱钩预留 15% 裕量:  西门子采用“85% 规则”,将 100% 信号定在 27648,从而为故障诊断(超限检测)预留了约 15% 的数值空间(最高到 32511)十六进制对齐:  27648 的十六进制为  0x6C00,这种特定的对齐方式便于西门子模块固件进行高效的位移和比较运算
3. 其他 PLC 通常使用什么值?

(注:以下信息基于通用工业自动化知识,非直接来源于提供的资料,建议在实际应用中核实具体品牌的手册。)

其他 PLC 厂商通常采用基于 2 的幂次方的原始数值或更直观的工程数值:
<b data-start-index="614">罗克韦尔 (Rockwell/Allen-Bradley):
  经常使用 16 位整数的全量程,例如 0 到 32767。三菱 (Mitsubishi):  常见的对应值可能是 0 到 4000、0 到 12000 或 0 到 32000,具体取决于模块的分辨率设置。施耐德 (Schneider Electric):  经常使用 0 到 10000 或 0 到 32767。欧姆龙 (Omron):  常见范围如 0 到 4000 或 0 到 8000。

03
总结

<b data-start-index="840">27648 是西门子自动化系统的基石标准,它确保了在更换不同分辨率的西门子模拟量模块时,用户无需重写缩放代码(如调用  FC105  或  NORM_X/SCALE_X。但在处理非西门子 PLC 时,必须查阅对应品牌的硬件手册来确定其模拟量转换的对应数值。

参考链接:

【1】https://sieportal.siemens.com/en-gr/support/forum/posts/how-27648-analaog-maximum-value/26057

【2】https://industrialmonitordirect.com/blogs/knowledgebase/siemens-plc-analog-input-scaling-27648-5900-and-400-explained

  ▊  阅读更多(戳下方图片)
   

请长按下方二维码关注Hello工控
</b></b></b></b></b></b></b></b></b></b></b></b></b></b>

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码