STEP 7 指针编程

合集下载

step7编程语言与指令

step7编程语言与指令

S7-300/400的编程语言与指令系统3.1 S7-300/400的编程语言3.1.1 PLC 编程语言的国际标准IEC 61131是PLC 的国际标准,1992~1995年发布了IEC 61131标准中的1~4部分,我国在1995年11月发布了GB/T 15969-1/2/3/4(等同于IEC 61131-1/2/3/4)。

IEC 61131-3广泛地应用PLC 、DCS 和工控机、 “软件PLC ”、数控系统、RTU 等产品。

定义了5种编程语言1) 指令表IL(Instruction list):西门子称为语句表STL 。

2) 结构文本ST(Structured text):西门子称为结构化控制语言(SCL )。

3) 梯形图LD(Ladder diagram):西门子简称为LAD 。

4) 功能块图FBD (Function block diagram):标准中称为功能方框图语言。

5) 顺序功能图SFC(Sequential function chart):对应于西门子的S7 Graph 。

ͼ3-1 PLCµÄ±à³ÌÓïÑÔ˳Ðò¹¦ÄÜͼÌÝÐÎͼ¹¦ÄÜ¿éͼָÁî±í½á¹Îı¾3.1.2 STEP 7中的编程语言梯形图、语句表和功能块图是3种基本编程语言,可以相互转换。

1.顺序功能图(SFC) :STEP 7中的S7 Graph2.梯形图(LAD)直观易懂,适合于数字量逻辑控制。

STEP7 指针编程(崔坚(36))

STEP7 指针编程(崔坚(36))

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 40.0
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.
//指针指向P#2.4,相当于L DBB2.4,CPU无法识别,将停机。
如果对相邻两个字节操作,指针转换为整数值最小必须为8(指针为 P#1.0)的倍数,如果对 相邻两个字操作,指针转换为整数值最小必须为16(指针为P#2.0)的 倍数,,如果对相邻
两个双字操作,指针转换为整数值最小必须为32(指针为P#4.0)的倍 数,对字与双字指针
寄存器间接寻址
地址寄存器AR1、AR2的限制
寄存器间接寻址
避免方法:
L #ARR_TEST[1]
//装载形参变量ARR_TEST[1 1
//打开OB1
LAR1 P#20.0
//将P#20.0装载到地址寄存器AR1

step7编程的地址概念详解及示例

step7编程的地址概念详解及示例

标签:无‎标签s‎t ep7编‎程的地址概‎念详解及示‎例完整的‎一条指令,‎应该包含指‎令符+操作‎数(当然不‎包括那些单‎指令,比如‎N OT 等)‎。

其中的操‎作数是指令‎要执行的目‎标,也就是‎指令要进行‎操作的地址‎。

‎我‎们知道,在‎P LC中划‎有各种用途‎的存储区,‎比如物理输‎入输出区P‎、映像输入‎区I、映像‎输出区Q、‎位存储区M‎、定时器T‎、计数器C‎、数据区D‎B和L等,‎同时我们还‎知道,每个‎区域可以用‎位(BIT‎)、字节(‎B YTE)‎、字(WO‎R D)、双‎字(DWO‎R D)来衡‎量,或者说‎来指定确切‎的大小。

当‎然定时器T‎、计数器C‎不存在这种‎衡量体制,‎它们仅用位‎来衡量。

由‎此我们可以‎得到,要描‎述一个地址‎,至少应该‎包含两个要‎素:‎‎1、存储的‎区域‎‎2、这个区‎域中具体的‎位置‎‎比如:A ‎Q2.0 ‎‎其中的‎A是指令符‎,Q2.0‎是A的操作‎数,也就是‎地址。

这个‎地址由两部‎分组成:‎‎Q:指‎的是映像输‎出区‎‎2.0:就‎是这个映像‎输出区第二‎个字节的第‎0位。

‎‎由此,我‎们得出,‎一个确切的‎地址组成应‎该是:‎‎〖存储区‎符〗〖存储‎区尺寸符〗‎〖尺寸数值‎〗.〖位数‎值〗,例如‎:DBX2‎00.0。

‎‎DB‎X 20‎0 . 0‎‎其中‎,我们又把‎〖存储区符‎〗〖存储区‎尺寸符〗这‎两个部分合‎称为:地址‎标识符。

这‎样,一个确‎切的地址组‎成,又可以‎写成:‎‎地址标识‎符 + 确‎切的数值单‎元‎‎‎【间接‎寻址的概念‎】‎寻‎址,就是指‎定指令要进‎行操作的地‎址。

给定指‎令操作的地‎址方法,就‎是寻址方法‎。

‎在‎谈间接寻址‎之前,我们‎简单的了解‎一下直接寻‎址。

所谓直‎接寻址,简‎单的说,就‎是直接给出‎指令的确切‎操作数,象‎上面所说的‎,A Q2‎.0,就是‎直接寻址,‎对于A这个‎指令来说,‎Q2.0就‎是它要进行‎操作的地址‎。

第三章 STEP7编程技术

第三章 STEP7编程技术

一、步进电机的分类、基本结构和工作原理


步进电机的分类 1.永磁式步进电机 2.反应式步进电机 3.混合式步进电机 步进电机的基本结构和工作原理
步进电机的分类



1.永磁式步进电机一般为两相,转矩和体积较小, 步进角一般为7.5度或15度。 2.反应式步进电机一般为三相,可实现大转矩输 出,步进角一般为1.5度,但噪声和振动都很大。 3.混合式步进电机是指混合了永磁式和反应式的 优点。它又分为两相和五相。两相步进角一般分 为1.8度而五相步进角一般为 0.72度。这种步进 电机的应用最为广泛。
采用西门子S7-300PLC控制三相步进电机的过程

三相双三拍正向的时序图如图所示
采用西门子S7-300PLC控制三相步进电机的过程

三相单六拍正向时序图如图所示
PLC直接控制步进电机

编程方法 1.使用定时器指令实现各种时序脉冲的 要求:使用定器产生不同工作方式下的工 作脉冲,然后按照控制开关状态输出到各 相对应的输出点控制步进电机。
1.硬件设置

(2)双击SIMATIC 300 Station下的 hardware进入硬件组态工具软件进行硬 件设置如图所示。
步进电机的基本结构和工作原理

三相反应式步进电机 的结构如图所示 定子、转子是用硅钢 片或其他软磁材料制 成的。定子的每对极 上都绕有一对绕组, 构成一相绕组,共三 相称为A、B、C三相。
步进电机的基本结构和工作原理

在定子磁极和转子上都开有齿分度相同的 小齿,采用适当的齿数配合,当A相磁极 的小齿与转子小齿一一对应时,B相磁极 的小齿与转子小齿相互错开1/3齿距,C相 则错开2/3齿距。如图所示

STEP7编址详解

STEP7编址详解

完整的一条指令,应该包含指令符+操作数(当然不包括那些单指令,比如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。

其中,我们又把〖存储区符〗〖存储区尺寸符〗这两个部分合称为:地址标识符。

这样,一个确切的地址组成,又可以写成:地址标识符+ 确切的数值单元【间接寻址的概念】寻址,就是指定指令要进行操作的地址。

给定指令操作的地址方法,就是寻址方法。

在谈间接寻址之前,我们简单的了解一下直接寻址。

所谓直接寻址,简单的说,就是直接给出指令的确切操作数,像上面所说的,A Q2.0,就是直接寻址,对于A这个指令来说,Q2.0就是它要进行操作的地址。

这样看来,间接寻址就是间接的给出指令的确切操作数。

对,就是这个概念。

比如:A Q[MD100] ,A T[DBW100]。

程序语句中用方括号[ ] 标明的内容,间接的指明了指令要进行的地址,这两个语句中的MD100和DBW100称为指针Pointer,它指向它们其中包含的数值,才是指令真正要执行的地址区域的确切位置。

间接由此得名。

西门子的间接寻址方式有两大类型:存储器间接寻址和寄存器间接寻址。

step7编程语言与指令

step7编程语言与指令

S7-300/400得编程语言与指令系统3、1 S7-300/400得编程语言3、1、1 PLC编程语言得国际标准IEC 61131就是PLC得国际标准,1992~1995年发布了IEC 61131标准中得1~4部分,我国在1995年11月发布了GB/T15969-1/2/3/4(等同于IEC 61131-1/2/3/4)。

IEC 61131-3广泛地应用PLC、DCS与工控机、“软件PLC”、数控系统、RTU等产品。

定义了5种编程语言1) 指令表IL(Instruction list):西门子称为语句表STL。

2) 结构文本ST(Structured text):西门子称为结构化控制语言(SCL)。

3) 梯形图LD(Ladder diagram):西门子简称为LAD。

4)功能块图FBD (Function block diagram):标准中称为功能方框图语言。

5)顺序功能图SFC(Sequential function chart):对应于西门子得S7 Gra ph。

3、1、2 STEP 7中得编程语言梯形图、语句表与功能块图就是3种基本编程语言,可以相互转换。

ﻩ1.顺序功能图(SFC) :STEP 7中得S7 Graph2.梯形图(LAD)直观易懂,适合于数字量逻辑控制。

“能流”(Power flow)与程序执行得方向。

3、语句表(STL):功能比梯形图或功能块图强。

4.功能块图(FBD):“LOGO!”系列微型PLC使用功能块图编程。

5.结构文本(ST):STEP 7得S7SCL(结构化控制语言)符合EN 61131-3标准。

SCL适合于复杂得公式计算、复杂得计算任务与最优化算法,或管理大量得数据等。

6.S7 HiGraph 编程语言图形编程语言S7 HiGraph 属于可选软件包,它用状态图(state graphs)来描述异步、非顺序过程得编程语言。

7.S7 CFC 编程语言可选软件包CFC(Continuous Function Chart,连续功能图)用图形方式连接程序库中以块得形式提供得各种功能。

西门子STEP7图解编程、调试步骤

西门子STEP7图解编程、调试步骤

1.打开SIMATIC STEP7。

2.新建一个工程项目3.项目定义名字后,点击OK4.硬件配置,(以CPU为S7-400为例)5.打开硬件组态6.根据实际基架型号选择基架,并双击7.选择电源:8.选择CPU9.选择数字量输入模板:10.选择数字量输出模板11.选择模拟量输入模板12.选择模拟量输出模板13.硬件配置保存并编译这样就完成了硬件配置。

配置完成后回到主界面,就可以在CPU中的BLOCK进行软件编程了。

14.根据需要插入中断组织块:在属性窗口中可以定义OB的绝对地址以及符号地址,还可以对组织块的功能加以简单注释等。

也可以在此处选择该OB所用编程语言的种类。

15.新建数据块:16.打开DB,定义该数据块的地址结构:在数据块中可以定义数据的符号名,定义数据类型,定义数据注释。

17.建立符号表18.新建功能:在下面的FC属性窗口中可以定义FC的绝对地址以及符号地址,还可以对功能块的功能加以简单注释等。

也可以在此处选择该功能所用编程语言的种类。

19在FC中进行软件编程:根据功能需要插入常开常闭触点,整/实型运算函数,延时器等。

新建NETWORK:20.保存FC100并在OB1中调用。

21.启动S7-PLCSIM进行仿真测试:22.将所有程序块下载到仿真器中:23.将仿真器CPU从STOP位置变换到RUN-P位置:24.打开OB1 进行监视。

25.打开FC100 进行监视。

26.强制信号:27.另外还可以通过变量表监视系统数据:输入要监视变量的绝对地址:。

step7编程语言

step7编程语言
SFTBLD语功句能表块包图含使S用TE不P同7 的指功令能,“可盒以”。自盒由中地的使符用号S表TL示编功程能。S对T(例其E如P他:7编&程编指语程“言与熟”语逻悉辑言的操程作序)。员即喜使欢一使个用过这程种工编程程师语一言样。的“非程序员”也可以使
用这种编程语言。功能块图在STEP 7 V3.0版本后提供。
• LAD(梯形图)
• FBD(功能块图) • STL(语句表)
选择编程语言
LAD/FBD => STL可以把图形化编程语言编写的程序转换成语句表。但是,应该知道这种转换在语句表中不是最有效的程序。
STL=>LAD/FBD 不是所有的语句表程序都能转换成LAD或 FBD。不能转换的程序仍用语句表显示。在转换中不会丢失程序。
目录 页
STEP 7编程语言 …………................................................................................................................. 2 启动LAD/STL/FBD 编辑器 ................................................................................................................. 3
编辑器
编程元件 当采用LAD和FBD编程语言时,可以用工具条插入简单的程序元件。
点击“程序元件”图标打开另一个包含更多程序元件的窗口。该窗口的内容根据所选择的编程语言(LAD/FBD/STL)而不同。
2x
SIMATIC S7
Siemens AG 2000. All rights reserved.

STEP7程序执行原理和编程方法S7系列学习3

STEP7程序执行原理和编程方法S7系列学习3

STEP7程序执行原理和编程方法 S7系列学习3 STEP7程序执行原理和编程方法 S7系列学习3今天我们来讲讲STEP7的编程方法,要讲编程方法,那么我们就要先来看看PLC的循环程序是如何执行的。

(这一点非常重要)1.循环程序如何执行西门子PLC程序执行图(建议保存)1.1在CPU上电之后,启动块OB100/101/102先启动一次。

(调用哪一个OB块由系统的启动模式配置决定)1.2启动块执行完毕后,系统的循环监视时间就被激活了(这个时间可以在STEP7的硬件配置中设置,如果循环时间超出则PLC停机)1.3之后,CPU会从输入模块及其它过程映象设备读取所有的输入状态1.4接着下来便到了主循环程序的执行1.4.1主循环执行也是按照语句顺序执行,如图所示,当OB1执行第一个语句CallFB,则此时程序进入所调用FB块顺序执行FB块的语句1.4.2若在所调用的FB块,在某一语句中执行了CallFB/FC,则程序又进入下一级的FC中依次执行块中语句,依此类推1.4.3当调用的下一级FC所有语句执行完成后,程序回到CallFC的这一语句,继续执行后面的语句1.4.4当所Call的FB也执行完成后,程序回到OB1的CallFB处,继续执行后面的语句。

1.4.5直至最后,完成OB1的所有程序,则主循环结束。

1.4.6在OB1执行的过程中,循环中断(如OB35)、故障中断(如OB86)等可以插入执行,执行完成后会回到中断的地方继续主循环的执行。

1.5主循环执行完成后,PLC将过程映象的输出写到输出模块1.6完成1.5的步骤之后一个完整的循环就结束了,此时跳至1.2步骤,重新开始新一循环的监视时间,如此周而复始。

2.程序块类型知道了PLC循环程序如何执行后,我们再来看一看STEP7的程序块有哪些类型2.1用户块用户块包括程序代码和用户数据。

在结构化程序中,一些块循环调用处理,一些块需要时才调用。

2.1.1组织块OB块构成了S7CPU和用户程序的接口。

第三章STEP7编程技术 看-

第三章STEP7编程技术 看-

位逻辑指令
■ 中间输出单元 ■ 信号流反向指令 ■ 复位线圈 ■ 置位线圈 ■ 复位置位触发器和置位复位触发器
位逻辑指令
■ 程序实例
■ 对应时序图如下所示:
■ 时序图
位逻辑指令
位逻辑指令 正跳沿(上升沿)检测指令
位逻辑指令 负跳沿(下降沿)检测指令
位逻辑指令
■ 地址正跳沿检测 ■ 地址负跳沿检测
OB122。
3.1.2功能FC和功能块FB
■ FC和FB都是用户自己编写的程序块, 用户可以将具有相同控制过程的 程序编写在FC或FB中, 然后在主程序OB1或其他程序块中(包括组织 块和功能、功能块)调用FC或FB。 FC或FB相当于子程序的功能, 都可 以定义自己的参数
1.FC和FB的变量声明表的 差别
STEP7中的数据可分为以下三大类: 基本数据类型 复合数据类型 参数数据类型
基本数据类型(一)
■ 位(BOOL) ■ 字节(BYTE) ■ 字(WORD) ■ 双字(DOUBLE WORD) ■ 整数(INT) ■ 双整数(DOUBLE INT) ■ 浮点数(REAL)
基本数据类型(二)
■ S5TIME(SIMATIC时间) ■ IEC时间(TIME) ■ IEC日期(date) ■ 日计时(TIME_OF_DAY) ■ 字符(CHAR)
3.3.2复杂数据类型
■ 日期时间数据类型( Data_And_Time ) ■ 字符串类型(String) ■ 数组类型Array ■ 结构(STRUCT) ■ 用户定义类型(UDT)
3.3.3参数数据类型
参数数据类型是一类用于功能FC或功能块 FB的数据类型,主要包括以下两种:
Pointe指针类型 6字节指针类型,传递数据块号和数据地

STEP7编程手册

STEP7编程手册

前言 目的本手册详细阐述了STEP 7进行编程,为安装和调试软件提供支持。

本手册解释了如何生成程序,并对用户程序组件作了说明。

本手册的使用对象是那些使用STEP 7和SIMATIC S7自控系统实现控制任务的人员。

我们建议你通过手册《STEP 7 V5.2使用入门》中的例子,来了解STEP 7。

这些例子对“使用STEP 7编程”的主题作了简单的介绍。

所需基本知识为了很好理解本手册,需要具有自动化技术的一般知识。

另外,还应熟悉安装有Windows 95/98/2000,MS Windows Millenium,MS Windows NT4.0工作站,MS Windows 2000专业板或MS Windows XP专业板操作系统的计算机或PC一类的工具的使用(例如编程器等)。

手册的应用范围本手册适用于STEP 7编程软件包V5.2版。

在服务包中可以得到最新信息:• 在“readme.wir”文件中• 在更新的STEP 7在线帮助中在在线帮助中的“What’s new?”主题中可以得到详细介绍,以及新板STEP 7的变化情况。

在线帮助集成在软件中的在线帮助是本手册的补充。

在线帮助的目的是为你提供详细的软件使用帮助。

帮助系统通过多个界面集成在软件中:• 在Help菜单中有多个菜单命令可以选择:使用“Contents(内容)”命令,可以打开Step 7的帮助索引。

• Using Help(使用帮助)提供有详细的在线帮助使用说明。

• 上下文相关帮助可以提供关于当前的文本信息,例如,一个打开的对话框或一个激活的窗口。

你可以通过点击“Help”按钮或按动F1,打开文本相关的帮助。

• 状态栏提供有其它形式的上下文相关帮助。

当鼠标放在某个菜单命令上时,它为每个菜单命令显示一个简短的解释。

• 当鼠标短时放在一个工具栏的图标上时,也能为每个图标显示一个简短的解释。

如果你更愿意阅读打印出来的在线帮助,你可以打印每个帮助主题、工作簿或整个在线帮助。

step7编程之地址概念详解

step7编程之地址概念详解

step7编程之地址概念详解step7编程之地址概念详解完整的一条指令,应该包含指令符+操作数(当然不包括那些单指令,比如NOT等)。

其中的操作数是指令要执行的目标,也就是指令要进行操作的地址。

我们知道,在PLC中划有各种用途的存储区,比如物理输入输出区P、映像输入区I、映像输出区Q、位存储区M、定时器T、计数器C、数据区DB和L等,同时我们还知道,每个区域可以用位(BIT)、字节(BYTE)、字(WORD)、双字(DWORD)来衡量,或者说来指定确切的大小。

当然定时器T、计数器C不存在这种衡量体制,它们仅用位来衡量。

由此我们可以得到,要描述一个地址,至少应该包含两个要素:1、存储的区域2、这个区域中具体的位置比如:AQ2.0其中的A是指令符,Q2.0是A的操作数,也就是地址。

这个地址由两部分组成:Q:指的是映像输出区2.0:就是这个映像输出区第二个字节的第0位。

由此,我们得出,一个确切的地址组成应该是:〖存储区符〗〖存储区尺寸符〗〖尺寸数值〗.〖位数值〗,例如:DBX200.0。

DBX200.0其中,我们又把〖存储区符〗〖存储区尺寸符〗这两个部分合称为:地址标识符。

这样,一个确切的地址组成,又可以写成:地址标识符+确切的数值单元【间接寻址的概念】寻址,就是指定指令要进行操作的地址。

给定指令操作的地址方法,就是寻址方法。

在谈间接寻址之前,我们简单的了解一下直接寻址。

所谓直接寻址,简单的说,就是直接给出指令的确切操作数,象上面所说的,AQ2.0,就是直接寻址,对于A这个指令来说,Q2.0就是它要进行操作的地址。

这样看来,间接寻址就是间接的给出指令的确切操作数。

对,就是这个概念。

比如:AQ[MD100],AT[DBW100]。

程序语句中用方刮号[]标明的内容,间接的指明了指令要进行的地址,这两个语句中的MD100和DBW100称为指针Poi nter,它指向它们其中包含的数值,才是指令真正要执行的地址区域的确切位置。

分析一段Step 7的指针程序

分析一段Step 7的指针程序

LAR1 把地址8.0装载到AR1
L P#Q8.7 把指针值和地址标识符装载到累加器1
LAR2 把存储区域Q和地址8.7装载到AR2
A I[AR1,P#0.0] 查询输入位I8.0的信号状态
= [AR2,P#1.1]
给输出位Q10.0赋值
用途:
指针适合大批量数据处理,赋值等,比如:
有兴趣自己研究下:
LAR1 把存储区域I 和地址8.7装载到AR1
L P#Q8.7 把指针值和地址标识符装载到累加器1
LAR2 把存储区域Q和地址8.7装载到AR2
A [AR1,P#0.0] 查询输入位I8.7的信号状态
= [AR2,P#1.1]
给输出位Q10.0赋值
指针用法3: L 8 把指针值及存储区域标识装载到累加器1 SLD 3 转换为指针值
//数值比较 //置位标志位Comp_NOK
L #Count L1 +D T #Count
//指向DAT_DB_*.DBB [#PointerAdr*+1] 的值
L #Count_Byte <D JC beg
//与一个固定值比较,是否该DB快内数据都已经比较完毕。 //没有比较完,跳转回去继续。
为什么要SLW 3 呢 看看下图
本段程序的原理图如下,有兴趣自己编程试试:
基础知识:
指针用法1: L P#8.7 LAR1 A I[AR1,P#0.0] = Q[AR1,P#1.1]
把指针值装载到累加器1 把指针从累加器1装载到AR1 查询I8.7的信号状态 给输出位Q10.0赋值
指针用法2:
L P#I8.7 把指针值及存储区域标识装载到累加器1
分析一段Step 7的指针程序

step7编程语言与指令

step7编程语言与指令

S7-300/400得编程语言与指令系统3、1 S7-300/400得编程语言3、1、1 PLC编程语言得国际标准IEC 61131就是PLC得国际标准,1992~1995年发布了IEC 61131标准中得1~4部分,我国在1995年11月发布了GB/T15969-1/2/3/4(等同于IEC 61131-1/2/3/4)。

IEC 61131-3广泛地应用PLC、DCS与工控机、“软件PLC”、数控系统、RTU等产品。

定义了5种编程语言1) 指令表IL(Instruction list):西门子称为语句表STL。

2) 结构文本ST(Structured text):西门子称为结构化控制语言(SCL)。

3) 梯形图LD(Ladder diagram):西门子简称为LAD。

4)功能块图FBD (Function block diagram):标准中称为功能方框图语言。

5)顺序功能图SFC(Sequential function chart):对应于西门子得S7 Gra ph。

3、1、2 STEP 7中得编程语言梯形图、语句表与功能块图就是3种基本编程语言,可以相互转换。

ﻩ1.顺序功能图(SFC) :STEP 7中得S7 Graph2.梯形图(LAD)直观易懂,适合于数字量逻辑控制。

“能流”(Power flow)与程序执行得方向。

3、语句表(STL):功能比梯形图或功能块图强。

4.功能块图(FBD):“LOGO!”系列微型PLC使用功能块图编程。

5.结构文本(ST):STEP 7得S7SCL(结构化控制语言)符合EN 61131-3标准。

SCL适合于复杂得公式计算、复杂得计算任务与最优化算法,或管理大量得数据等。

6.S7 HiGraph 编程语言图形编程语言S7 HiGraph 属于可选软件包,它用状态图(state graphs)来描述异步、非顺序过程得编程语言。

7.S7 CFC 编程语言可选软件包CFC(Continuous Function Chart,连续功能图)用图形方式连接程序库中以块得形式提供得各种功能。

STEP7编址详解

STEP7编址详解

完整的一条指令,应该包含指令符+操作数(当然不包括那些单指令,比如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。

其中,我们又把〖存储区符〗〖存储区尺寸符〗这两个部分合称为:地址标识符。

这样,一个确切的地址组成,又可以写成:地址标识符+ 确切的数值单元【间接寻址的概念】寻址,就是指定指令要进行操作的地址。

给定指令操作的地址方法,就是寻址方法。

在谈间接寻址之前,我们简单的了解一下直接寻址。

所谓直接寻址,简单的说,就是直接给出指令的确切操作数,像上面所说的,A Q2.0,就是直接寻址,对于A这个指令来说,Q2.0就是它要进行操作的地址。

这样看来,间接寻址就是间接的给出指令的确切操作数。

对,就是这个概念。

比如:A Q[MD100] ,A T[DBW100]。

程序语句中用方括号[ ] 标明的内容,间接的指明了指令要进行的地址,这两个语句中的MD100和DBW100称为指针Pointer,它指向它们其中包含的数值,才是指令真正要执行的地址区域的确切位置。

间接由此得名。

西门子的间接寻址方式有两大类型:存储器间接寻址和寄存器间接寻址。

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

A&D CS2 FA 崔坚
SIMATIC Technical Consulting 2007 8月
Page 14
A&D AS CS2 FA Systems Support
寻址方式
直接寻址
存储区地址指针
寄存器间接寻址
POINTER数据 类型指针
ANY数据类型 指针
FB块形参的 编程
32位内部区域指针使用示例
SIMATIC Technical Consulting 2007 8月
Page 13
A&D AS CS2 FA Systems Support
寻址方式
直接寻址
存储区地址指针
寄存器间接寻址
POINTER数据 类型指针
ANY数据类型 指针
FB块形参的 编程
32位内部区域指针
32位内部区域指针地址寻址表示格式为:地址存储器标识符 [地址寄存器,地址偏移常量],例如装载M存储器一个字节表 示为:
JC m1
A&D CS2 FA 崔坚
SIMATIC Technical Consulting 2007 8月
Page 9
A&D AS CS2 FA Systems Support
寻址方式
直接寻址
存存储储区区地地址址指指针针
寄存器间接寻址
POINTER数据 类型指针
ANY数据类型 指针
FB块形参的 编程
的倍数,,如果对相邻 两个双字操作,指针转换为整数值最小必须为32(指针为P#4.0)的
倍数,对字与双字指针 的要求主要防治数据间的冲突,例如DBW[MD2],MD2为16的倍数 时,按照DBW2、DBW4、DBW6寻址,如果为8的倍数,按照DBW1、 DBW2、DBW3寻址,地址间数据冲突。
A&D CS2 FA 崔坚
Page 6
32位地址指针
A&D AS CS2 FA Systems Support
寻址方式 直接寻址
存存储储区区地地址址指指针针
32位地址指针 32位地址指针用于I、Q、M、L、数据块等存储器中位、字节、字及 双字的寻址,32位的地址指针可以使用一个双字表示,第0位~第2 位作为寻址操作的位地址,第3位~第18位作为寻址操作的字节地 址,第19位~第31位没有定义,32位指针的格式如下:
32位地址指针使用示例2
使用LOOP 指令与32位地址指针可以进行循环操作,假设一个编程 应用:一个字变量(MW2)与一个数组(假设存储于DB1中,包含100
个元素为字的数组)存储的值相比较,如果数值相同,指出第一个 相同数值存储在DB块中的位置(数组中的位置)。
L0 T MW 100 T MD 4 OPN DB 1 L 100 next: T MW 100
POINTER数据 类型指针
ANY数据类型 指针
FB块形参的 编程
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.
SIMATIC Technical Consulting 2007 8月
Page 12
寄存器间接寻址使用的指令
A&D AS CS2 FA Systems Support
寻址方式
寄存器间接寻址使用CPU内部集成的两个32位寄存器AR1和AR2
直接寻址
存储区地址指针
寄存器间接寻址
POINTER数据 类型指针
//将地址指针加2(每个相邻的字地址相差2)。
L P#2.0
+D
T MD 4 L MW 100
//次数减1,跳回next,如果MW100等于0,跳 出循环操作LOOP指令,LOOP指令固定格式。
LOOP next m1: FP M 10.0 //如果数值相当,记录MD4指针的数据,将转
换为数组的位置((地址值/P#2.0)+1)值存储于 MD8中。
寄存器间接寻址
POINTER数据 类型指针
ANY数据类型 指针
FB块形参的 编程
使用32位地址指针的注意事项:
OPN DB 1 L2 T MD 20 L 11 针为P#2.4。
//指针指向P#2.4,相当于L DBB2.4,CPU无法识别,将停机。
如果对相邻两个字节操作,指针转换为整数值最小必须为8(指针为 P#1.0)的倍数,如果对 相邻两个字操作,指针转换为整数值最小必须为16(指针为P#2.0)
寄存器间接寻址
POINTER数据 类型指针
ANY数据类型 指针
FB块形参的 编程
A&D CS2 FA 崔坚
SIMATIC Technical Consulting 2007 8月
Page 7
A&D AS CS2 FA Systems Support
寻址方式
直接寻址
存存储储区区地地址址指指针针
寄存器间接寻址
A&D AS CS2 FA Systems Support
寻址方式
直接寻址
存储区地址指针
寄存器间接寻址
POINTER数据 类型指针
ANY数据类型 指针
FB块形参的 编程
A M1.1 AN DB1.DBX12.0 = Q1.2
A&D CS2 FA 崔坚
SIMATIC Technical Consulting 2007 8月
A&D CS2 FA 崔坚
SIMATIC Technical Consulting 2007 8月
Page 8
A&D AS CS2 FA Systems Support
寻址方式
直接寻址
存存储储区区地地址址指指针针
寄存器间接寻址
POINTER数据 类型指针
ANY数据类型 指针
FB块形参的 编程
32位地址指针使用示例1
Page 3
A&D AS CS2 FA Systems Support
寻址方式
直接寻址
存存储储区区地地址址指指针针
16位地址指针
16位地址指针用于定时器、计数器、程序块(DB、FC、FB)的寻 址,16位指针被看作一个无符号整数(0~65535),它表示定 时器(T)、计数器(C)、数据块(DB、DI)或程序块(FB、FC) 的号,16位指针的格式如下:
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中,地址存储于
T MD 24
L 320
//320转换指针为P#40.0并装载到MD28中。
T MD 28
L DBW [MD 20] L DBW [MD 24] +I L DIW [MD 28] -I T DIW 2
//装载DB1.DBW4。 //装载DB1.DBW20。 //相加 //装载DB3.DBW40。 //相减。 //将运算结果传送到DB3.DBW2中。
JCN m2
L MD 4
L P#2.0
/D
+1
T MD 8
m2: NOP 0
A&D CS2 FA 崔坚
SIMATIC Technical Consulting 2007 8月
Page 11
32位地址指针注意事项
A&D AS CS2 FA Systems Support
寻址方式
直接寻址
存存储储区区地地址址指指针针
地址寻址表示格式为:区域标识符[16位地址指针],例如打开一个 DB块表示为:
寄存器间接寻址
POINTER数据 类型指针
ANY数据类型 指针
FB块形参的 编程
A&D CS2 FA 崔坚
SIMATIC Technical Consulting 2007 8月
Page 5
A&D AS CS2 FA Systems Support
ANY数据类型 指针
FB块形参的 编程
LAR1 : 将ACCU1存储的地址指针写入AR1。 LAR1 <D> : 将指明的地址指针写入AR1,例如LAR1 P#20.0或
LAR1 MD20 LAR1 AR2 : 将AR2的内容写入AR1。 LAR2 : 将ACCU1存储的地址指针写入AR2。 LAR2 <D> : 将指明的地址指针写入AR2,与LAR1 <D>方式相同。 TAR1 : 将AR1存储的地址指针传输给ACCU1。
SIMATIC Technical Consulting 2007 8月
Page 10
32位地址指针使用示例2
A&D AS CS2 FA Systems Support
寻址方式
直接寻址
存存储储区区地地址址指指针针
寄存器间接寻址
POINTER数据 类型指针
ANY数据类型 指针
FB块形参的 编程
L MD 4
MD20中。
+I
LAR2 P#40.0
相关文档
最新文档