300PLC指针寻址说明

合集下载

S7-300系列PLC的寻址方式

S7-300系列PLC的寻址方式

个人收集整理-ZQ——指令及其结构和寻址方式指令是程序地最小独立单位,用户程序是由若干条顺序排列地指令构成地.对应语句表和梯形图两种编程语言,指令也有语句指令和梯形逻辑指令之分.它们地表达形式不同,但表达地内容是相同或类似地.文档收集自网络,仅用于个人学习一、指令地组成、语句指令一条指令由一个操作码和一个操作数组成,操作数由标识符和参数组成.操作码定义要执行地功能,它告诉该做什么;操作数为执行该操作所需要地信息,它告诉用什么去做.例如:文档收集自网络,仅用于个人学习是一条位逻辑操作指令,其中,“”是操作码,它表示执行“与”操作;“”是操作数,它指出这是对输入继电器进行地操作.文档收集自网络,仅用于个人学习有些语句指令不带操作数,它们操作地对象是唯一地,所以为方便起见,不再特别说明.例如:是对逻辑操作结果()取反.、梯形逻辑指令梯形逻辑指令用图形元素表示要完成地操作.在梯形逻辑指令中,其操作码是用图形元素表示地,该图形元素形象地表明做什么,其操作数地表示方法与语句指令相同.例如:文档收集自网络,仅用于个人学习-()该指令中地-()可认为是操作码,表示一个二进制赋值操作.是操作数,表示赋值地对象.梯形逻辑指令也可不带操作数.例如:―││―是对逻辑操作结果取反地操作.二、操作数在中,操作数可以是常数、状态字地状态位、各种寄存器、数据块()、功能块(和)、系统功能块(和)以及中地各存储单元. 文档收集自网络,仅用于个人学习三、寻址方式寻址方式是指指令如何得到操作数地各种方式,对于操作数,在指令中可以直接给出,也可以间接给出.有四种寻址方式:立即寻址、直接寻址、存储器间接寻址和寄存器间接寻址.文档收集自网络,仅用于个人学习立即寻址立即寻址地指令直接跟着它要操作地数值,或者操作数本身也可直接包含在指令中.立即寻址用于对常数或者常量地寻址.将置“”,是地缩写.文档收集自网络,仅用于个人学习将整数装入累加器中,是地缩写.、直接寻址直接寻址是对寄存器和存储器地直接寻址,直接寻址中转据给出操作数地存储单元地址.用于直接寻址地指令具有以下两部分地地址,它们指明指令将要处理地数值单元:地址标识符(如“”指输入字节)和地址标识符指明地在存储区域中确切地单元地址直接指向数值地单元.如:文档收集自网络,仅用于个人学习对输入位进行“与”逻辑操作.把输入字节地内容装入累加器.、存储器间接寻址个人收集整理-ZQ存储器间接寻址指令中地存储内容为操作数所在存储单元地地址,该地址也称为地址指针.用于存储器间接寻址地指令具有以下两部分地地址,它们指明指令将要处理地数值单元:地址标识符(如“”指输入字节)和以下指针之一:文档收集自网络,仅用于个人学习字:包含了定时器()、计数器()、数据块()、功能()、功能块()地编号.双字:包含了地址标识符指明地在存储区域中确切地数值单元地址,通过指针指明数值或编号地单元.字或双字应在位存储区()、背景数据块()、数据块()和局部数据()地区域之中.存储器间接寻址地好处是当程序执行时能动态地修改语句地地址.当用一个存放在数据块中地存储器间接寻址时,必须首先用打开数据块指令()打开数据块,这样就可以用字或双字作为一个间接地址,如:文档收集自网络,仅用于个人学习[]检测位地状态,地地址由地值决定.[]驱动位,地地地址由地值决定.上面程序中[]、[],像这种使用存储器给定地址地寻址方式,称为存储器间接寻址.[]、[]中地称为指针,其里面地数值代表地址.文档收集自网络,仅用于个人学习、地址寄存器间接寻址在用语句表编程时,有些间接寻址类型需要使用中地某些寄存器.中有两个地址寄存器和.地址寄存器地内容加上偏移量形成地址指针,该指针可以指向数据所在地存储单元.寄存器间接寻址分为区域内寄存器间接寻址和区域间寄存器间接寻址两种.如:文档收集自网络,仅用于个人学习区域内寻址://将装入累加器//将累加器地内容传送至地址寄存器[,] //对输入位进行“与”逻辑操作. =.文档收集自网络,仅用于个人学习[,] //赋值给输出位.. =.区域间寻址:.//将输入位地双字指针装入累加器//将累加器地内容传送至地址寄存器[,] //检测地状态. =.由于地址寄存器地值包含区域信息.文档收集自网络,仅用于个人学习[,] //赋值给输出位.. =.由于地址寄存器地值包含区域信息.文档收集自网络,仅用于个人学习如果操作数是字节、字或双字,使用地址寄存器间接寻址时,需要确保代表位地址地值为零,否则会出现寻址错误.文档收集自网络,仅用于个人学习。

关于S7-300和400的指针寻址功能说明

关于S7-300和400的指针寻址功能说明

关于S7-300和400的指针寻址功能说明Addressing for S7-300 and S7-400SLC A&D CSSeptember, 20041西门⼦⾃动化与驱动产品的在线技术⽀持 (3)2如何获得西门⼦⾃动化与驱动产品的资料 (4)3需设备选型及订货 (4)4西门⼦技术⽀持热线 (4)5西门⼦⾃动化产品的其它⽹站 (5)6S7-300/S7-400 PLC相关⼿册 (5)7缩写词含义 (5)8如何使⽤STEP 7软件的在线帮助 (6)8.1查找某个关键字或功能 (6)8.2想了解某个FB/FC的功能及管脚的定义 (7)9S7-300/400系统存储区域 (9)10S7-300/400 PLC寻址⽅式 (10)10.1直接寻址 (10)10.2间接寻址 (11)10.3S7-300/400寻址⽅式图解 (11)11如何使⽤指针 (11)12在程序中如何进⾏间接寻址 (12)1西门⼦⾃动化与驱动产品的在线技术⽀持⾸先,建议您访问Siemens A&D的产品与技术⽀持⽹站http://www4.ad.siemens.de/,主页如下所⽰:请选择语⾔种类为English。

在主页的Product Support中选择您关⼼的产品或信息,或利⽤Search引擎直接输⼊关键字搜索。

您还可以访问西门⼦(中国)⾃动化与驱动集团的主页/doc/ae8228340.html,如下图所⽰。

该⽹站同样可以提供⼤量的产品和系统的信息。

2如何获得西门⼦⾃动化与驱动产品的资料⾸先,建议您通过Siemens A&D的⽹站搜索并下载。

您还可以致电010-********转3785 /3726索取资料。

另外,还有⼤量的⼿册可以通过分销商订购,和其它产品的订货⽅式⼀样。

3需设备选型及订货如需设备选型及订货,请联系西门⼦⾃动化与驱动的销售⼯程师或当地西门⼦分销商。

分销商联系⽅式可致电010-********获得。

西门子 S7-300的寻址方式

西门子 S7-300的寻址方式
2.直接寻址
在一条指令中,如果操作码后面的操作数是以操作数所在地址的形式出现的,这种指令的寻址方式就叫直接寻址。
如:MOVD VD400 VD500
功能:将VD400中的双字数据传给VD500
3.间接寻址
在一条指令中,如果操作码后面的操作数是以操作数所在地址的地址形式出现的,这种指令的寻址方式就叫间接寻址。
如:MOVD 2505 *VD500
*VD500是指存放2505的地址的地址。
如VD500中存放的是VB0,则VD0则是存放2505的地址。
该指令的功能:将十进制数2505传送给VD0地址中。
西门子 S7-300的寻址方式
S7-300编程语言的基本单位是语句,而语句的构成是指令,每条指令有两部分:一部分是操作码,另一部分是操作数。操作码是指出这条指令的功能是什么,操作数则指明了操作码所需要的数据所在。所谓寻址,就是寻找操作数的过程。S7-300 CPU的寻址分三种:立即寻址、直接寻址、间接寻址。
面的操作数就是操作码所需要的具体数据,这种指令的寻址方式就叫立即寻址。
如:在传送指令中:MOV IN OUT——操作码“MOV”指出该指令的功能把IN中的数据传送到OUT中,其中IN——源操作数,OUT——目标操作数。
若该指令为:MOVD 2505 VD500
功能:将十进制数2505传送到VD500中,这里2505就是源操作数。因这个操作数的数值已经在指令中了,不用再去寻找,这个操作数即立即数。这个寻址方式就是立即寻址方式。而目标操作数的数值在指令中并未给出,只给出了要传送到的地址VD500,这个操作数的寻址方式就是直接寻址。

300plcfind指令

300plcfind指令

300PLCFIND指令1. 指令概述300PLCFIND指令是一条在PLC(可编程逻辑控制器)中常用的指令,用于在PLC程序中查找指定的数据或条件。

该指令可以用于查找变量、位、字、数组等多种数据类型,并返回找到的数据的地址或索引。

2. 指令语法300PLCFIND指令的语法如下:300PLCFIND Source, Destination, Length [, StartIndex [, SearchType [, Address [, Bit]]]]其中,各参数的含义如下:•Source: 源数据,可以是变量、字、位、数组等。

•Destination: 目标数据,用于存储找到的数据的地址或索引。

•Length: 搜索的长度,即要搜索的数据的数量。

•StartIndex (可选): 搜索的起始索引,默认为0。

•SearchType (可选): 搜索的类型,可以是正向搜索(FORWARD)或反向搜索(BACKWARD),默认为正向搜索。

•Address (可选): 搜索的地址,用于指定搜索的地址范围,默认为全局地址范围。

•Bit (可选): 搜索的位,用于指定搜索的位,默认为0。

3. 指令功能300PLCFIND指令主要用于在PLC程序中查找指定的数据或条件。

它可以用于以下情况:•查找某个变量的值是否满足特定条件。

•查找某个字或位是否满足特定条件。

•查找某个数组中满足特定条件的元素。

通过使用300PLCFIND指令,可以快速定位和处理需要的数据,提高PLC程序的执行效率和可靠性。

4. 使用示例以下是一个使用300PLCFIND指令的示例:300PLCFIND Var1, FoundIndex, 10以上示例中,Var1是一个变量,FoundIndex是用于存储找到的数据的索引的变量,10表示要搜索的数据数量。

执行该指令后,PLC会在Var1中搜索满足条件的数据,并将找到的数据的索引存储到FoundIndex中。

S7-300和S7-400寻址

S7-300和S7-400寻址

S7-300和S7-400寻址Addressing for S7-300 and S7-400Single - FAQ Edition (2010年-9月)摘要本文对S7-300, S7-400 PLC编程过程中,所涉及的寻址方式方法,做了简单介绍及简单示例。

关键词STEP7, 编程,寻址,间接寻址,S7-300, S7-400Key Words STEP7, Programming, Addressing, Indirection addressing, S7-300,S7-400目录S7-300和S7-400寻址1.S7-300/400系统存储区域2.S7-300/400 PLC寻址方式2.1直接寻址2.1.1绝对地址:2.1.2符号寻址:2.2间接寻址2.2.1存储器间接寻址2.2.2寄存器间接寻址2.2.3 FB/FC的指针参数传递1 S7-300/400系统存储区域S7 CPU的系统存储区域分为下表中列出的地址区域。

在程序中可以根据相应的地址直接读取数据。

►16位指针:16位地址指针用于定时器、计数器、程序块(DB、FC、FB)的寻址,16位指针被看作一个无符号整数(0~65535),它表示定时器(T)、计数器(C)、数据块(DB、DI)或程序块(FB、FC)的号,16位指针的格式如下:图1寻址格式表示为:区域标识符[ 16位地址指针]例如使一个计数器向上计数表示为:CU C [ MW ]上述指令中,’C’为区域标识符,而’MW20’为一个16位指针。

16位指针存储器间接寻址举例://用于定时器L 1T MW0 //将1传送到MW0A I0.0 //如果I0.0 = TrueL S5T#10SSD T[MW0] //T1开始计时// 上述指令可等同于:A I0.0L S5T#10SSD T1//用于打开DB块L 20T LW20OPN DB[LW20] //打开DB20//程序调用L 2T LW20UC FC[LW20] //调用FC2L 41T DBW30UC FB[DBW30] //调用FB41►32位指针:32位地址指针用于I、Q、M、L、数据块等存储器中位、字节、字及双字的寻址,32位的地址指针可以使用一个双字表示,第0位~第2位作为寻址操作的位地址,第3位~第18位作为寻址操作的字节地址,第19位~第31位没有定义,32位指针的格式如下:图 2存储器32指针仅用于内部区域寻址。

90%的工程师,对PLC指针类型与间接寻址无从下手

90%的工程师,对PLC指针类型与间接寻址无从下手

90%的工程师,对PLC指针类型与间接寻址无从下手在西门子S7-300和S7-400的编程中经常需要调用一些系统功能或功能块,在输入参数时经常碰到有指针类型的参数,那么你对指针类型了解吗?我第一次接触指针一词是在学习C语言的时候,指针和链表是C语言中的一个重点难点。

在C语言中,指针即存储器地址,在西门子PLC中的指针也是指地址。

下面看看西门子POINTER类型的结构:参数类型POINTER存储下列信息:•DB编号(或0,如果数据没有存储在DB中)•CPU中的存储区域(下表给出了参数类型POINTER存储器区的十六进制代码)数据的地址(格式为字节.位)STEP 7提供指针格式:p#memory_area byte.bit_address. (如果形式参数被声明为参数类型POINTER,只需要指出存储区域和地址。

STEP 7将自动地重定输入指针的格式。

) 下面的实例说明如何为以M50.0开始的数据输入参数类型POINTER:P#M50.0存储器间接寻址:使用存储器间接寻址的程序语句包含一条指令,后面跟有[地址]标识符,最后是一个(地址必须括在方括号内)。

根据所用的地址标识符,该指令会将存储于指定地址的数据解释为字或双字指针。

完整的数据地址由地址标识符和指针构成,如下例所示。

间接寻址的优点是能在程序执行期间动态修改指令的数据地址。

存储器间接寻址使用以下两部分地址: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等形式的地址标识符。

S7-300系统存储区和寻址方式介绍

S7-300系统存储区和寻址方式介绍S7的系统存储区集成在CPU中,不能被扩展。

系统存储区根据功能分为不同的区域供用户使用。

系统存储区:输入过程暂存区(I)输出过程暂存区(Q)位存储区(M)外部输入输出(PI/PQ)计时器(T)计数器(C)数据块(DB)局部数据(L)绝对地址寻址:位寻址:位寻址是最小存储单元的寻址方式。

寻址时,采用以下结构:存储区关键字+字节地址+位地址:例如:Q 10.3Q:表示输出过程暂存区;10:表示第十个字节;字节地址从0开始,最大值由该存储区的大小决定;3:表示位地址为3,位地址的取值范围是0~7。

字节寻址:字节寻址时,访问一个8位的存储区域。

寻址时,采用以下结构进行寻址:存储区关键字+字节的关键字(B)+字节地址例如:MB0M:表示位存储区B:表示字节byte0:表示第0个字节。

其中最低位的位地址为M0.0,最高位的为M0.7字寻址:字寻址时,访问一个16位的存储区域,包含两个字节。

寻址时采用以下结构:存储区关键字+字的关键字(W)+第一字节地址例如:IW10I:表示输入过程暂存区W:表示字word10:表示从第10个字节开始,包括两个字节的存储空间,即IB10和IB11。

双字寻址:双字寻址时,访问一个32位的存储区域,包含4个字节。

寻址时采用以下结构:存储区关键字+字的关键字(D)+第一字节地址例如:LD20L:表示局部数据暂存区D:表示字双word20:表示从第20个字节开始,包括4个字节的存储空间。

包括LB20、LB21、LB22和LB23四个字节符号地址寻址STEP7中的符号寻址是先给需要使用的绝对地址或参数变量定义符号,然后在程序中使用所定义好的符号进行编程寻址STEP7中可以定义的符号有两种:全局符号局部符号全局符号:在符号编辑器中定义适用于所有的程序块以双引号表示局部符号:在块中的变量申明表中定义所定符号只在本程序块中有效符号前加#号表示。

西门子S7-300寻址方式

1.直接地址:例如I0.0,Q1.7,PIW256,PQW512,MD20,T15,C16,DB1.DBB10,L10.0等2.符号寻址:例如qq,ww.aa等二者的详细描述参见下文:1.1间接寻址1.存储器间接寻址:16位指针,例如OPN DB[MW2]32位指针,例如A I[MD0]2.寄存器间接寻址:32位指针,例如A I[AR1,P#0.0],A [AR1,P#0.0]1.2S7-300/400寻址方式图解2如何使用指针指针用来指向一个地址。

使用这种寻址方式的优点在于可以在程序运行过程中实现变址。

指针用于存储器间接寻址程序中用于存储器间接寻址的语句包含一个指令、一个地址标识符、以及一个偏移量(偏移量必须在方括号内给出)。

下面给出一个双字格式的指针的例子:L P#8.7 把指针值装载到累加器1T I[MD2] 把指针值传送到MD2A I[MD2] 查询I8.7的信号状态= Q[MD2] 给输出位Q8.7赋值存储区域内部寻址及交叉寻址程序中采用这些寻址方式的语句包含一个指令以及下列内容:地址标识符、地址寄存器标识符、偏移量。

地址寄存器(AR1、AR2)及偏移量必须写在方括号内。

存储区域内部寻址例程指针不包含指示存储区域的信息:L P#8.7 把指针值装载到累加器1LAR1 把指针从累加器1装载到AR1A I[AR1,P#0.0] 查询I8.7的信号状态= Q[AR1,P#1.1] 给输出位Q10.0赋值偏移量0.0不起作用。

输出Q10.0 等于8.7 (AR1) 加偏移量1.1。

结果是10.0 ,而不是9.8,参见指针格式。

存储区域交叉寻址例程在存储区域交叉寻址中,指针中包含指示存储区域的信息(例子中为 I 和 Q)。

L P#I8.7 把指针值及存储区域标识装载到累加器1LAR1 把存储区域I 和地址8.7装载到AR1L P#Q8.7 把指针值和地址标识符装载到累加器1LAR2 把存储区域Q和地址8.7装载到AR2A [AR1,P#0.0] 查询输入位I8.7的信号状态= [AR2,P#1.1] 给输出位Q10.0赋值偏移量0.0不起作用。

PLC-5N 第三章 S7-300PLC 第2节 存储区分布与寻址

先打开后访问时,先用数块打开指令打开要 访问的DBn,然后可直接采用DBXm1.m2、 DBBm、DBWm、DBDm的直接地址形式访问。
DBX为数据块中数据位的标识,如寻址数据块 中某一位时采用DBXm1.m2形式,m1为字节地址, m2为位地址。
DBB为数据块中的数据字节,字节寻址为DBBm, m为字节地址。
A I[MD2] //对输入位I2.3进行与操作
= Q[MD2] //结果输出至Q2.3
(注:P#2.3 为2#0000 0000 0000 0000 0000
0000 0001 0011)
4、地址寄存器间接寻址 地址寄存器间接寻址是使用地址寄存器AR1和AR2
对存储区寻址,分为区域内寄存器间接寻址和区域 间寄存器间接寻址,由地址寄存器的第31位来区分。 区域内寄存器间接寻址:第31位=0。 区域间寄存器间接寻址:第31位=1。此时还需使用 地址寄存器第26、25和24位来存储区域标识码。 000 — P区; 001 — I区; 010 — Q区; 011 — M区; 100 — DBX(共享数据块,全局); 101 — DIX(背景数据块,全局); 110 — L区(本地数据,局域);
L IB0 //将IB0的内容装入运算累加器 1(ACCU1)
L MW64 //将MW64的内容装入ACCU1 = Q0.0 //将RLO的内容赋给Q0.0 S M1.0 //M1.0置1 T DBD12 //将ACCU1中的内容传送至
DBD12中
3、存储器间接寻址
存储器间接寻址就是以存储器的内容作为地址, 通过这个地址间接找到操作数。
6、定时、计数器存储区寻址
依CPU型号不同,一般有256~2048个定时器, 256~2048个计数器。定时器标识符为T,计数 器标识符为C。如:T0、T5,C0、C13等。

S7-300和S7-400寻址

S7-300和S7-400寻址 Addressing for S7-300 and S7-400摘要本文对S7-300, S7-400 PLC编程过程中,所涉及的寻址方式方法,做了简单介绍及简单示例。

关键词STEP7, 编程,寻址,间接寻址,S7-300, S7-400Key Words STEP7, Programming, Addressing, Indirection addressing, S7-300,S7-400IA&DT Service & Support Page 2-22目录S7-300和S7-400寻址 11.S7-300/400系统存储区域 42. S7-300/400 PLC寻址方式 52.1直接寻址52.1.1绝对地址:52.1.2符号寻址:52.2间接寻址62.2.1存储器间接寻址62.2.2寄存器间接寻址92.2.3 FB/FC的指针参数传递12IA&DT Service & Support Page 3-221 S7-300/400系统存储区域S7 CPU的系统存储区域分为下表中列出的地址区域。

在程序中可以根据相应的地址直接读取数据。

地址区域可以访问的地址单位S7符号(IEC)描述输入(位)I输入(字节)IB输入(字)IW 过程映像输入表输入(双字)ID 循环扫描周期开始时,CPU从输入模板读输入值并记录到该区域输出(位)Q输出(字节)QB输出(字)QW 过程映像输出表输出(双字)QD 在循环扫描周期中,程序计算输出值并记录到该区域。

循环扫描周期结束时,CPU将计算结果写入相应的输出模板存储器(位)M存储器(字节)MB存储器(字)MW位存储器存储器(双字)MD该区域用于存储程序的中间计算结果定时器定时器 (T) T 该区域提供定时器的存储计数器计数器 (C) C 该区域提供计数器的存储数据块,用"OPN DB"打开DB数据位DBX数据字节DBB数据字DBW数据双字DBD数据块,用"OPN DI"打开DI数据位DIX数据字节DIB 数据块数据字DIW 数据块中包含了程序的信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

L #db_no<BR> T LW 0<BR> OPN DB [LW 0]<BR> L #piw_ad dr<BR> SLD 3<BR> T LD 4<BR> L #dbw_addr<BR> SLD 3 <BR> T LD 8<BR> L #db_len<BR>next: T LW 0<BR> L L D 4<BR> LAR1 <BR> L PIW [AR1,P#0.0]<BR> T LW 12<BR> L LD 8<BR> LAR1 <BR> L LW 12<BR> T DBW [AR1,P# 0.0]<BR> L LD 4<BR> + L#16<BR> T LD 4<BR> L LD 8<BR> + L#16<BR> T LD 8<BR> L LW 0<BR> LOOP next<BR>这是一段采样程序,我看的不很明白,想请大家给详细的解释一下,那个SLD指令和loop循环指令这里不明白?顺便问一下哪里有STL编程指令的中文版资料啊
产品版区:SIMATIC S7-300/400悬赏分:10 | 解决时间:2010-05-04 14:54:39 | 提问者:wanzhener - 学长第2级
问题ID:51733
最佳答案
L #db_no //装载数据块号
T LW 0 //将数据库号传送给本地变量LW0
OPN DB [LW 0] //打开该数据块
L #piw_addr //将外部地址piw_addr传送给accum1
SLD 3 //将该地址左移三位,目的形成地址指针,因为32位地址寻址,低三位保留给位寻址
T LD 4 //将该地址传给本地变量LD4
L #dbw_addr //装载数据库字节寻址地址
SLD 3 //将该地址左移三位,目的形成地址指针,因为32位地址寻址,低三位保留给位寻址
T LD 8 //将该地址传给本地变量LD8
L #db_len //装载数据块的长度,作为循环的次数
next: T LW 0 //将循环次数传给本地变量LW0
L LD 4 //传送LD4到accum1
LAR1 //传送LD4到地址寄存器AR1
L PIW [AR1,P#0.0] //传送外部输入PIWx到accum1其中x=LD4+0.0=LD4 T LW 12 //将PIWx保存到LD12中
L LD 8 //装载LD8,即数据块中的地址
LAR1 //将数据块中地址传给AR1
L LW 12 //取回保存在LD12中的PIWx的值
T DBW [AR1,P#0.0] //将取回的PIWx的值传送给数据块中的相应的地址
(为字单位)
L LD 4 //装载LD4
+ L#16 //将LD4地址+16,即形成下一个外部输入地址(与上一个地址间隔一个字,即16位)
T LD 4 //再次保存到LD4中,形成新的外部读入PIW地址
L LD 8 //装载数据块中地址
+ L#16 //将数据块中的地址+16,即对应下一个字地址,以便保存相应地址的PIW的值
T LD 8 //保存到LD8中使用
L LW 0 //循环次数减1后保存到accum1中,检查accum1是否为0,若是中断循环,否,继续循环。

LOOP next
这是一个典型的读入PLC外部模拟量通道的值保存到相应数据块的程序。

其中主要使用的是32位内部指针寻址,而读入的数据为16位字格式。

再一个注意是loop指令判断的是accum1低字节中的值是否为0为依据。

一定要将循环数装载到accum1中才行。

STL资料已经发给你了,请查收。

回答者:daliu - 初级工程师第9级2010-05-。

相关文档
最新文档