西门子plc指针编程概要.pptxVIP

  • 56
  • 0
  • 约1.05万字
  • 约 36页
  • 2020-04-18 发布于上海
  • 举报
Automation and Drives 崔坚 西门子自动化与驱动集团 客户支持部CS2 热线电话:4008104288网址:/Service/Automation and DrivesSTEP7 指针编程寻址方式直接寻址A M1.1AN DB1.DBX12.0= Q1.216位地址指针16位地址指针用于定时器、计数器、程序块(DB、FC、FB)的寻址,16位指针被看作一个无符号整数(0~65535),它表示定时器(T)、计数器(C)、数据块(DB、DI)或程序块(FB、FC)的号,16位指针的格式如下:存储区地址指针16位地址指针地址寻址表示格式为:区域标识符[16位地址指针],例如打开一个DB块表示为:存储区地址指针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调用指令决定的。 32位地址指针32位地址指针32位地址指针用于I、Q、M、L、数据块等存储器中位、字节、字及双字的寻址,32位的地址指针可以使用一个双字表示,第0位~第2位作为寻址操作的位地址,第3位~第18位作为寻址操作的字节地址,第19位~第31位没有定义,32位指针的格式如下:存储区地址指针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.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转换指针为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 m1存储区地址指针32位地址指针使用示例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

文档评论(0)

1亿VIP精品文档

相关文档