SCL中指针问题
- 西门子PLC以指针的灵活见长,甚至有部分朋友认为,西门子的指针可以媲美C语言指针
- 在此处,我们在说明SCL中指针问题时,使用编程平台为西门子的TIA,并分别对300、1200、1500进行说明。
1. S7-300中的SCL语言指针寻址
- 针对I、Q、M可以进行百分号寻址。例如
IF %IX(IDX := #By_1, BIT := #Bi_1) THEN
%MW(IDX := #Bw_1) := 100;
ELSE
%QD(IDX := #Bd_1) := 99;
END_IF; 针对DB块也可以使用百分号进行寻址。例如,
IF %DB1.DX(IDX := #By_1, BIT := #Bi_1) THEN
%DB1.DW(IDX := #Bw_1) := 100;
ELSE
%DB1.DD(IDX := #Bd_1) := 99;
END_IF;当需要对DB块的DB号进行寻址的时候,需要用到WORD_TO_BLOCK_DB库函数。例如,
IF WORD_TO_BLOCK_DB(#Db_1).DX(IDX := #By_1, BIT := #Bi_1) THEN
WORD_TO_BLOCK_DB(#Db_1).DW(IDX := #Bw_1) := 100;
ELSE
W