西门子高级编程全集间接寻址及地址寄存器指令学习教案

上传人:辰*** 文档编号:100777168 上传时间:2022-06-03 格式:PPTX 页数:25 大小:249.67KB
收藏 版权申诉 举报 下载
西门子高级编程全集间接寻址及地址寄存器指令学习教案_第1页
第1页 / 共25页
西门子高级编程全集间接寻址及地址寄存器指令学习教案_第2页
第2页 / 共25页
西门子高级编程全集间接寻址及地址寄存器指令学习教案_第3页
第3页 / 共25页
资源描述:

《西门子高级编程全集间接寻址及地址寄存器指令学习教案》由会员分享,可在线阅读,更多相关《西门子高级编程全集间接寻址及地址寄存器指令学习教案(25页珍藏版)》请在装配图网上搜索。

1、会计学1西门子高级西门子高级(goj)编程全集间接寻址及地编程全集间接寻址及地址寄存器指令址寄存器指令第一页,共25页。寻址方式(fngsh)直接(zhji)寻址间接寻址绝对寻址符号寻址存储器间接寻址寄存器间接寻址示例: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.016位指针(DB, T, C)32位指针内部区域32位指针内部区域32位指针交叉区域第2页/共24页第二页,共25页。存储单元(cn ch dn yun)

2、位置 (示例)I37.4地址(dzh)附加访问宽度字节,字,双字含义输入Q27.7字节,字,双字输出PIB655字节,字,双字外设输入PQB653字节,字,双字外设输出M55.0字节,字,双字位(Bit)存储器T114-定时器C13-计数器DBX2001.6字节(DBB), 字(DBW),双字(DBD)通过DB寄存器寻址的数据DIX406.1字节(DIB), 字(DIW),双字(DID)通过DI寄存器寻址的数据L88.5字节(LB), 字(LW),双字 (LD)本地数据堆栈第3页/共24页第三页,共25页。打开(d ki)的数据块在数据块中装载(zhungzi)和传递OPN DB 19OPN

3、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”从DB 10 的第4个字节的第7位开始扫描第4页/共24页第四页,共25页。将DB寄存器内容装载到ACCU1中L DBNO (将打开的DB号装载到ACCU1中)L D

4、INO (将打开的DI号装载到ACCU1中)装载数据(shj)块长度L DBLG (将打开的DB的长度/字节装载到ACCU1中)L DILG (将打开的DI的长度/字节装载到ACCU1中)指令(zhlng)执行前:指令执行后:CDB1232424123DB寄存器DI寄存器第5页/共24页第五页,共25页。l字格式的16位指针(用于对DB、T、C进行寻址)lL 11lT MW 60llOPN DBMW 60 OPN DB 11lll双字(shun z)格式的32位指针(用于对I、Q、M.进行寻址)l L P#24.0l T MD 50 lL I W MD50 L IW 24l 存储 访问 地址l

5、 区域 宽度第6页/共24页第六页,共25页。l16位指针的结构:为0 . 65 535 之间的无符号(fho)整数000000001001001015 14 13 12 11 10 9 8 7 6 5 4 3 2 1 02021527146l32位指针的结构(内部(nib)区域):BBBBBBBBBBBBBXXX15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 00000000000000BBB31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 162022位地址字节地址(无符号整数)20215未定义l装载32位指针常量(内部区域)

6、:L P#25.3 (P = 指针,字节地址= 25,位地址:3)第7页/共24页第七页,共25页。寻址,例如(lr):OPN DBLW10,OPN DI#DB_NO等。A ILD10,T QD#Par_Pointer,等。)全局(共享) 数据块(只能进行绝对寻址,DB必须预先打开,例如(lr): OPN DBDBW0 (覆盖掉DB寄存器内容!),OPN DIDBW22等。A IDBD10,T QDDBD22,等。)背景数据块(只能进行绝对寻址,DI必须预先打开,例如(lr):OPN DBDIW20,OPN DIDIW0 (覆盖掉DI寄存器内容!),等。A IDID10, T QDDID22等

7、。)向FB和FC传递指针的特点在参数里传递的指针不能直接用于存储器间接寻址。用于存储器间接寻址而传递的指针,在访问之前必须拷贝到临时变量里去第8页/共24页第八页,共25页。FC30:间接寻址示例Network(段) 1:使用间接寻址方式打开DB L#dbnumber/ 将DB号拷贝到MW100TMW100/ OPNDBMW 100/ 打开DBNetwork (段) 2:循环删除LP#18.0/ 将终端地址(DBW18)作为指针(zhzhn)TMD40/ 传送到MD 40;L10/ 将循环计数器值设置为10next:TMB50/ 传到MB 50中;L0/ 装载初始值TDBWMD 40/ 传到D

8、B50中;LMD40/ 装载指针(zhzhn)LP#2.0/ 并减去2个字节-D/ 然后再传回TMD40/ 到MD 40;LMB50/ 装载循环计数器LOOPnext/ 减去2个字节,条件满足则跳转;第9页/共24页第九页,共25页。-Meas_Value1Meas_Value2Meas_Value9Meas_Value10Meas_Value11#Ini_Value1.02.09.010.011.0 . . .等等(dn dn)。DB4104323640DB中指向(zh xin)地址的指针 #Par_Pointer#Counter字节地址第10页/共24页第十页,共25页。LAR1 P#10

9、.0 / 设置AR1 AR1: 00000000 0000 0000 0000 0000 0101 0000 + 200L M W AR1, P#200.0存储区域访问 地址 偏移扩展指令: L MW 210 宽度(kund)寄存器 常量lAR 1或AR2中的内部(nib)区域指针:BBBBBBBBBBBBBXXX15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 00000000000000BBB31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 162022位地址字节地址(无符号整数)20215未定义l指令语法规则:第11页/共24

10、页第十一页,共25页。LAR1 P#I10.0 /设置AR1 AR1: 10000001 0000 0000 0000 0000 0101 0000L W AR1, P#200.0 + 200 访问 地址 偏移(pin y)扩展指令: L IW 210 宽度寄存器 常量lAR 1或AR 2中的交叉(jioch)区域指针: BBBBBBBBBBBBBXXX15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 010000RRR00000BBB31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16位地址字节地址(无符号整数)地址标识符l指令

11、语法规则:Bit 31=0: 内部区域Bit 31=1: 交叉区域l地址标识符:000I/O001输入(PII)010输出(PIQ)011位(Bit)存储器 100DB寄存器中的数据101DB寄存器2中的数据(DI) 110自有本地数据111调用块的LD(本地数据)第12页/共24页第十二页,共25页。:处理器寄存器:AR1,AR2 (比如: LAR1 AR2 及LAR2 AR1)32位变量:MD,LD,DBD,DID (比如: L DBD5等)32位符号变量:32位全局变量(比如: LAR1 “索引”,等)(全局和局域的)以及OB,FB及FC的TEMP(临时)变量(比如:LAR1 #Addr

12、ess,等)P# 指向布尔型绝对地址En.m,An.m,Mn.m,Ln.m,DBXn.m,DIXn.m 指针:(比如:LAR1 P#M5.3, LAR2 P#I3.6,等)指向本地、符号地址OB:TEMP(临时)变量 (比如:LAR1 P#Par_Pointer, 等)FB: IN-,OUT-, INOUT-,STAT- 及TEMP- FC:TEMP(临时)变量(LAR1 P#Loop,等)第13页/共24页第十三页,共25页。32位绝对地址变量:MDn,LDn, DBDn, DIDn (如TAR2 MD5等)32位符号变量: 32位全局变量(比如TAR1 “Index”,等)(全局和局域的)

13、及OB,FB及FC的TEMP(临时)变量(比如TAR1 #Address等)地址寄存器内容交换(Swap)指令TAR将地址寄存器AR1和AR2的内容相互交换地址寄存器加指令+ARn将ACCU1-L内容加到ARn+ARn P#n.m将内部区域(qy)指针P#n.m加到AR1或AR2中去第14页/共24页第十四页,共25页。当访问FB中的INOUT参数时,如果(rgu)该INOUT参数是复杂数据类型(ARRAY、STRUCT、DATE_AND_TIME),则AR1寄存器和DB寄存器内容将会被覆盖掉。在装载地址寄存器和对目标变量进行寄存器间接寻址的时候,不允许访问局部参数在STL/LAD/FBD编辑

14、器内使用AR2 在对FB内部所有参数和静态变量进行寻址的时候,AR2寄存器和DI寄存器均用作基址寄存器。如果(rgu)用户在FB内部将 AR2或DI覆盖了,之后就可以访问该FB专用 参数或静态变量。也就是说,未恢复两个寄存器时不可访问。在FC内,对AR2寄存器和DI寄存器没有限制第15页/共24页第十五页,共25页。#ACCU1DB中指向地址(dzh)的指针#AR1#ACCU2-Number1Number2Number9Number10Number111291011 . . .等等(dn dn)。DB4204323640字节(z ji)地址第16页/共24页第十六页,共25页。地址声明名称类型

15、(lixng)0.0 输入参数 DB_NumWORD2.0 输入参数Area_PointerDWORD6.0 输入参数LengthWORD. . .L #DB_NumT #I_DB_NumOPNDBI_DB_Num.L#Area_PointerLAR1L#Length.FC.分别传送(chun sn)实际地址的各个信息 (STEP 5里的方式):DB号起始地址区域长度,等。缺点:程序员必须进行拆分在调用期间,不能使用实际地址的符号名一个地址(区域)需要好几个参数 无一致性检查纠正地址声明.名称类型0.0输入Measure_1POINTER. . .8.0输入Measure_2ANY. . .

16、L P#Measure_1LAR1LWAR1,P#0.0T#I_DB_NumOPNDBI_DB_NumLDAR1,P#2.0LAR1.FC.使用POINTER或ANY类型参数传递 (STEP 7方式):调用时,程序员可以使用实际地址的符号名由LAD/FBD/STL编辑器拆分成单个信息一个地址只需要一个参数进行一致性检查纠正第17页/共24页第十七页,共25页。Byte nByte n+2Byte n+4Byte n+1Byte n+3Byte n+5DB号(INT)1 O O O _ O R R R _ O O O O _ O B B B (32位交叉(jioch)区域指针)B B B B _

17、 B B B B _ B B B B _ B X X X POINTER类型参数赋值指针显示P#DBn.DBXx.y其中:n= DB号, x= 字节数, y= 位数 P#DIn.DIXx.y(比如 ,等)P#Zx.y其中: Z=区域(qy),比如:P,I,Q,M及L(比如P#I5.3,P#M10.0,等)地址声明:MD30 (这种情况下,DB号区域(qy)标识符及位地址自动输入 #Motor_on 到POINTER参数中)Motor_1.speed 数据类型结构:POINTER第18页/共24页第十八页,共25页。lANY数据类型指针(zhzhn)Byte nByte n+2Byte n+4D

18、B号1 O O O _ O R R R _ O O O O _ O B B B B B B B _ B B B B _ B B B B _ B X X X16#10Data type复制(fzh)系数Byte n+6Byte n+8数据类型标识符VOID00BOOL01BYTE02CHAR03WORD04INT05DWORD06DINT07REAL08DATE09TOD0ATIME0BS5TIME0CDT0ESTRING13参数类型标识符BLOCK_FB17BLOCK_FC18BLOCK_DB19BLOCK_SDB1ACOUNTER1CTIMER1DlANY参数类型指针Byte nByte n

19、+2Byte n+416#0000定时器,计数器或块的号16#10参数类型16#0001Byte n+6Byte n+816#0000第19页/共24页第十九页,共25页。指针显示:P#数据块.位地址 类型号指向DB10中的一个区域:从 Byte 12开始的20个REAL类型的地址 (ARRAY1.20 OF REAL)P#I 10.0 BOOL 8指向IB10里的一个8位区域地址声明(shngmng):绝对地址:DB5.DBD10数据类型:DWORD,复制系数:1 DB号:5,指针:IW32类型:WORD,WF: 1,DB 号:0,指针: P#I 32.0T35类型: TIMER,编号:35

20、符号地址:#Motor_1.speed使用基本数据类型,编译器建立正确“Pump”.Start的数据类型,复制系数1以及指针注意事项符号(ARRAY、STRUCT、STRING、UDT)赋值时,数据类型标识符02(BYTE)以及区域字节长度只能由编译器来建立,并输入到ANY指针。第20页/共24页第二十页,共25页。使用临时变量对ANY数据类型进行实际参数赋值在调用块中声明ANY数据类型临时变量例如:temp aux_pointer ANY 用指针(zhzhn)信息对ANY临时变量进行赋值例如:LAR1P#aux_pointer/ 装载辅助指针(zhzhn)地址L B#16#10/ 装载标识符

21、10TLB AR1,P#0.0/ 并传送到Offset 0L.使用变量辅助指针(zhzhn)对ANY 块参数进行赋值例如:CALL FC 111 Targetfield:=#aux_pointer优点在运行期间,对ANY指针(zhzhn)参数进行动态重复赋值第21页/共24页第二十一页,共25页。地址声明(shngmng)名称类型初始值注释0.0inPar_PointerANYoutin_out0.0tempData_typeBYTE2.0tempWFWORD4.0tempDB_NrWORD6.0tempArea_PointerDWORDNetwork 1:创建数据类型、复制系数、DB号及区域

22、指针LP#Par_Pointer/ 将#Pointer地址(dzh)装载到ACCU1LAR1/ 并从ACCU1中将其装载到AR1;LB AR1,P#1.0/ 从指针创建数据类型T#Data_type/ 并装载到临时变量中;LW AR1,P#2.0/ 建立复制系数TWF/ 并装载到临时变量中;LW AR1,P#4.0/ 建立DB号T#DB_Nr/ 并装载到临时变量中;LD AR1,P#6.0/ 建立区域指针T#Area_Pointer/ 并装载到临时变量中; 第22页/共24页第二十二页,共25页。FC 43ENENOMeasured_valuesSumMean_value声明(shngmng)

23、名称类型输入参数Measured_valuesANY输出参数SumREAL输出参数Mean_valueREALDB43103.452086.51.7895.名称(mngchng)类型STRUCTMeasurement ARRAY1.8REALEND_STRUCT第23页/共24页第二十三页,共25页。感谢您的观看(gunkn)!第24页/共24页第二十四页,共25页。NoImage内容(nirng)总结会计学。L 5装载数字5。=I比较。字格式的16位指针(用于对DB、T、C进行(jnxng)寻址)。双字格式的32位指针(用于对I、Q、M.进行(jnxng)寻址)。TARn 从Arn传送到。+ARn 将ACCU1-L内容加到ARn。如果用户在FB内部将 AR2或DI覆盖了,之后就可以访问该FB专用 参数或静态变量。一个地址只需要一个参数。Motor_1.speed。感谢您的观看第二十五页,共25页。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!