主题
寄存器引用(取 / 设)
寄存器引用(取 / 设)(类型名
ddc_ref):引用一个寄存器。;「取(只读)」= 只把它的值显示出来(西门子的模拟输入);;「设(屏上可改)」= 这一处引用是落点:它接在 HMI 菜单行的「值」上(或枚举块自己的「值」上)时,操作员能在该行按确定改值并写回这个寄存器(西门子的模拟输出),数值一位一位闪动改、枚举行↑↓切项。;范围: D 0~7999, DD/DF 0~7998(各占两格 D), M 0~7679, X/Y 八进制 0~377, T 0~511, C 0~255。;DF 是浮点,这一版在屏上只读(逐位改值一次只写一个 16 位字)。
这块是什么
- 编辑器里的名字:寄存器引用(取 / 设)
- 类型名:
ddc_ref(写在程序文件 ddc.json 里的身份,AI 生成或改逻辑时按它对名,别猜中文名) - 分类:数据(往块里喂数值的来源)、HMI(屏幕页面(做画面模块))
- 形态:值块
- 状态:无状态
引用一个寄存器。;「取(只读)」= 只把它的值显示出来(西门子的模拟输入);;「设(屏上可改)」= 这一处引用是落点:它接在 HMI 菜单行的「值」上(或枚举块自己的「值」上)时,操作员能在该行按确定改值并写回这个寄存器(西门子的模拟输出),数值一位一位闪动改、枚举行↑↓切项。;范围: D 0~7999, DD/DF 0~7998(各占两格 D), M 0~7679, X/Y 八进制 0~377, T 0~511, C 0~255。;DF 是浮点,这一版在屏上只读(逐位改值一次只写一个 16 位字)。
块面长什么样
图上这一颗就是刚把它从工具箱拖到画布时的样子:下拉框和输入框里是默认值,凹口(←形的那个孔)是要接值的地方,右边凸起是能被别人接的输出口。
块面参数(在块上直接填/选)
- MODE:取(只读)=get / 设(屏上可改)=set
- DEV:D(16位寄存器) / DD(32位双字) / DF(32位浮点,占两格D) / M(内部继电器) / X(输入继电器,八进制) / Y(输出继电器,八进制) / T(定时器当前值) / C(计数器当前值) / 可编程灯(0灭/1亮/2慢闪/3快闪)=L
- ADDR:数 0(框里可填 0~32767,实际按 DEV 那一档的上限夹取)
等号后面那串(如 =year)是画布上不显示、但程序文件里必须照抄的值(写出来是 "part": "year");没有等号的选项,界面上看到的和文件里填的是同一串。
连线端子(从别的块接进来)
- 输出 Number
下发到设备变成什么
- 生成 ddc.json 的操作(op):ref
手册里其它相关位置
- 所属分类章节:2.2 本章导览
- 同类块一览:2.0 功能块速查总表
读一个寄存器,或者给屏上留一个可改的数
这是「取数」最基本的块:选软元件类型 + 填地址号,把设备寄存器当前的值取出来给别的方块用。 它同时是 HMI 那几页里的**「取寄存器」**——同一个块,在 HMI 分类下也放了一份,方便就近取用。
| 软元件 | 含义 | 地址范围 |
|---|---|---|
| D | 数据寄存器(16 位) | 0~7999(D8000 起是系统区) |
| DD | 32 位数据寄存器,占两格 D | 0~7998 |
| DF | 32 位浮点,占两格 D | 0~7998 |
| M | 辅助继电器 | 0~7679 |
| X / Y | 输入 / 输出继电器 | 0~377(八进制编号) |
| T | 定时器当前值 | 0~511 |
| C | 计数器当前值 | 0~255 |
| L | 可编程灯(地址与 Y 相同) | 0~377(八进制),写 0 灭 / 1 亮 / 2 慢闪(1Hz)/ 3 快闪(5Hz) |
DD 和 DF 各占两格:地址填 100,实际用掉 D100 与 D101 —— 所以它们的最大可填地址比 D 少 1。 填 7999 会撞在区尾之外,「生成 JSON」当场报越界。
这些软元件与梯形图编程里的完全相同,可以和梯形图程序互相读写,见 1.6 软元件一览(PLC 编程)。
两种模式的区别只在屏上
| MODE | 用在哪 | 屏上表现 |
|---|---|---|
| 取(只读) | 主程序里取数、HMI 行上只显示 | 看得到、改不了 |
| 设(屏上可改) | 现场人员要在屏上调的设定值 | 光标停到该行按确定,数值一位一位闪动改;布尔量(M / X / Y)在 0 与 1 之间切 |
浮点寄存器 DF 在屏上只读
这一版逐位改值一次只能写一个 16 位字,而 DF 占两格,所以接在 HMI 行上的 DF 改不了。 要现场可改,用 D 存整数(自己约定放大倍数),或把设定值放 DF 之外。
选 「设(屏上可改)」 时,这个引用在生成的 JSON 里多带一个 "set":1;选「取(只读)」则根本不写这个键。 所以「只读取」的引用新旧工程长得完全一样。行级那个 "rw" 是菜单行上的字段,由程序按落点推算,别和它混 —— 详见 2.6 显示模块。