在华为M系列PLC中,智能模块软元件 Un\G□ 的 n 值取决于模块的起始地址,具体规则如下:
1. 确定模块起始地址
每个智能模块(如QD77MS、Q64AD等)在主基板或扩展基板上都有唯一的起始地址,通常以16进制表示(如H0020、H00A0等)。
起始地址是模块占用的I/O地址范围的最小值。例如:
若模块地址范围为H0020~H002F,则起始地址为H0020。
若模块地址范围为H00A0~H00AF,则起始地址为H00A0。
2. 计算n值
n值 = 起始地址的16进制值(去掉最低位0后转换为10进制)。
具体步骤:
去掉起始地址的最低位0(即右移一位)。
将剩余部分转换为10进制数。
示例:
去掉最低位0后为H0AA。
H0AA转换为10进制为170,因此 n=170,软元件表示为 U170\G□。
去掉最低位0后为H00A。
H00A转换为10进制为10,因此 n=10,软元件表示为 U10\G□。
起始地址为H00A0:
起始地址为H0AA0:
3. 注意事项
n值不能直接使用完整起始地址:例如,起始地址为H00A0时,不能写成U160\G□(H00A0的10进制为160),必须去掉最低位0后计算。
模块地址分配:确保模块地址在基板上唯一,避免冲突。地址分配可通过GX Works2编程软件或模块手册查询。
缓冲区地址(G□):G后的数值表示模块缓冲区的具体地址,需参考模块手册中的缓冲区列表确定。
4. 应用场景
直接访问模块缓冲区:通过Un\G□软元件,CPU可直接读写智能模块的缓冲区数据,实现高效通信。
示例指令:
读取Q64AD模块通道1的当前值(缓冲区地址为11):
ladMOV U2\G11 D10 // 将模块U2(起始地址H0020)的缓冲区G11的值传送到D10
使用FROM/TO指令:
ladFROM H2 K11 D10 K1 // H2为模块起始地址H0020的高位(即n=2)
5. 验证方法
通过GX Works2查看模块地址:在软件中配置模块时,可查看其分配的起始地址。
参考模块手册:手册中会明确列出模块的缓冲区地址及对应功能。