确定控制器内存信息

此信息不适用于
CompactLogix
5380、
ControlLogix
5580 和 5590、
Compact GuardLogix
5380、
GuardLogix
5580 和 ControlLogix 5590 控制器。在这些控制器中,使用的内存属性不受支持或不可访问。
控制器的内存分为 I/O 内存和扩展内存。下表显示了控制器如何使用各类内存:
此对象
使用来自以下部分的内存
I/O 标签
I/O 内存
生产型标签
消费型标签
通过 MSG 指令的通信
通过工作站的通信
除 I/O 标签、生产型标签或消费型标签以外的标签
扩展内存
逻辑例程
基于使用
FactoryTalk Linx
的轮询 (OPC/DDE) 标签的通信。
I/O 内存和扩展内存
注意,控制器返回的值为 32 位字的格式。如需以字节形式查看值,只需将其乘以 4。使用此过程可获取有关控制器内存的以下信息:
  • 可用(空闲)I/O 和扩展内存
  • 总 I/O 和扩展内存
  • I/O 和扩展内存的最大连续块
从控制器获取内存信息
如需从控制器获取内存信息,请执行消息 (MSG) 指令,具体配置如下:
在“消息属性”(Message Properties) 对话框的“配置”(Configuration) 选项卡中:
在“消息属性”(Message Properties) 对话框的“通信”(Communication) 选项卡中:
选择所需内存信息
MSG 指令将以下信息返回至 INT_array(MSG 指令的目标标签)。
重要提示: 对于 1756-L55M16 控制器,MSG 指令会针对每个扩展内存类别返回两个值。为确定 1756-L55M16 控制器的空闲或总扩展内存,可将类别的两个值相加。
将 INT 转换为 DINT
MSG 指令会以两个单独的 INT 型值的形式返回每个内存值。
  • 第一个 INT 代表值的低 16 位。
  • 第二个 INT 代表值的高 16 位。
要将各个 INT 转换为一个可用值,可使用复制 (COP) 指令,其中:
在以下操作数中:
指定:
含义:
Source
2 元素对的第一个 INT(低 16 位)
从低 16 位开始
Destination
用于存储 32 位值的 DINT 标签
将值复制到 DINT 标签
长度
1
复制 1 倍 Destination 数据类型的字节数。在这种情况下,该指令会复制 4 个字节(32 位),其中将高 16 位和低 16 位组合为一个 32 位值。
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal