说明:
下面举例说明它是怎么做的:n
我们把CP242-2 直接插到CPU 214的旁边,这样 CP 242-2 占据了数字量地址IB 2 和QB 2,以及模拟量地址AIW 0 到AIW14和 AQW0 to AQW14。
每个ASI子站的地址被自动定义,地址的第一个字节来自于CP 242-2所占据的槽相关的地址.在我们的例子中,模拟量的输入区域和模拟量输出区域都是从字节0开始的。n
模拟量输入区域( ASI-DI) | 模拟量输出区域(ASI-DO) | ||||
字节号 | 位7 to 4 | 位 3 to 0 | 字节号 | 位7 to 4 | 位3 to 0 |
AIB 0 | 备用 | 子站1 使用了位 | AQB 0 | 备用 | 子站1 使用了位 |
AIB 1 | 子站2n 输入1 =位4 | 子站3n 输入1 =位0 | AQB 1 | 子站2n 输出1 =位4 | 子站3n 输出 1 =位 0 |
AIB 2 | 子站 4 使用了位7---6---5---4 | 子站5 使用了位3----2----1----0 | AQB 2 | 子站 4 使用了位7---6---5---4 | 子站5 使用了位3----2----1----0 |
AIB 3 | 子站6 使用了位7---6---5---4 | 子站7 使用了位3----2----1----0 | AQB 3 | 子站6 使用了位7---6---5---4 | 子站7 使用了位3----2----1----0 |
AIB 4 | 子站8 使用了位7---6---5---4 | 子站9 使用了位3----2----1----0 | AQB 4 | 子站8 使用了位7---6---5---4 | 子站9 使用了位3----2----1----0 |
AIB 5 | 子站10使用了位7---6---5---4 | 子站11 使用了位3----2----1----0 | AQB 5 | 子站10使用了位7---6---5---4 | 子站11 使用了位3----2----1----0 |
AIB 6 | 子站12使用了位7---6---5---4 | 子站13 使用了位3----2----1----0 | AQB 6 | 子站12使用了位7---6---5---4 | 子站13 使用了位3----2----1----0 |
AIB 7 | 子站14使用了位7---6---5---4 | 子站15 使用了位3----2----1----0 | AQB 7 | 子站14使用了位7---6---5---4 | 子站15 使用了位3----2----1----0 |
AIB 8 | 子站16使用了位7---6---5---4 | 子站17 使用了位3----2----1----0 | AQB 8 | 子站16使用了位7---6---5---4 | 子站17 使用了位3----2----1----0 |
AIB 9 | 子站18使用了位7---6---5---4 | 子站19 使用了位3----2----1----0 | AQB 9 | 子站18使用了位7---6---5---4 | 子站19 使用了位3----2----1----0 |
AIB 10 | 子站20使用了位7---6---5---4 | 子站21 使用了位3----2----1----0 | AQB 10 | 子站20使用了位7---6---5---4 | 子站21 使用了位3----2----1----0 |
AIB 11 | 子站22使用了位7---6---5---4 | 子站23 使用了位3----2----1----0 | AQB 11 | 子站22使用了位7---6---5---4 | 子站23 使用了位3----2----1----0 |
AIB 12 | 子站24使用了位7---6---5---4 | 子站25 使用了位3----2----1----0 | AQB 12 | 子站24使用了位7---6---5---4 | 子站25 使用了位3----2----1----0 |
AIB 13 | 子站26使用了位7---6---5---4 | 子站27 使用了位3----2----1----0 | AQB 13 | 子站26使用了位7---6---5---4 | 子站27 使用了位3----2----1----0 |
AIB 14 | 子站28使用了位7---6---5---4 | 子站29 使用了位3----2----1----0 | AQB 14 | 子站28使用了位7---6---5---4 | 子站29 使用了位3----2----1----0 |
AIB15 | 子站30使用了位7---6---5---4 | 子站31 使用了位3----2----1----0 | AQB 15 | 子站30使用了位7---6---5---4 | 子站31 使用了位3----2----1----0 |
n
在我们的例子中,AS-I 子站1到7(不同的模块)的地址如下:n
子站号 | ASI 子站地址类型 | AIW | AIW | 字节的位号 | AQW | AQW | 字节的位号 |
1 | 4 DI + 4 DO | 0 | 0 | 0 到3 | 0 | 0 | 0 到3 |
2 | 4 DI | 1 | 0 | 4 到7 | 无 | 无 | 无 |
3 | 4 DO | 无 | 无 | 无 | 1 | 0 | 0 到3 |
4 | 2 DI | 2 | 2 | 4和 5 | 无 | 无 | 无 |
5 | 2 DI | 2 | 2 | 0 和1 | 无 | 无 | 无 |
6 | 4 DI+4 DO | 3 | 2 | 4 到7 | 3 | 2 | 4 到7 |
7 | 4 DO | 无 | 无 | 无 | 3 | 2 | 0 到3 |
设定ASI子站的数字量地址到ASI系统变量地址的转换也是自动完成的,在我们的例子中,选用VB 800作为ASI子站的变量存储地址。n
CP 242-2中的ASI 子站的输入数据 | 地址 | CP 242-2中的ASI 子站的输出数据 | 地址 |
子站1 I输入1,位0 | V 800.0 | 子站1 I输出1,位0 | V 900.0 |
子站1 I输入2,位1 | V 800.1 | 子站1 I输出2,位1 | V 900.1 |
子站1 I输入3,位2 | V 800.2 | 子站1 I输出3,位2 | V 900.2 |
子站1 I输入4,位3 | V 800.3 | 子站1 I输出4,位3 | V 900.3 |
子站2 I输入1,位4 | V 801.4 | 子站2 I输出1,位4 | V 901.4 |
子站2 I输入2,位5 | V 801.5 | 子站2 I输出2,位5 | V 901.5 |
子站2 I输入3,位6 | V 801.6 | 子站2 I输出3,位6 | V 901.6 |
子站2 I输入4,位7 | V 801.7 | 子站2 I输出4,位7 | V 901.7 |
子站3 I输入1,位0 | V 801.0 | 子站3 I输出1,位0 | V 901.0 |
子站3 I输入2,位1 | V 801.1 | 子站3 I输出2,位1 | V 901.1 |
子站3 I输入3,位2 | V 801.2 | 子站3 I输出3,位2 | V 901.2 |
子站3 I输入4,位3 | V 801.3 | 子站3 I输出4,位3 | V 901.3 |
...... | .......... | ...... | .......... |
子站30 I输入1,位4 | V 815.4 | 子站30 I输出1,位4 | V 915.4 |
子站30 I输入2,位5 | V 815.5 | 子站30 I输出2,位5 | V 915.5 |
子站30 I输入3,位6 | V 815.6 | 子站30 I输出3,位6 | V 915.6 |
子站30 I输入4,位7 | V 815.7 | 子站30 I输出4,位7 | V 915.7 |
子站31 I输入1,位0 | V 815.0 | 子站31 I输出1,位0 | V 915.0 |
子站31 I输入2,位1 | V 815.1 | 子站31 I输出2,位1 | V 915.1 |
子站31 I输入3,位2 | V 815.2 | 子站31 I输出3,位2 | V 915.2 |
子站31 I输入4,位3 | V 815.3 | 子站31 I输出4,位3 | V 915.3 |
用下面的程序你现在能够设定ASI模块的地址。n
主程序
LD | SM 0.1 | 在首次扫描时,调用子程序0 |
CALL | 0 | CPU 启动的子程序0 |
LD | I 2.1 | CP READY signal from the status input byte of the CP242-2 is applied (status byte 8 DI) |
CALL | 1 | Subprogram 1 in ASI slave data is captured and processed |
MEND | 主程序结束 |
启动循环的子程序
SBR | 0 | 首循环的子程序 |
LD | SM 0.0 | 常ON信号 |
SI | Q2.7,1 | 在CP 242-2中的控制字节(8 个输出)中, 置位"PLC_RUN" 位为"1" |
RI | Q2.0,4 | 选择子站的初始数据为0,(在CP 242-2中的控制字节 8 个输出, Q 2.0 到Q 2.7) 在控制字节中,BS0到 BS3必须被置为 "0" 。 |
RET | 子程序结束 |
在CPU和CP242-2之间进行数据通信的子程序
SBR | 1 | 在CPU和CP242-2之间进行数据通信的子程序 |
LD | SM 0.0 | 常ON信号 |
BMW | AIW 0,VW 800,8 | 存储8个字的输入数据到VW800到 VW814 |
LD | V800.0 | 子站1的输入1 |
A | V815.1 | 子站15的输入2 |
= | V903.2 | 子站7的输出3 |
LD | SM0.0 | 常ON信号 |
BMW | VW900,AQW0,8 | 复制ASI子站输出区域变量从VW900开始的 8个字(16个字节) 到CP242-2的模拟量输出区域 |
RET | 子程序 结束 |
关键字:
分布式I/O,地址的设定,地址的分配
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc335596.html