详解西门子间接寻址

详解西门子间接寻址
详解西门子间接寻址

+ NOT PLC P I Q M T C DB L BIT BYTE WORD DWORD T C

1

2

A Q2.0

A Q2.0 A

Q

2.0 0

. DBX200.0

DB X 200 . 0

+

A Q2.0 A

Q2.0

A Q[MD100] A T[DBW100] [ ] MD100 DBW100 Pointer

+

16bit 0-15bit 0-65535

32bit 0-2bit 8 0-7 3-18bit 16 0-65535

M DI DB L

L DW#16#35 // 32 16 35 ACC1

T MD2 // MD2 32

L +10 // 16 10 ACC1 32 16 35 ACC2 T MW100 // MW100 16 OPN DBW[MW100] // DBW10 [MW100]

M

MW100 10 16

--------

L L#+10 // 32 10 ACC1 ACC2 16 10 T MD104 // MD104 32

A I[MD104] // I1.2

=DIX[MD2] // DIX6.5

--------

A DB[MW100].DBX[MD2] // DB10.DBX6.5

=Q[MD2] // Q6.5

--------

A DB[MW100].DBX[MD2] // DB10.DBX6.5

=Q[MW100] // Q10

---------------------------------------------------------------------------------------------------

0-65535 byte.bit T C DB FC FB

BYTE WORD DWORD

0-2bit 0

8 8

A I[MD104] I1.2

L L#+10 MD104

MD104 0000 0000 0000 0000 0000 0000 0000 1010

3-18bit byte 0-2bit bit

0000 0000 0000 0000 0000 0000 0000 1010 = 1.2

<2>

M DB DI L

1

2

,P#byte.bit DIX[AR1,P#1.5] M[AR1,P#0.0] ,P#byte.bit +

DIX [AR1,P#1.5]

X [AR1,P#1.5]

DIX DI X M X AR1 DIX [AR1,P#1.5] AR1

[AR1,P#1.5]

X [AR1,P#1.5] [AR1,P#1.5]

AR1

AR

AR1

AR2 32

AR

0-2bit bit 3-18bit byte 31bit 0

AR

0000 0000 0000 0BBB BBBB BBBB BBBB BXXX

AR 0.0 ——65535.7 AR=D4 hex =0000 0000 0000 0000 0000 0000 1101 0100 b

26.4

AR AR AR

AR

1000 0YYY 0000 0BBB BBBB BBBB BBBB BXXX 31bit 1 24 25 26

bit24-26

26 25 24

P

000

I

001

Q

010

M

011

DB

100

DI

101

L

111

AR HEX

P AR=800xxxxx

I AR=810xxxxx

Q AR=820xxxxx

M AR=830xxxxx

DB AR=840xxxxx

DI AR=850xxxxx

L AR=870xxxxx

AR 8 DB 8 40 84000000-840FFFFF

DB 0.0——65535.7

AR=840000D4 hex =1000 0100 0000 0000 0000 0000 1101 0100 b

DBX26.4

[AR1/2,P#byte.bit] P#byte.bit

P#

P# P Pointer 32 P# # P P#XXX “ ” “ ”

● L P#Q1.0 // Q1.0 ACC1 ACC1 =82000008 hex =Q1.0

L P#1.0 // 1.0 ACC1 ACC1 =00000008 hex =1.0

● L P#MB100 // byte.bit

● L P#M100.0 // M100.0 ACC1 ACC1 =83000320 hex

=M100.0

● L P#DB100.DBX26.4 // DBX

● L P#DBX26.4 // DBX26.4 ACC1 ACC1 =840000D4 hex

=DBX26.4

P# P# AR P# P# AR P#XXX AR AR P#XXX

[AR1/2,P#byte.bit] P#byte.bit

AR1 P# BYTE BIT BIT BYTE

[AR1 P#2.6] AR1=26.4 DBX26.4

AR1 26.4

AR1 26.2

+ P# 2.6

---------------------------

= 29.7

AR1 DBX26.4

AR1 DBX26.2

+ P# 2.6

---------------------------

= DBX29.7

AR

AR AR

AR

1

L DW#16#83000320

LAR1

16 32 AR1

2

L [MD100]

LAR1

AR1 MD100

3

LAR1 P#26.2

P# 32 “ ” AR

AR

<3>

L 100

T MW 100 // 16 100 MW100

L DW#16#8 // 16 8 BYTE.BIT

8H=1000B=1.0

T MD 2 // MD2=8H

OPN DB [MW 100] // OPN DB100

L DBW [MD 2] // L DB100.DBW1

T MW[MD2] // T MW1

A DBX [MD 2] // A DBX1.0

= M [MD 2] // =M1.0

DB100.DBW1 MW1 —— MW100 DB MD2 DBW MW

----------------------------------------------------------------------------------------------------------------------

---------------------------

DB[MW100].DBW[MD2] DB[MW100].DBW[MD2] SIEMENS

OPN DBW[WM100] L

DBW[MD2]-------------------------------------------------------------------------------------------------------

------------------------------------------

DB 100 1 1

=========================== 1

|| L 100

|| T MW 100

=========================== 2

|| L DW#16#8

|| T MD 2

===========================

OPN DB [MW 100]

L DBW [MD 2]

T MW[MD2]

MW100 MD2

DB100 1-11 MW1-11

BOOL BYTE WORD DWORD MW10=MB10+MB11

MW11=MB12+MB13

bit 0bit 1bit 1bit 2bit 7bit

bit 0bit

BYTE

MW10=MB10+MB11 MW11=MB12+MB13 MW11=MB11+MB12

MW12=MB12+MB13

MW10 MW11 MB11 MW10 MW11

“ DB100 1-11 MW1-11 ” DBW1 DBW3 DBW5 DBW7 DBW9 DBW11 6 6

“ DB100 1-11 MW1-11 ”

1

2

2

X=0

M

-------

X+1=X

X≤10 False GO TO M True GO TO N

N

X

DB100 1-11 MW1-11

L L#1 //

T MD 102

M2: L MD 102

T #COUNTER_D

OPN DB100

L DBW [MD 102]

T MW [MD 102]

L #COUNTER_D

L L#2 // +2

+D

T MD 102 // L L#11 // =n-1 n=6

<=D

JC M2

T MD102 L L#11 <=D

DB1-10 1-11 MW1-11

DB MW100

“ DB1-10 1-11 MW1-11 ” M1 10 × M2 6 =60

L 1

T MW 100

L L#1

T MD 102

M1: L MW 100

T #COUNTER_W

M2:

L #COUNTER_W

L 1 // +1

+I

T MW 100

L 9 // =n-1 n=10

<=I

JC M1

<4>

L [MD100]

L MD100

LAR1

MD100 [MD100] MD100

L [MD100] [MD100] M DB I Q L X B W D L L MD[MD100]

MD100=8Hex MD1=85000018Hex

MD100 0-18bit Byte.bit “ ” “ ” MD100

8Hex=1000B=1.0

L MD[MD100]

LAR1

“ ”

LAR1

MD1=85000018 MD1 0-18bit Byte.bit “ ” AR 24-31bit “ ” LAR1 =DIX3.0 AR1

DIX3.0

-----------------------------

L MD100

LAR1

MD100 AR “ ” AR1=1.0 AR1 1.0 MD100

AR1 MD100=CHex CHex=1100 0-3bit 0

MD1.4

AR1 1.4

间接寻址及地址寄存器指令

详解西门子间接寻址 【址概念】 完整一条指令,应该包含指令符+操作数(当然不包括那些单指令,比如NOT等)。其中操作数是指令要执行目标,也就是指令要进行操作址。 我们知道,PLC中划有各种用途存储区,比如物理输入输出区P、映像输入区I、映像输出区Q、位存储区M、定时器T、计数器C、数据区DB和L等,同时我们还知道,每个区域可以用位(BIT)、字节(BYTE)、字(WORD)、双字(DWORD)来衡量,说来指定确切大小。当然定时器T、计数器C不存这种衡量体制,它们仅用位来衡量。由此我们可以到,要描述一个址,至少应该包含两个要素: 1、存储区域 2、这个区域中具体位置 比如:A Q2.0 其中A是指令符,Q2.0是A操作数,也就是址。这个址由两部分组成: Q:指是映像输出区 2.0:就是这个映像输出区第二个字节第0位。 由此,我们出,一个确切址组成应该是: 〖存储区符〗〖存储区尺寸符〗〖尺寸数值〗.〖位数值〗,例如:DBX200.0。 DB X 200 . 0 其中,我们又把〖存储区符〗〖存储区尺寸符〗这两个部分合称为:址标识符。这样,一个确切址组成,又可以写成: 址标识符 + 确切数值单元 【间接寻址概念】 寻址,就是指定指令要进行操作址。给定指令操作址方法,就是寻址方法。 谈间接寻址之前,我们简单了解一下直接寻址。所谓直接寻址,简单说,就是直接给出指令确切操作数,象上面所说,A Q2.0,就是直接寻址,A这个指令来说,Q2.0就是它要进行操作址。 这样看来,间接寻址就是间接给出指令确切操作数。对,就是这个概念。 比如:A Q[MD100] ,A T[DBW100]。程序语句中用方刮号 [ ] 标明内容,间接指明了指令要进行址,这两个语句中MD100和DBW100称为指针Pointer,它指向它们其中包含数值,才是指令真正要执行址区域确切位置。间接由此名。 西门子间接寻址方式计有两大类型:存储器间接寻址和寄存器间接寻址。 【存储器间接寻址】 存储器间接寻址址给定格式是:址标识符+指针。指针所指示存储单元中所包含数值,就是址确切数值单元。 存储器间接寻址具有两个指针格式:单字和双字。 单字指针是一个16bit结构,从0-15bit,指示一个从0-65535数值,这个数值就是被寻址存储区域编号。 双字指针是一个32bit结构,从0-2bit,共三位,8进制指示被寻址位编号,也就是0-7;而从3-18bit,共16位,指示一个从0-65535数值,这个数值就是被寻址字节编号。 指针可以存放M、DI、DB和L区域中,也就是说,可以

西门子PLC程序(工艺给控制条件部分)(DOC)

XXXXXXXXXX项目反渗透系统控制条件 1 目的 本章节主要提供XXXXXXXXXXXXXXXXX反渗透系统的控制条件。 2 超滤系统控制条件 2.1 范围 该系统主要包括以下几个部分: ①超滤的预处理装置,包括:多介质过滤器(3台)、自清洗过滤器(1台)、换热器(1台) ②超滤装置:三套(每套含UOF4膜组件50支) ③超滤反洗水泵:2台 ④超滤反洗加药装置:反洗酸投加(1套)、反洗次氯酸钠投加(1套) 2.2 主要设备说明 若没有特别说明,以下过程为系统转到自动状态时的运行条件。 2.2.1 多介质过滤器+UF 控制方式: ①过滤产水状态与中间水管液位计高液位联锁报警停车(高液位设为m); ②UF反洗状态与中间水罐液位计低液位联锁报警停车(低液位设为m); ③UF过滤产水状态(进入过滤状态5min后)与UF产水流量变送器下限联锁报警下限联锁报警(下限设为设定产水流量的80%); ④UF过滤产水状态(进入过滤状态5min后)与UF产水流量变送器下限联锁报警上限联锁报警(上限设为设定产水流量的150%); ⑤UF反洗状态(进入反洗状态15s后)与UF反洗进水流量变送器下限联锁

报警(下限设为设定为m3/h); ⑥UF反洗状态(进入反洗状态15s后)与UF反洗进水流量变送器上限联锁报警(上限设为设定为m3/h); 2.2.2 UF反洗水泵 电机功率:15kw,变频控制 设备数量:2台(1用1备) 控制方式: ①与中间水罐液位计低液位联锁报警停车(低液位设为m); ②自动控制,自动时受UF程序控制设备的启动和停止; ③手动控制,可在现场操作箱面板上控制启停,也可在主控画面上进行启停。 2.2.3 UF反洗酸投加计量泵 电机功率:0.75kw 控制方式: ①与储酸罐液位计低液位联锁报警停车(低液位设为m) ②手动控制,可在现场操作箱面板上控制启停,也可在主控画面上进行启停。 2.2.4 UF反洗次氯酸钠投加计量泵(加药计量泵) 电机功率:0.75kw 控制方式: ①与储药罐液位计低液位联锁报警停车(低液位设为m) ②手动控制,可在现场操作箱面板上控制启停,也可在主控画面上进行启停。 2.3 仪表说明 1、UF入口总管压力变送器 数量:1台 输出:4~20mA信号 量程:0~1.0MPa

【免费下载】S7300指针类型与间接寻址

(2012-06-19 17:24:33)转板进行隔开处理;同一线槽内,强电回路须同时切断习题电源,线缆敷设完毕,要进行检查和检测处理。试人员,需要在事前掌握图纸资料、设备制造厂家出具高中资料试卷试验报告与相关技术资料,并且了解现场设备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。电机一变压器组在发生内部故障时,需要进行外部电源高中资料试卷切除从而采用高中资料试卷主要保护装置。

释为字或双字指针。完整的数据地址由地址标识符和指针构成,如下例所示。间接寻址的优点是能在程序执行期间动态修改指令的数据地址。 存储器间接寻址使用以下两部分地址: 1. 地址标识符 对于由位逻辑运算寻址的位,可分配地址标识符I 、Q 、M 、L 、DIX 或DBX 。 对于由装载指令寻址的字节、字和双字,可使用存储区I 、Q 、M 、L 、D 和PI ,分配IB 、IW 、ID 、DBB 、DBW 、DBD 、DIB 、DIW 、DID 、PIB 、PIW 、PID 等形式的地址标识符。 对于由传送指令寻址的字节、字和双字,可使用存储区I 、Q 、M 、L 、DB 、DI 和PQ ,分配IB 、IW 、ID 、DBB 、DBW 、DBD 、DIB 、DIW 、DID 、PQB 、PQW 、PQD 等形式的地址标识符。 要寻址定时器、计数器或块,可使用T 、C 、DB 、DI 、FB 、FC 形式的区域标识符。 2. 括在方括号"[ ]"内的字或双字指针的地址 字指针 - 含有定时器(T)、计数器(C)、数据块(DB 、DI)或逻辑块(FC 、FB)的标识号的字。字指针是十进制整数。 双字指针 - 指含有位、字节、字或双字的确切位置的双字。双字指针的格式为:P#字节.位。 指针必须存储在下列区域之一,才能进行存储器间接寻址: M - 位存储器 L - 本地数据 D - 数据块(DB 或DI) STAT 静态数据(不是用于具有多重实例能力的块的静态数据)注意如果要寻址使用存储器间接寻址的字节、字或双字,请确保指针的位号为双字格式0。字指针实例:L 5 //将指针值载入ACCU 1。T MW2 //将指针传送到MW2中。L T[MW2] //将5号定时器的当前时间值载入ACCU 1。L C[MW2] //将5号计数器的当前计数值载入ACCU 1。OPN DB[MW2] //将数据块DB5作为共享数据块打开。OPN DI[MW2] //将数据块DB5作为背景数据块打开。 双字指针实例: L P#8.7 //将指针值载入ACCU 1。 T MD2 //将指针传送到MD2中。 A I [MD2] //扫描输入位8.7的状态,并将其 = Q [MD2] //信号状态分配给输出位Q 8.7。 区域内寄存器间接寻址 使用区域内寄存器间接寻址的程序语句包含一条指令和以下组成部分:地址标识符[地址寄存器标识符,地址]。 区域内寄存器间接寻址使用以下两部分地址: 、管路敷设技术通过管线敷设技术,不仅可以解决吊顶层配置不规范问题,而且可保障各类管路习题到位。在管路敷设过程中,要加强看护关于管路高中资料试卷连接管口处理高中资料试卷弯扁度固定盒位置保护层防腐跨接地线弯曲半径标高等,要求技术交底。管线敷设技术中包含线槽、管架等多项方式,为解决高中语文电气课件中管壁薄、接口不严等问题,合理利用管线敷设技术。线缆敷设原则:在分线盒处,当不同电压回路交叉时,应采用金属隔板进行隔开处理;同一线槽内,强电回路须同时切断习题电源,线缆敷设完毕,要进行检查和检测处理。、电气课件中调试对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料试卷相互作用与相互关系,根据生产工艺高中资料试卷要求,对电气设备进行空载与带负荷下高中资料试卷调控试验;对设备进行调整使其在正常工况下与过度工作下都可以正常工作;对于继电保护进行整核对定值,审核与校对图纸,编写复杂设备与装置高中资料试卷调试方案,编写重要设备高中资料试卷试验方案以及系统启动方案;对整套启动过程中高中资料试卷电气设备进行调试工作并且进行过关运行高中资料试卷技术指导。对于调试过程中高中资料试卷技术问题,作为调试人员,需要在事前掌握图纸资料、设备制造厂家出具高中资料试卷试验报告与相关技术资料,并且了解现场设备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。、电气设备调试高中资料试卷技术电力保护装置调试技术,电力保护高中资料试卷配置技术是指机组在进行继电保护高中资料试卷总体配置时,需要在最大限度内来确保机组高中资料试卷安全,并且尽可能地缩小故障高中资料试卷破坏范围,或者对某些异常高中资料试卷工况进行自动处理,尤其要避免错误高中资料试卷保护装置动作,并且拒绝动作,来避免不必要高中资料试卷突然停机。因此,电力高中资料试卷保护装置调试技术,要求电力保护装置做到准确灵活。对于差动保护装置高中资料试卷调试技术是指发电机一变压器组在发生内部故障时,需要进行外部电源高中资料试卷切除从而采用高中资料试卷主要保护装置。

详解西门子间接寻址讲解案例分析

详解西门子间接寻址 等级:弓剑手 威望:0 发贴:116 经验:416 财产:407 魅力:411 注册:2005-5-21

【地址的概念】 完整的一条指令,应该包含指令符+操作数(当然不包括那些单指令,比如NOT等)。其中的操作数是指令要执行的目标,也就是指令要进行操作的地址。 我们知道,在PLC中划有各种用途的存储区,比如物理输入输出区P、映像输入区I、映像输出区Q、位存储区M、定时器T、计数器C、数据区DB和L等,同时我们还知道,每个区域可以用位(BIT)、字节(BYTE)、字(WORD)、双字(DWORD)来衡量,或者说来指定确切的大小。当然定时器T、计数器C不存在这种衡量体制,它们仅用位来衡量。由此我们可以得到,要描述一个地址,至少应该包含两个要素: 1、存储的区域 2、这个区域中具体的位置 比如:A 其中的A是指令符,是A的操作数,也就是地址。这个地址由两部分组成: Q:指的是映像输出区 :就是这个映像输出区第二个字节的第0位。 由此,我们得出,一个确切的地址组成应该是: 〖存储区符〗〖存储区尺寸符〗〖尺寸数值〗.〖位数值〗,例如:。 DB X 200 . 0 其中,我们又把〖存储区符〗〖存储区尺寸符〗这两个部分合称为:地址标识符。这样,一个确切的地址组成,又可以写成:地址标识符 + 确切的数值单元 【间接寻址的概念】 寻址,就是指定指令要进行操作的地址。给定指令操作的地址方法,就是寻址方法。在谈间接寻址之前,我们简单的了解一下直接寻址。所谓直接寻址,简单的说,就是直接给出指令的确切操作数,象上面所说的,A ,就是直接寻址,对于A这个指令来说,就是它要进行操作的地址。 这样看来,间接寻址就是间接的给出指令的确切操作数。对,就是这个概念。 比如:A Q[MD100] ,A T[DBW100]。程序语句中用方刮号 [ ] 标明的内容,间接的指明了指令要进行的地址,这两个语句中的MD100和DBW100称为指针Pointer,它指向它们其中包含的数值,才是指令真正要执行的地址区域的确切位置。间接由此得名。 西门子的间接寻址方式计有两大类型:存储器间接寻址和寄存器间接寻址。 【存储器间接寻址】 存储器间接寻址的地址给定格式是:地址标识符+指针。指针所指示存储单元中所包含的数值,就是地址的确切数值单元。 存储器间接寻址具有两个指针格式:单字和双字。 单字指针是一个16bit的结构,从0-15bit,指示一个从0-65535的数值,这个数值就是被寻址的存储区域的编号。 双字指针是一个32bit的结构,从0-2bit,共三位,按照8进制指示被寻址的位编号,也就是0-7;而从3-18bit,共16位,指示一个从0-65535的数值,这个数值就是被寻址的字节编号。 指针可以存放在M、DI、DB和L区域中,也就是说,可以用这些区域的内容来做指针。 单字指针和双字指针在使用上有很大区别。下面举例说明: L DW#16#35 BX[MD2] BX[MD2] BW[MD2] 这样的寻址是错误的提法,这里做个解释:DB[MW100].DBW[MD2] 这样的寻址结构就寻址原理来说,是可以理解的,但从SIEMENS 程序执行机理来看,是非法的。在实际程序中,对于这样的寻址,程序语句应该写成:OPN DB[WM100],L DBW[MD2]----------------- -

西门子PLC编程中的间接寻址

本栏论题:西门子PLC编程中的间接寻址[601] 1、地址的概念 我们知道,完整的一条指令,应该包含指令符+操作数(不包括那些单指令)。其中的操作数是指令要执行的目标,也就是指令要进行操作的地址。 在PLC中存在各种用途的存储区,比如物理输入输出区P、映像输入区I、映像输出区Q、位存储区M、定时器T、计数器C、资料区DB和L等,同时我们还知道,每个区域可以用位(BIT)、字节(BYTE)、字(WORD)、双字(DWORD)来衡量,或者说来指定确切的大小。当然定时器T、计数器C不存在这种衡量体制,它们仅用位来衡量。由此我们可以得到,要描述一个地址,至少应该包含两个要素: (1)、存储的区域 (2)、这个区域中具体的位置 比如:A Q2.0,其中的A是指令符,Q2.0是A的操作数,也就是地址。这个位址由两部分组成:Q:指的是映像输出区;2.0:就是这个映像输出区第二个字节的第0位。因此一个确切的地址组成应该是:〖存储区符〗〖存储区尺寸符〗〖尺寸数值〗.〖位数值〗,例如:DBX0.0。 其中,我们又把〖存储区符〗〖存储区尺寸符〗这两个部分合称为:地址标识符。这样,一个确切的地址组成,又可以写成:地址标识符+确切的数值单元 2、间接寻址的概念 寻址,就是指定指令要进行操作的地址。给定指令操作的位址方法,就是寻址方法。 所谓直接寻址,简单的说,就是直接给出指令的确切操作数,像上面所说的,A Q2.0,这样看来,间接寻址就是间接的给出指令的确切操作数。比如:A Q[MD0],A T[DBW4]。程序语句中用方刮号[]标明的内容,间接的指明了指令要进行的位址,这两个语句中的MD0和DBW4称为指针Pointer,它指向它们其中包含的数值,才是指令真正要执行的地址区域的确切位置。间接由此得名。 3、间接寻址的两种方法 西门子的间接寻址方式有两大类型:内存间接寻址和寄存器间接寻址。 (1)、内存间接寻址 内存间接寻址的地址给定格式是:地址标识符+指针。指针所指示存储单元中所包含的数值,就是地址的确切数值单元。 内存间接寻址具有两个指针格式:单字和双字。 单字指针是一个16bit的结构,从0-15bit,指示一个从0-65535的数值,这个数值就是被寻址的存储区域的编号。 双字指针是一个32bit的结构,从0-2bit,共三位,按照8进制指示被寻址的位编号,也就是0-7;而从3-18bit,共16位,指示一个从0-65535的数值,这个数值就是被寻址的字节编号。 指针可以存放在M、DI、DB和L区域中,也就是说,可以用这些区域的内容来做指针。 单字指针和双字指针在使用上有很大区别。单字指针只应用在地址标识符是非位的情况下。的确,单字指针前面描述过,它确定的数值是0-65535,而对于byte.bit这种具体位构来说,只能用双字指针。这是它们的第一个区别,单字指针的另外一个限制就是,它只能对T、C、DB、FC和FB进行寻址,通俗地说,单字指针只可以用来指代这些存储区域的编号。 相对于单字指针,双字指针就没有这样的限制,它不仅可以对位地址进行寻址,还可以对BYTE、WORD、DWORD寻址,并且没有区域的限制。不过,有得必有失。(在对非位的区域

GIS应用开发技术大作业

GIS应用开发技术大作业 :

GIS应用开发技术 一、地理信息系统基本概念: 地理信息系统是在计算机硬、软件系统支持下,对现实世界(资源与环境)的研究和变迁的各类空间数据及描述这些空间数据特性的属性进行采集、储存、管理、运算、分析、显示和描述的技术系统。 二、地理信息系统组成: 1、计算机硬件系统 计算机硬件系统是计算机系统中的实际物理装置的总称,可以是电子的、电的、磁的、机械的、光的元件或装置,是GIS的物理外壳。 2、计算机软件系统 计算机软件系统是指必需的各种程序。 3、系统开发、管理和使用人员 一个周密规划的地理信息系统项目应包括负责系统设计和执行的项目经理、信息管理的技术人员、系统用户化的应用工程师以及最终运行系统的用户。 4、空间数据 是指以地球表面空间位置为参照的自然、社会和人文经济景观数据,可以是图形、图像、文字、表格和数字等。它是由系统的建立者通过数字化仪、扫描仪、键盘、磁带机或其他系统通讯输入GIS,是系统程序作用的对象,是GIS所表达的现实世界经过模型抽象的实质性内容。 三、以Supermap Despro介绍地理信息系统主要功能: ①、应用系统开发 基于Supermap Despro软件平台开发GIS应用系统,主要专注于国土资源、电子政务和公共服务、房产管理、统计、军事与公安等领域的GIS应用系统开发,可以根据用户的需要开发其他领域的应用系统。可以直接为最终用户开发GIS应用系统,也可以与开发商和系统集成商合作为最终用户服务。与开发商和系统集成商合作的方式包括:直接参与项目开发、为用户定制专业GIS应用模块、提供成熟的行业应用源代码和解决方案。 ②、数据处理与建库 为用户提供地图数字化、遥感图像处理、电子地图制作、综合空间数据建库、各种数据格式的转换与编辑、各类工程项目用图的整体方案设计、图纸影像扫描和喷绘等服务。 ③、项目咨询 为用户基于Supermap Despro软件开发应用系统提供项目策划与规划、项目立项、项目总体设计、项目招投标和项目监理等技术的咨询服务。 四、GIS主流技术: Ⅰ、组件式GIS 组件式GIS的基本思想是把GIS的各大功能模块划分为几个控件,每个控件完成不同的功能。各个GIS控件之间,以及GIS控件与其它非GIS控件之间,可以方便地通过可视化的软件开发工具集成起来,形成最终的GIS应用。控件如同一堆各式各样的积木,他们分别实现不同的功能(包括GIS和非GIS功能),根据需要把实现各种功能的“积木”搭建起来,就构成应用系统。 GIS组件产品

西门子STL间接寻址常问问题集

1.1如何获得指针或者间接寻址有关的信息? 指针的类型包括16位指针、32位指针、Pointer(6Byte)和Any(10Byte)。16位指针用于定时器、计数器、程序块的寻址;32位指针用于I/Q/M/L/数据块等存储器中位、字节、字以及双字的寻址,其中第0~2位表示位地址(0~7)、第3~18位为字节地址,其余位未定义;Pointer和Any一般应用在复杂数据类型(比如Date_and_Time /Array/String等)在FB、FC之间的传递。而Any可以看做是对Pointer的延伸,因为由10Byte组成的Any中Byte4~Byte9就是一个Pointer。 了解指针的格式十分重要,为正确使用指针,应阅读如下内容: 1、"SIMATIC Programming with STEP 7 V5.5" 05/2010 第27.3.4章参数类型 2、文档:1008用于S7-300 和S7-400 的语句表(STL)编程 3、文档:F0215,S7-300和S7-400寻址 1.2为什么语句LAR1 P##PointerInput 在一个函数(FC)中是无效的,然而,同样的 语句在一个功能块(FB)中是有效的? 在FC被调用时,复杂数据类型例如指针是被复制到调用者的临时变量区中,在FC内部对此V区地址直接取址放入到地址寄存器AR1或AR2是不被编译器规则接受的(导致MC7寄存器信息过长),也就是说在FC内部通过P#进行地址寄存器取址仅能支持Temp临时变量。因此如果需要在FC中操作指针等复杂输入输出变量地址需要使用累加器进行中转。 考虑到程序的一致性、遵守编译器规则和STL手册中LAR1指令说明,建议用户使用如下指令操作: L P##PointerInput LAR1 1.3 STEP 7 中哪些操作会覆盖DB/DI寄存器或者地址寄存器AR1/AR2的内容? 下面说明了可能引起DB/DI寄存器或者地址寄存器AR1/AR2内容改变的一些操作: ?DB寄存器和AR1受到影响的操作 1. 使用完整的DB路径(如L DB20.Val)或者调用FC/FB时使用DB块完整地 址作为其参数,则DB寄存器内容被覆盖。 例如在OB1中调用FC1后,DB寄存器变成20。 OPN DB1 Call FC1 Input(bit):DB20.DBX0.2 因此在编程的时候,OPN 指令打开数据块,通过DBX x.y的方式访问其中内容,但是如果在打开数据块后DB寄存器的内容被修改了,则DBX x.y的方式访问变量则会访问到错误的地址。可以通过使用符号寻址的方式或者使用完整路径编程避免,当然重新使用OPN指令也是可以的。 2. 调用FC时使用string, array, structure ,UDT作为其形参或者调用FB时使用 string, array, structure 或者UDT作为其in out形参,在FC/FB程序中访问这些地

浅谈西门子PLC控制程序的保护

浅谈西门子PLC控制程序的保护 前言: 随着中国整体经济实力的加强,制造和加工工业正逐步向中国转移,这给中国国内工业装备市场带来了大量的商机,国内各行业的制造商开发和制造出大量价廉物美的设备,取得了良好的经济和社会效应。但是,也有小部分的制造商,由于其自身能力和客观因素的限制,无法及时开发出合适的产品,但利益的驱动使他们把目光瞄准了同行,抄袭和仿制同行开发成功的产品,更有甚者是整机拷贝或者克隆。由于现代工业设备大量采用PLC作为主控制系统,PLC作为整个设备的核心部件,其软件包涵了生产工艺,控制逻辑,设备数据,加工参数及信息通讯等重要内容,从而成为设备仿制者重点要获取的目标之一。纵观目前中国国内市场上应用的主流品牌PLC,虽然在设计上都采用了各种软硬件加密的手段,但破解者运用的破解手段也越来越先进,从最初的穷举法,端口侦听,软件跟踪,到现在可以通过直接复制提取内存芯片的内容来分析破解,更有甚者在互连网上公开讨论和传播破解方法和工具,因此所有产品无一例外地遭到了破解。这对中国众多的中小型OEM制造商来说是非常不利的,“我们几年的开发成果可能因此一夜之间付诸东流”当得知S7-200/300硬件加密也被破解后,一位OEM制造商无奈地说。由于仿制者的开发成本很低或几乎为零,因此开发者还没有来得及收回开发成本就陷入了低价竞争,这极大的影响了开发者开发新产品的积极性,对我国的装备工业的长远发展是十分有害的。 难道就这样束手无策,听任仿制者为所欲为了吗?答案是否定的,多年来一直关注和研究P LC控制程序保护方面的问题,笔者在实践中取得了一些经验和心得,在本文中愿意和同行们共同分享和讨论,大家共同为保护自己的劳动成果而努力。笔者多年来一直从事西门子S

西门子间接寻址详解

完整的一条指令,应该包含指令符+操作数(当然不包括那些单指令,比如NOT等)。其中的操作数是指令要执行的目标,也就是指令要进行操作的地址。 我们知道,在PLC中划有各种用途的存储区,比如物理输入输出区P、映像输入区I、映像输出区Q、位存储区M、定时器T、计数器C、数据区DB和L等,同时我们还知道,每个区域可以用位(BIT)、字节(BYTE)、字(WORD)、双字(DWORD)来衡量,或者说来指定确切的大小。当然定时器T、计数器C 不存在这种衡量体制,它们仅用位来衡量。由此我们可以得到,要描述一个地址,至少应该包含两个要素: 1、存储的区域 2、这个区域中具体的位置 比如:A Q2.0 其中的A是指令符,Q2.0是A的操作数,也就是地址。这个地址由两部分组成: Q:指的是映像输出区 2.0:就是这个映像输出区第二个字节的第0位。 由此,我们得出,一个确切的地址组成应该是: 〖存储区符〗〖存储区尺寸符〗〖尺寸数值〗.〖位数值〗,例如:DBX200.0。 DB X 200 . 0 其中,我们又把〖存储区符〗〖存储区尺寸符〗这两个部分合称为:地址标识符。这样,一个确切的地址组成,又可以写成: 地址标识符+ 确切的数值单元 【间接寻址的概念】 寻址,就是指定指令要进行操作的地址。给定指令操作的地址方法,就是寻址方法。 在谈间接寻址之前,我们简单的了解一下直接寻址。所谓直接寻址,简单的说,就是直接给出指令的确切操作数,象上面所说的,A Q2.0,就是直接寻址,对于A这个指令来说,Q2.0就是它要进行操作的地址。 这样看来,间接寻址就是间接的给出指令的确切操作数。对,就是这个概念。 比如:A Q[MD100] ,A T[DBW100]。程序语句中用方刮号[ ] 标明的内容,间接的指明了指令要进行的地址,这两个语句中的MD100和DBW100称为指针Pointer,它指向它们其中包含的数值,才是指令真正要执行的地址区域的确切位置。间接由此得名。

西门子PLC编程图文详解

第五章 PLC 的基本指令及程序设计 ■ 5.1 PLC 的基本逻辑指令及举例 ■ 5.2 程序控制指令 ■ 5.3 PLC 编程指导 ■ 5.4 典型的简单电路编程 ■ 5.5 PLC 程序简单设计法及应用举例第五章PLC

5.1 PLC的基本逻辑指令及举例 PLC的编程语言有梯形图语言、助记符语言、逻辑功能图语言和某些高级语言。其中前两种语言用的最多,要求掌握。 本章以S7-200CPU22*系列PLC的指令系统为对象,用举例的形式来说明PLC的基本指令系统,然后介绍常用典型电路及环节的编程,最后讲解PLC程序的简单设计法。 S7-200PLC用LAD编程时以每个独立的网络块(Network)为单位,所有的网络块组合在一起就是梯形图, 这也是S7-200PLC的特点。

梯形图语言编程主要特点及格式有以下几点: 1)梯形图按行从上至下编写,每一行从左至右顺序编写,BPPLC程序执行顺序与梯形图的编写顺序一致° 2)梯形图左、右边垂直线分别称为起始母线和终止母线。每一逻辑行必须从起始母线开始画起。(终止母线常可以省略) 3)梯形图中的触点有两种,即常开触点和常闭触点,这些触点可以是PLC的输入触点或输出继电器触点,也可以是内部继电器、定时器/计 数器的状态。与传统的继电器控制图一样,每一触点都有自己的特殊标记(编号),以示区别。同一标记的触点可以反复使用,次数不限。 这是因为每一触点的状态存入PLC内的存储单元中,可以反复读写。 传统继电器控制中的每个开关均对应一个物理实体,故使用次数有限。

这是PLC优于传统控制其中的一点o

详解西门子间接寻址完整版

详解西门子间接寻址 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

详解西门子间接寻址 【地址的概念】 完整的一条指令,应该包含指令符+操作数(当然不包括那些单指令,比如NOT 等)。其中的操作数是指令要执行的目标,也就是指令要进行操作的地址。 我们知道,在PLC中划有各种用途的存储区,比如物理输入输出区P、映像输入区I、映像输出区Q、位存储区M、定时器T、计数器C、数据区DB和L等,同时我们还知道,每个区域可以用位(BIT)、字节(BYTE)、字(WORD)、双字(DWORD)来衡量,或者说来指定确切的大小。当然定时器T、计数器C不存在这种衡量体制,它们仅用位来衡量。由此我们可以得到,要描述一个地址,至少应该包含两个要素: 1、存储的区域 2、这个区域中具体的位置 比如:A 其中的A是指令符,是A的操作数,也就是地址。这个地址由两部分组成: Q:指的是映像输出区 :就是这个映像输出区第二个字节的第0位。 由此,我们得出,一个确切的地址组成应该是: 〖存储区符〗〖存储区尺寸符〗〖尺寸数值〗.〖位数值〗,例如:。 DB X 200 . 0 其中,我们又把〖存储区符〗〖存储区尺寸符〗这两个部分合称为:地址标识符。这样,一个确切的地址组成,又可以写成: 地址标识符 + 确切的数值单元 【间接寻址的概念】 寻址,就是指定指令要进行操作的地址。给定指令操作的地址方法,就是寻址方法。 在谈间接寻址之前,我们简单的了解一下直接寻址。所谓直接寻址,简单的说,就是直接给出指令的确切操作数,象上面所说的,A ,就是直接寻址,对于A这个指令来说,就是它要进行操作的地址。 这样看来,间接寻址就是间接的给出指令的确切操作数。对,就是这个概念。 比如:A Q[MD100] ,A T[DBW100]。程序语句中用方刮号 [ ] 标明的内容,间接的指明了指令要进行的地址,这两个语句中的MD100和DBW100称为指针Pointer,它指向它们其中包含的数值,才是指令真正要执行的地址区域的确切位置。间接由此得名。 西门子的间接寻址方式计有两大类型:存储器间接寻址和寄存器间接寻址。 【存储器间接寻址】 存储器间接寻址的地址给定格式是:地址标识符+指针。指针所指示存储单元

西门子PLC程序指令注意点

PLC程序详解(图文并貌) 一、时间继电器: TON 使能=1计数,计数到设定值时(一直计数到32767),定时器位=1。使能=0复位(定时器位=0)。TOF 使能=1,定时器位=1,计数器复位(清零)。使能由1到0负跳变,计数器开始计数,到设定值时(停止计数),定时器位=0。如下图: 图1:使能=1时,TOF(T38)的触点动作图 图2:使能断开后,计数到设定值后,TOF(T38)的触点动作图(其中T38常开触点是在使能由1到0负跳变后计数器计时到设定值后变为0的) TONR 使能=1,计数器开始计数,计数到设定值时,计数器位=1。使能断开,计数器停止计数,计数器位仍为1,使能位再为1时,计数器在原来的计数基础上计数。

以上三种计数器可以通过复位指令复位。 正交计数器 A相超前B相90度,增计数 B相超前A相90度,减计数 当要改变计数方向时(增计数或减计数),只要A相和B相的接线交换一下就可以了。 二、译码指令和编码指令: 译码指令和编码指令执行结果如图所示: DECO是将VW2000的第十位置零(为十进制的1024),ENCO输入IN最低位为1的是第3位,把3写入VB10(二进制11)。 三、填表指令(ATT) S7-200填表指令(ATT)的使能端(EN)必须使用一个上升沿或下降沿指令(即在下图的I0.1后加一个上升沿或下降沿),若单纯使用一个常开触点,就会出现以下错误:

这一点在编程手册中也没有说明,需要注意。其他的表格指令也同样。 四、数据转换指令 使用数据转换指令时,一定要注意数据的范围,数据范围大的转换为数据范围小的发注意不要超过范围。如下图所示为数据的大小及其范围。 (1)BCD码转化为整数(BCD_I) 关于什么是BCD码,请参看《关于BCD码》。 BCD码转化为整数,我是这样理解的:把BCD码的数值看成为十进制数,然后把BCD到整数的转化看成是十进制数到十六进制数的转化。如下图所示,BCD码为54,转化为整数后为36。

详解西门子间接寻址 (2)

详解西门子间接寻址 【地址的概念】 完整的一条指令,应该包含指令符+操作数(当然不包括那些单指令,比如NOT 等)。其中的操作数是指令要执行的目标,也就是指令要进行操作的地址。 我们知道,在PLC中划有各种用途的存储区,比如物理输入输出区P、映像输入区I、映像输出区Q、位存储区M、定时器T、计数器C、数据区DB和L等,同时我们还知道,每个区域可以用位(BIT)、字节(BYTE)、字(WORD)、双字(DWORD)来衡量,或者说来指定确切的大小。当然定时器T、计数器C不存在这种衡量体制,它们仅用位来衡量。由此我们可以得到,要描述一个地址,至少应该包含两个要素: 1、存储的区域 2、这个区域中具体的位置 比如:A 其中的A是指令符,是A的操作数,也就是地址。这个地址由两部分组成: Q:指的是映像输出区 :就是这个映像输出区第二个字节的第0位。 由此,我们得出,一个确切的地址组成应该是: 〖存储区符〗〖存储区尺寸符〗〖尺寸数值〗.〖位数值〗,例如:。 DB X 200 . 0 其中,我们又把〖存储区符〗〖存储区尺寸符〗这两个部分合称为:地址标识符。这样,一个确切的地址组成,又可以写成: 地址标识符+ 确切的数值单元 【间接寻址的概念】 寻址,就是指定指令要进行操作的地址。给定指令操作的地址方法,就是寻址方法。 在谈间接寻址之前,我们简单的了解一下直接寻址。所谓直接寻址,简单的说,就是直接给出指令的确切操作数,象上面所说的,A ,就是直接寻址,对于A这个指令来说,就是它要进行操作的地址。 这样看来,间接寻址就是间接的给出指令的确切操作数。对,就是这个概念。 比如:A Q[MD100] ,A T[DBW100]。程序语句中用方刮号[ ] 标明的内容,间接的指明了指令要进行的地址,这两个语句中的MD100和DBW100称为指针Pointer,它指向它们其中包含的数值,才是指令真正要执行的地址区域的确切位置。间接由此得名。 西门子的间接寻址方式计有两大类型:存储器间接寻址和寄存器间接寻址。 【存储器间接寻址】

S7-200间接寻址解析

对指令的操作数的指定方式,我将其理解为“寻址”。 下面将以我个人的理解对西门子S7-200的寻址方式进行描述,如有不当之处,还请广大读者指正。 在程序中绝大部分的指令都带有操作数,所谓的操作数,是执行这一指令时被这一指令加以操作、处理的数值。对指令的操作数的指令方式大致的总结一下,可以概括为如下几个类型:1:指令的操作数为“立即数”,(如:15、16#F、2#1111等、、、、、、)。 LD M0.0 MOVW +255, VW0 +I +45, VW0 这是一条加法指令,被加数为:255、加数为45执行这条指令后计算出来的“和”存放在VW0这一存储器内。 LD M0.0 MOVB 15, VB0 这是一条传指令,译为:将15传送至存储器VB0内。 2:指令的操作数没有直接的给出,而是给出它所在的地址。 LD M0.0 MOVW VW0, VW4 -I VW2, VW4 这是一条减法指令,译为:将存储器VW0内的数值减去存储器VW2内的数值,将“差”存放在存储器VW4内。 3:指令的操作数没有直接的给出,而是给出它所在的地址的“地址”,在S7-200中,将这种寻址方式称之为“指针寻址”。 下面,我们一起来学习一下关于指针的使用方法: 在使用指针进行间接寻址的过程中,会涉及到的两个符号: &:建立指针(进行间接访问的区域) *:读取指针(读取指针间接指定的地址) 下面是使用指针的一般步骤: 1:建立指针 建立指针需要使用双字传送指令,如下所示: LD M0.0 MOVD &MB0, VD10 译为:在VD10建立指针,指针指向被间接访问的首地址MB0。 在建立指针时需要注意如下几个问题: ①可以进行间接访问的区域,包括如下几个区域:I、Q、M、S、V、T(当前值)、C(当前值)。在S7-200中位状态是不能进行间接指定的,所以这里特别强调只是访问定时器及计数器的当前值,而不是其位状态。 ②可以作为建立指针的区域,包括如下几个区域:V、L、及累加器AC1至AC3。且只能是双字(32bit)类型的地址。 ③在建立指针时在存储器前加“&”这个符号的表示进行间接访问的区域的首地址,所以除定时器T及计数器C外都必须是以字节的形式出现的。

西门子plc各部件结构及功能

西门子plc各部件结构及功能 西门子plc各部件结构及功能德产西门子PLC的类型繁多,功能和指令系统也不尽相同,但结构与工作原理则大同小异,通常由主机、输入/输出接口、电源扩展器接口和外部设备接口等几个主要部分组成。PLC的硬件系统结构如下图所示: 1、主机 主机部分包括中央处理器(CPU)、系统程序存储器和TK6100iv5用户程序及数据存储器。CPU是西门子PLC的核心,它用以运行用户程序、监控输入/输出接口状态、作出逻辑判断和进行数据处理,即读取输入变量、完成用户指令规定的各种操作,将结果送到输出端,并响应外部设备(如电脑、打印机等)的请求以及进行各种内部判断等。西门子PLC的内部存储器有两类,一类是系统程序存储器,主要存放系统管理和监控程序及对用户程序作编译处理的程序,系统程序已由厂家固定,用户不能更改;另一类是用户程序及数据存储器,主要存放用户编制的应用程序及各种暂存数据和中间结果。 2、输入/输出(I/O)接口 I/O接口是西门子PLC与输入/输出设备连接的部件。输入接口接受输入设备(如按钮、传感器、触点、行程开关等)的控制信号。输出接口是将主机经处理后的结果通过功放电路去驱动输出设备(如接触器、电磁阀、指示灯等)。I/O接口一般采用光电耦合电路,以减少电磁干扰,从而提高了可靠性。西门子plc的I/O点数即输入/输出端

子数是信捷PLC的一项主要技术指标,通常小型机有几十个点,中型机有几百个点,大型机将超过千点。 3、电源 图中电源是指为CPU、存储器、I/O接口等内部电子电路工作所配置的直流开关稳压电源,通常也为输入设备提供直流电源。 4、编程 编程是西门子PLC利用外部设备,用户用来输入、检查、修改、调试程序或监示PLC的工作情况。通过专用的PC/PPI电缆线将西门子PLC与电脑联接,并利用专用的软件进行电脑编程和监控。 5、输入/输出扩展单元 I/O扩展接口用于将扩充外部输入/输出端子数的扩展单元与基本单元(即主机)连接在一起。 6、外部设备接口 此接口可将打印机、条码扫描仪,变频器等外部设备与主机相联,以完成相应的操作。实验装置提供的主机型号有西门子S7-200系列的CPU224CN(AC/DC/RELAY)。输入点数为14,输出点数为10;CPU226CN(AC/DC/RELAY),输入点数为26,输出点数为14。 北京天拓四方科技有限公司

详解西门子间接寻址

详解西门子间接寻址 详解西门子间接寻址 【地址的概念】 完整的一条指令,应该包含指令符+操作数(当然不包括那些单指令,比如NOT等)。其中的操作数是指令要执行的目标,也就是指令要进行操作的地址。 我们知道,在PLC中划有各种用途的存储区,比如物理输入输出区P、映像输入区I、映像输出区Q、位存储区M、定时器T、计数器C、数据区DB和L等,同时我们还知道,每个区域可以用位(BIT)、字节(BYTE)、字(WORD)、双字(DWORD)来衡量,或者说来指定确切的大小。当然定时器T、计数器C不存在这种衡量体制,它们仅用位来衡量。由此我们可以得到,要描述一个地址,至少应该包含两个要素: 1、存储的区域 2、这个区域中具体的位置 比如:A Q2.0 其中的A是指令符,Q2.0是A的操作数,也就是地址。这个地址由两部分组成: Q:指的是映像输出区 2.0:就是这个映像输出区第二个字节的第0位。 由此,我们得出,一个确切的地址组成应该是: 〖存储区符〗〖存储区尺寸符〗〖尺寸数值〗.〖位数值〗,例如:DBX200.0。 DB X 200 . 0 其中,我们又把〖存储区符〗〖存储区尺寸符〗这两个部分合称为:地址标识符。这样,一个确切的地址组成,又可以写成: 地址标识符+ 确切的数值单元 【间接寻址的概念】 寻址,就是指定指令要进行操作的地址。给定指令操作的地址方法,就是寻址方法。 在谈间接寻址之前,我们简单的了解一下直接寻址。所谓直接寻址,简单的说,就是直接给出指令的确切操作数,象上面所说的,A Q2.0,就是直接寻址,对于A这个指令来说,Q2.0就是它要进行操作的地址。 这样看来,间接寻址就是间接的给出指令的确切操作数。对,就是这个概念。 比如:A Q[MD100] ,A T[DBW100]。程序语句中用方刮号[ ] 标明的内容,间接的指明了指令要进行的地址,这两个语句中的MD100和DBW100称为指针Pointer,它指向它们其中包含的数值,才是指令真正要执行的地址区域的确切位置。间接由此得名。 西门子的间接寻址方式计有两大类型:存储器间接寻址和寄存器间接寻址。 【存储器间接寻址】 存储器间接寻址的地址给定格式是:地址标识符+指针。指针所指示存储单元中所包含的数值,就是地址的确切数值单元。 存储器间接寻址具有两个指针格式:单字和双字。 单字指针是一个16bit的结构,从0-15bit,指示一个从0-65535的数值,这个数值就是被寻址的存储区域的编号。 双字指针是一个32bit的结构,从0-2bit,共三位,按照8进制指示被寻址的位编号,也就是0-7;而从3-18bit,共16位,指示一个从0-65535的数值,这个数值就是被寻址的字节编号。 指针可以存放在M、DI、DB和L区域中,也就是说,可以用这些区域的内容来做指针。 单字指针和双字指针在使用上有很大区别。下面举例说明: L DW#16#35 //将32位16进制数35存入ACC1 T MD2 //这个值再存入MD2,这是个32位的位存储区域

DB块调用问题

DB块调用问题 【地址的概念】 完整的一条指令,应该包含指令符+操作数(当然不包括那些单指令,比如NOT等)。其中的操作数是指令要执行的目标,也就是指令要进行操作的地址。 我们知道,在PLC中划有各种用途的存储区,比如物理输入输出区P、映像输入区I、映像输出区Q、位存储区M、定时器T、计数器C、数据区DB和L等,同时我们还知道,每个区域可以用位(BIT)、字节(BYTE)、字(WORD)、双字(DWORD)来衡量,或者说来指定确切的大小。当然定时器T、计数器C不存在这种衡量体制,它们仅用位来衡量。由此我们可以得到,要描述一个地址,至少应该包含两个要素: 1、存储的区域 2、这个区域中具体的位置 比如:A Q2.0 其中的A是指令符,Q2.0是A的操作数,也就是地址。这个地址由两部分组成: Q:指的是映像输出区 2.0:就是这个映像输出区第二个字节的第0位。 由此,我们得出,一个确切的地址组成应该是:

〖存储区符〗〖存储区尺寸符〗〖尺寸数值〗.〖位数值〗,例如:DBX200.0。 DB X 200 . 0 其中,我们又把〖存储区符〗〖存储区尺寸符〗这两个 部分合称为:地址标识符。这样,一个确切的地址组成,又可以写成: 地址标识符+ 确切的数值单元 【间接寻址的概念】 寻址,就是指定指令要进行操作的地址。给定指令操作的地址方法,就是寻址方法。 在谈间接寻址之前,我们简单的了解一下直接寻址。所谓直接寻址,简单的说,就是直接给出指令的确切操作数,象上面所说的,A Q2.0,就是直接寻址,对于A这个指令来说,Q2.0就是它要进行操作的地址。 这样看来,间接寻址就是间接的给出指令的确切操作数。对,就是这个概念。 比如:A Q[MD100] ,A T[DBW100]。程序语句中用方刮号[ ] 标明的内容,间接的指明了指令要进行的地址,这两个语句中的MD100和DBW100称为指针Pointer,它指 向它们其中包含的数值,才是指令真正要执行的地址区域的确切位置。间接由此得名。 西门子的间接寻址方式计有两大类型:存储器间接寻址

相关文档
最新文档