西门子高级编程全集04间接寻址及地址寄存器指令.ppt
《西门子高级编程全集04间接寻址及地址寄存器指令.ppt》由会员分享,可在线阅读,更多相关《西门子高级编程全集04间接寻址及地址寄存器指令.ppt(24页珍藏版)》请在三一办公上搜索。
1、,间接寻址及地址寄存器指令,L W AR1,P#200.0,-,1,2,9,10,#Ini_Value,#Par_Pointer,#Counter,?,?,?,STEP 7 中可能的寻址方式,寻址方式,直接寻址,间接寻址,绝对寻址,符号寻址,存储器间接寻址,寄存器间接寻址,示例:A I 4.0A Mot_onOPN DBMW10A IMD30A IAR1,P#0.0A AR1,P#0.0L IW10L#NumSP TruntimeL IWNumberL IDAR1,P#5.0T WAR1,P#0.0,16位指针(DB,T,C),32位指针内部区域,32位指针内部区域,32位指针交叉区域,变量直
2、接寻址,存储单元位置(示例),I,37.4,地址,附加访问宽度,字节,字,双字,含义,输入,Q,27.7,字节,字,双字,输出,PIB,655,字节,字,双字,外设输入,PQB,653,字节,字,双字,外设输出,M,55.0,字节,字,双字,位(Bit)存储器,T,114,-,定时器,C,13,-,计数器,DBX,2001.6,字节(DBB),字(DBW),双字(DBD),通过DB寄存器寻址的数据,DIX,406.1,字节(DIB),字(DIW),双字(DID),通过DI寄存器寻址的数据,L,88.5,字节(LB),字(LW),双字(LD),本地数据堆栈,DB中地址标识符直接寻址,打开的数据块
3、,在数据块中装载和传递,OPN DB 19OPN ValuesOPN DI 20组合指令(包含OPN D DB.),L DBB 1装载数据字节1L DBW 2装载数据字2(字节2/3)L 5装载数字5T DBW 4传递到字4L A装载ASCII字符AL DIB28装载数据字节28=I比较A DBX 0.0从0字节的第0位开始扫描L DB19.DBW4从DB 19中装载数据字4 L“Values”.Number_1符号访问变量 Number_1.DB19具有变量名“Values”A DB10.DBX4.7从DB 10 的第4个字节的第7位开始扫描,用于DB寄存器的指令:CDB:交换DB寄存器内容
4、将DB寄存器内容装载到ACCU1中 L DBNO(将打开的DB号装载到ACCU1中)L DINO(将打开的DI号装载到ACCU1中)装载数据块长度L DBLG(将打开的DB的长度/字节装载到ACCU1中)L DILG(将打开的DI的长度/字节装载到ACCU1中),在程序中分析数据块DB相关信息,指令执行前:,指令执行后:,CDB,123,24,24,123,DB寄存器,DI寄存器,字格式的16位指针(用于对DB、T、C进行寻址)L 11T MW 60OPN DBMW 60 OPN DB 11双字格式的32位指针(用于对I、Q、M.进行寻址)L P#24.0 T MD 50 L I W MD50
5、 L IW 24 存储 访问 地址 区域宽度,存储器间接寻址,用于存储器间接寻址的指针结构,16位指针的结构:为0.65 535 之间的无符号整数,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0,20,215,27,146,32位指针的结构(内部区域):,B,B,B,B,B,B,B,B,B,B,B,B,B,X,X,X,15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0,0,0,0,0,0,0,0,0,0,0,0,0,0,B,B,B,31 30 29 28 27 26 25 24
6、23 22 21 20 19 18 17 16,20,22,位地址,字节地址(无符号整数),20,215,未定义,装载32位指针常量(内部区域):L P#25.3(P=指针,字节地址=25,位地址:3),存储器间接寻址的特性,用于存储16位和32位指针的地址区域:位(Bit)存储区(绝对寻址或符号寻址)例如:OPN DBMW30,OPN DI“Motor_1”等。A IMD30,T QDSpeed_1,等)本地数据堆栈(绝对寻址或符号寻址,例如:OPN DBLW10,OPN DI#DB_NO等。A ILD10,T QD#Par_Pointer,等。)全局(共享)数据块(只能进行绝对寻址,DB必
7、须预先打开,例如:OPN DBDBW0(覆盖掉DB寄存器内容!),OPN DIDBW22等。A IDBD10,T QDDBD22,等。)背景数据块(只能进行绝对寻址,DI必须预先打开,例如:OPN DBDIW20,OPN DIDIW0(覆盖掉DI寄存器内容!),等。A IDID10,T QDDID22等。)向FB和FC传递指针的特点在参数里传递的指针不能直接用于存储器间接寻址。用于存储器间接寻址而传递的指针,在访问之前必须拷贝到临时变量里去,间接寻址示例,FC30:间接寻址示例Network(段)1:使用间接寻址方式打开DB L#dbnumber/将DB号拷贝到MW100TMW100/OPND
8、BMW 100/打开DBNetwork(段)2:循环删除LP#18.0/将终端地址(DBW18)作为指针TMD40/传送到MD 40;L10/将循环计数器值设置为10next:TMB50/传到MB 50中;L0/装载初始值TDBWMD 40/传到DB50中;LMD40/装载指针LP#2.0/并减去2个字节-D/然后再传回TMD40/到MD 40;LMB50/装载循环计数器LOOPnext/减去2个字节,条件满足则跳转;,练习4.1:用间接寻址的方法进行循环编程,-,Meas_Value1,Meas_Value2,Meas_Value9,Meas_Value10,Meas_Value11,#In
9、i_Value,1.0,2.0,9.0,10.0,11.0.,等等。,DB41,0,4,32,36,40,DB中指向地址的指针,#Par_Pointer,#Counter,字节地址,内部区域,寄存器间接寻址,LAR1 P#10.0/设置AR1 AR1:00000000 0000 0000 0000 0000 0101 0000+200L M W AR1,P#200.0存储区域访问 地址 偏移扩展指令:L MW 210 宽度寄存器 常量,AR 1或AR2中的内部区域指针:,B,B,B,B,B,B,B,B,B,B,B,B,B,X,X,X,15 14 13 12 11 10 9 8 7 6 5 4
10、3 2 1 0,0,0,0,0,0,0,0,0,0,0,0,0,0,B,B,B,31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16,20,22,位地址,字节地址(无符号整数),20,215,未定义,指令语法规则:,交叉区域,寄存器间接寻址,LAR1 P#I10.0/设置AR1 AR1:10000001 0000 0000 0000 0000 0101 0000L W AR1,P#200.0+200 访问 地址 偏移扩展指令:L IW 210 宽度寄存器 常量,AR 1或AR 2中的交叉区域指针:,B,B,B,B,B,B,B,B,B,B,B,B,B,X
11、,X,X,15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0,1,0,0,0,0,R,R,R,0,0,0,0,0,B,B,B,31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16,位地址,字节地址(无符号整数),地址标识符,指令语法规则:,Bit 31=0:内部区域Bit 31=1:交叉区域,地址标识符:000I/O001输入(PII)010输出(PIQ)011位(Bit)存储器 100DB寄存器中的数据101DB寄存器2中的数据(DI)110自有本地数据111调用块的LD(本地数据),用于装载地址寄存器的指令,装载地址寄存器L
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西门子 高级 编程 全集 04 间接 寻址 地址 寄存器 指令
链接地址:https://www.31ppt.com/p-5837809.html