西门子PLC指针编程.ppt
《西门子PLC指针编程.ppt》由会员分享,可在线阅读,更多相关《西门子PLC指针编程.ppt(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、A&D AS CS2 FASystems Support A&D CS2 FA 崔坚 SIMATIC Technical Consulting Page 1 2007 8月寻址方式直接寻址存储区地址指针寄存器间接寻址 POINTER数据类型指针ANY数据类型指针FB块形参的编程Automation and DrivesA&D AS CS2 FASystems Support A&D CS2 FA 崔坚 SIMATIC Technical Consulting Page 2 2007 8月寻址方式直接寻址存储区地址指针寄存器间接寻址 POINTER数据类型指针ANY数据类型指针FB块形参的编程A
2、utomation and DrivesSTEP7 指针编程A&D AS CS2 FASystems Support A&D CS2 FA 崔坚 SIMATIC Technical Consulting Page 3 2007 8月寻址方式直接寻址存储区地址指针寄存器间接寻址 POINTER数据类型指针ANY数据类型指针FB块形参的编程寻址方式A&D AS CS2 FASystems Support A&D CS2 FA 崔坚 SIMATIC Technical Consulting Page 4 2007 8月寻址方式直接寻址存储区地址指针寄存器间接寻址 POINTER数据类型指针ANY数据
3、类型指针FB块形参的编程直接寻址A M1.1=Q1.2A&D AS CS2 FASystems Support A&D CS2 FA 崔坚 SIMATIC Technical Consulting Page 5 2007 8月寻址方式直接寻址存储区地址指针寄存器间接寻址 POINTER数据类型指针ANY数据类型指针FB块形参的编程存储区地址指针16位地址指针位地址指针16位地址指针用于定时器、计数器、程序块(DB、FC、FB)的寻址,16位指针被看作一个无符号整数(065535),它表示定时器(T)、计数器(C)、数据块(DB、DI)或程序块(FB、FC)的号,16位指针的格式如下:A&D A
4、S CS2 FASystems Support A&D CS2 FA 崔坚 SIMATIC Technical Consulting Page 6 2007 8月寻址方式直接寻址存储区地址指针寄存器间接寻址 POINTER数据类型指针ANY数据类型指针FB块形参的编程存储区地址指针16位地址指针位地址指针地址寻址表示格式为:区域标识符16位地址指针,例如打开一个DB块表示为:A&D AS CS2 FASystems Support A&D CS2 FA 崔坚 SIMATIC Technical Consulting Page 7 2007 8月寻址方式直接寻址存储区地址指针寄存器间接寻址 PO
5、INTER数据类型指针ANY数据类型指针FB块形参的编程存储区地址指针16位地址指针使用示例位地址指针使用示例 L 12 T LW 20 UC FC LW 20 /无条件调用FC12 L 13 T MW 20 A I 2.3 CC FB MW 20/如果I2.3为1,调用FB13。FC12和FB13不能带有形参,这是有CC和UC调用指令决定的。/A&D AS CS2 FASystems Support A&D CS2 FA 崔坚 SIMATIC Technical Consulting Page 8 2007 8月寻址方式直接寻址存储区地址指针寄存器间接寻址 POINTER数据类型指针ANY数
6、据类型指针FB块形参的编程存储区地址指针32位地址指针位地址指针32位地址指针位地址指针32位地址指针用于I、Q、M、L、数据块等存储器中位、字节、字及双字的寻址,32位的地址指针可以使用一个双字表示,第0位第2位作为寻址操作的位地址,第3位第18位作为寻址操作的字节地址,第19位第31位没有定义,32位指针的格式如下:A&D AS CS2 FASystems Support A&D CS2 FA 崔坚 SIMATIC Technical Consulting Page 9 2007 8月寻址方式直接寻址存储区地址指针寄存器间接寻址 POINTER数据类型指针ANY数据类型指针FB块形参的编程
7、存储区地址指针32位地址指针位地址指针地址寻址表示格式为:地址存储器标识符32位地址指针,例如指针存储于LD20中,装载M存储器一个字节表示 32位地址指针也可以使用常数表示,例如装载32位指针常数 L P#40.3(P=指针,字节地址=40,位地址=3)。32位地址指针数据与双整数可以相互转换,由于指针指到一个位地址上,每一个位地址加1,相应转换的整数值加1的倍数,例如P#0.0转换双整数为L#0,P#0.1转换双整数为L#1,每一个字节地址加1,相应转换的整数值加8的倍数,例如P#3.1转换双整数为L#25.A&D AS CS2 FASystems Support A&D CS2 FA 崔
8、坚 SIMATIC Technical Consulting Page 10 2007 8月寻址方式直接寻址存储区地址指针寄存器间接寻址 POINTER数据类型指针ANY数据类型指针FB块形参的编程存储区地址指针32位地址指针使用示例位地址指针使用示例1 OPN DB 1 /打开DB1。OPN DI 3 /打开DB3,最多可以同时打开两个DB块。L 4 /装载4到累加器1中。SLD 3 /累加器1中数值左移3位。T MD 20 /将逻辑操作结果传送到MD20中,MD20 包含地址指针为P#4.0。L P#20.0 /将地址指针P#20.0装载到MD24中。T MD 24 L 320 /320转
9、换指针为P#40.0并装载到MD28中。T MD 28 L DBW MD 20 /装载DB1.DBW4。L DBW MD 24 /装载DB1.DBW20。+I /相加 L DIW MD 28 /装载DB3.DBW40。-I /相减。T DIW 2 /将运算结果传送到DB3.DBW2中。JC m1A&D AS CS2 FASystems Support A&D CS2 FA 崔坚 SIMATIC Technical Consulting Page 11 2007 8月寻址方式直接寻址存储区地址指针寄存器间接寻址 POINTER数据类型指针ANY数据类型指针FB块形参的编程存储区地址指针32位地址
10、指针使用示例位地址指针使用示例2使用LOOP 指令与32位地址指针可以进行循环操作,假设一个编程应用:一个字变量(MW2)与一个数组(假设存储于DB1中,包含100个元素为字的数组)存储的值相比较,如果数值相同,指出第一个相同数值存储在DB块中的位置(数组中的位置)。L 0 /初始化MW100和MD4。T MW 100 T MD 4 OPN DB 1 /打开DB1。L 100 /循环操作的次数,100次。next:T MW 100 /将循环100次装载到MW100中,固定格式。L MW 2 /进行比较的数值存储于MW2。L DBW MD 4 /与DB块中存储的值进行比较,开 始地址为DBW0。
11、=I /如果数值相等跳到m1。JC m1A&D AS CS2 FASystems Support A&D CS2 FA 崔坚 SIMATIC Technical Consulting Page 12 2007 8月寻址方式直接寻址存储区地址指针寄存器间接寻址 POINTER数据类型指针ANY数据类型指针FB块形参的编程存储区地址指针32位地址指针使用示例位地址指针使用示例2 L MD 4 /将地址指针加2(每个相邻的字地址相差2)。L P#2.0 +D T MD 4 L MW 100 /次数减1,跳回next,如果MW100等于0,跳 出循环操作LOOP指令,LOOP指令固定格式。LOOP n
12、extm1:FP M 10.0 /如果数值相当,记录MD4指针的数据,将转 换为数组的位置((地址值/P#2.0)+1)值存储于 MD8中。JCN m2 L MD 4 L P#2.0 /D +1 T MD 8m2:NOP 0A&D AS CS2 FASystems Support A&D CS2 FA 崔坚 SIMATIC Technical Consulting Page 13 2007 8月寻址方式直接寻址存储区地址指针寄存器间接寻址 POINTER数据类型指针ANY数据类型指针FB块形参的编程存储区地址指针32位地址指针注意事项位地址指针注意事项 OPN DB 1 L 20 T MD 2
13、0 /MD20装载的地址指针为P#2.4。L 11 T DBB MD 20/指针指向P#2.4,相当于L DBB2.4,CPU无法识别,将停机。使用使用32位地址指针的注意事项位地址指针的注意事项:如果对相邻两个字节操作,指针转换为整数值最小必须为8(指针为P#1.0)的倍数,如果对相邻两个字操作,指针转换为整数值最小必须为16(指针为P#2.0)的倍数,如果对相邻两个双字操作,指针转换为整数值最小必须为32(指针为P#4.0)的倍数,对字与双字指针的要求主要防治数据间的冲突,例如DBWMD2,MD2为16的倍数时,按照DBW2、DBW4、DBW6寻址,如果为8的倍数,按照DBW1、DBW2、
14、DBW3寻址,地址间数据冲突。A&D AS CS2 FASystems Support A&D CS2 FA 崔坚 SIMATIC Technical Consulting Page 14 2007 8月寻址方式直接寻址存储区地址指针寄存器间接寻址 POINTER数据类型指针ANY数据类型指针FB块形参的编程寄存器间接寻址使用的指令寄存器间接寻址使用的指令寄存器间接寻址 寄存器间接寻址使用CPU内部集成的两个32位寄存器AR1和AR2LAR1 :将ACCU1存储的地址指针写入AR1。LAR1 :将指明的地址指针写入AR1,例如LAR1 P#20.0或LAR1 MD20LAR1 AR2:将AR2
15、的内容写入AR1。LAR2 :将ACCU1存储的地址指针写入AR2。LAR2 :将指明的地址指针写入AR2,与LAR1 方式相同。TAR1 :将AR1存储的地址指针传输给ACCU1。TAR1 :将AR1存储的地址指针传输给指明的变量中。TAR1 AR2:将AR1存储的地址指针传输给ACCU2。TAR2 :将AR2存储的地址指针传输给ACCU1。TAR2 :将AR1存储的地址指针传输给指明的变量中。CAR :交换AR1和AR2的内容。A&D AS CS2 FASystems Support A&D CS2 FA 崔坚 SIMATIC Technical Consulting Page 15 20
16、07 8月寻址方式直接寻址存储区地址指针寄存器间接寻址 POINTER数据类型指针ANY数据类型指针FB块形参的编程32位内部区域指针位内部区域指针 寄存器间接寻址 32位内部区域指针地址寻址表示格式为:地址存储器标识符地址寄存器,地址偏移常量,例如装载M存储器一个字节表示为:A&D AS CS2 FASystems Support A&D CS2 FA 崔坚 SIMATIC Technical Consulting Page 16 2007 8月寻址方式直接寻址存储区地址指针寄存器间接寻址 POINTER数据类型指针ANY数据类型指针FB块形参的编程32位内部区域指针使用示例位内部区域指针使
17、用示例 寄存器间接寻址 OPN DB 1 /打开DB1。LAR1 P#10.0 /将指针P#10.0 装载到地址寄存器1中。L DBW AR1,P#12.0 /将DBW22装载到累加器1中。LAR1 MD 20 /将存储于MD20中的指针装载到地址寄 存器1中。L DBW AR1,P#0.0 /将DBW装载到累加器1中,地址存储于 MD20中。+I LAR2 P#40.0 /将指针P#40.0 装载到地址寄存器2中。T DBW AR2,P#0.0 /运算结果传送到DBW40中。A&D AS CS2 FASystems Support A&D CS2 FA 崔坚 SIMATIC Technica
18、l Consulting Page 17 2007 8月寻址方式直接寻址存储区地址指针寄存器间接寻址 POINTER数据类型指针ANY数据类型指针FB块形参的编程32位交叉区域指针位交叉区域指针 寄存器间接寻址 000表示没有地址区,例如P#12.0;001表示输入地址区I,例如P#I12.0;010表示输出地址区Q,例如P#Q12.0;011表示标志位地址区M,例如P#M12.0;100表示数据块(DB)中的数据,例如P#DB1.DBX12.0101表示数据块(DI)中的数据,例如P#DI1.DIX12.0110表示区域地址区L,例如P#L12.0;111表示调用程序块的区域地址区V,例如P
19、#V12.0;A&D AS CS2 FASystems Support A&D CS2 FA 崔坚 SIMATIC Technical Consulting Page 18 2007 8月寻址方式直接寻址存储区地址指针寄存器间接寻址 POINTER数据类型指针ANY数据类型指针FB块形参的编程32位交叉区域指针使用示例位交叉区域指针使用示例 寄存器间接寻址 使用交叉区域指针表示方法(例如装载M存储器一个字节)为:LAR1 P#M 20.0 /将指针P#M20.0 装载到地址寄存器1中。A AR1,P#1.1 /M21.1“与”操作。=Q 1.2 /如果M21.1为1,输出1.2为1。L P#I
20、 40.0 /将指针P#I40.0 装载到累加器1中。LAR2 /将累加器1中存储的地址指针装载到地址 寄存器2中。L W AR2,P#0.0 /装载IW40.0到累加器1中。T MW 60 /将累加器1中存储的数值传送到MW60中。A&D AS CS2 FASystems Support A&D CS2 FA 崔坚 SIMATIC Technical Consulting Page 19 2007 8月寻址方式直接寻址存储区地址指针寄存器间接寻址 POINTER数据类型指针ANY数据类型指针FB块形参的编程地址寄存器地址寄存器AR1AR1、AR2AR2的限制的限制寄存器间接寻址 1:在形参的
21、传递中,STEP7使用地址寄存器AR1访问函数FC接口及函数块FB“INOUT”接口中定义的复合类型参数,如ARRAY、STRUCT、DATE_AND_TIME等,AR1和DB块寄存器中的内容将被覆盖 A&D AS CS2 FASystems Support A&D CS2 FA 崔坚 SIMATIC Technical Consulting Page 20 2007 8月寻址方式直接寻址存储区地址指针寄存器间接寻址 POINTER数据类型指针ANY数据类型指针FB块形参的编程地址寄存器地址寄存器AR1AR1、AR2AR2的限制的限制寄存器间接寻址 L#ARR_TEST1 /装载形参变量ARR
22、_TEST1到累 加器1中。OPN DB 1 /打开OB1 LAR1 P#20.0 /将P#20.0装载到地址寄存器AR1 中。T DBW AR1,P#0.0 /将累加器1中的值传送到 DB1.DBW20中。避免方法避免方法:A&D AS CS2 FASystems Support A&D CS2 FA 崔坚 SIMATIC Technical Consulting Page 21 2007 8月寻址方式直接寻址存储区地址指针寄存器间接寻址 POINTER数据类型指针ANY数据类型指针FB块形参的编程地址寄存器地址寄存器AR1AR1、AR2AR2的限制的限制寄存器间接寻址 2 2:AR2和DI
23、寄存器分别包含FB背景数据块的块号及在背景数据在背景数据块中偏移地址(多重背景数据块),在FB中使用AR2和DI寄存器将会覆盖系统存储的内容。TAR2 MD 100 /将AR2的数据存储于MD100中。L DINO /将背景DB块块号存储于MW104中。T MW 104/用户程序/LAR2 MD 100 /将MD100中存储的地址指针装载到AR2 中。OPN DI MW 104 /打开DI数据块。3:LAR1 P#PARA(参数)。非法指令 L P#PARA(参数)/将地址指针装载到累加器1。LAR1/2 A&D AS CS2 FASystems Support A&D CS2 FA 崔坚 S
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西门子 PLC 指针 编程
限制150内