S7300-400寻址
【免费下载】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。
S7300400PLC 的MPI通讯
SunyTech8和S7300/400 PLC 的MPI通讯一、概述MPI(多点接口)是一种适用于小范围、少数站点间通讯的网络。
可通过PROFIBUS电缆和接头,将PLC的MPI编程口相互连接以及上位机网卡的编程口(MPI/DP),连接即可实现。
如果有西门子MPI通信电缆,也可把PLC的MPI编程口和计算机串口直接连接即可。
组态软件可通过简单的配置实现和西门子S7-300/400的MPI通讯。
本驱动支持的通信协议为SIEMENS 公司提供的Prodave S7通信开发包。
二、设备配置硬件:(1)CPU 315 (S7-200/300/400)(2)CP5611卡和PROFIBUS通讯电缆(CP5411/CP5611/CP5613)或者西门子MPI 专用通信电缆软件:(1) STEP 7 V5.3及以上版本(2)组态软件1.组态软件与S7300系统连接方式组态软件与S7300/400系统连接方式有下面两种:1)通过西门子MPI通讯卡(如西门子公司提供的CP5611卡/CP5613)与S7300系列PLC的连接:将MPI卡安装在计算机的PCI插槽中,用MPI电缆将MPI卡与S7-300的MPI口相连2)通过PC-Adapter与S7-300系列PLC的连接:将PC-Adapter的一端与计算机的串口相连,另一端与S7-300的MPI口相连2.软件配置A、在运行SunyTech8.0的机器上需要安装西门子公司提供的Step 7 V 5.3及以上版本的编程软件。
B、组态软件和设备通讯需要调用编程软件中集成的PRODAVE5.5及以上版本的库,由于不同版本的Step 7编程软件集成的PRODAVE的库的版本不同。
有可能会造成通讯的失败,当出现通讯失败时请用户手动更新通讯涉及到的文件S7Onlinx.dll,Komfort.dll,W95_S7.dll和S7osmcax.sys。
更新方法如下,1、将S7Onlinx.dll,Komfort.dll,W95_S7.dll拷贝到winnt\system32下,如果有同名字的文件,则替换原来文件2、将S7osmcax.sys和S7otranx.sys拷贝到winnt\system32\drivers下重新启动计算机,使替换的底层驱动运行。
第六章第二节 S7-300 和S7-400的指令系统
2 复杂数据类型 数组(ARRAY) (1)数组(ARRAY) (2)结构(STRUCT) 结构(STRUCT) 字符串(STRING) (3)字符串(STRING) 日期和时间(DATE_AND_TIME) (4)日期和时间(DATE_AND_TIME) 用户定义的数据类型(UDT) (5)用户定义的数据类型(UDT) 功能块类型(FB、SFB) (6)功能块类型(FB、SFB)
(3)字符串(STRING) 字符串(STRING) 字符串是最多有254个字符(CHAR)的一维数组,最大长度为 个字符( 字符串是最多有 个字符 )的一维数组, 256个字节(其中前两个字节用来存储字符串的长度信息)。字符串 个字节( )。字符串 个字节 其中前两个字节用来存储字符串的长度信息)。 常量用单引号括起来,例如: 常量用单引号括起来,例如:
(4)日期和时间(DATE_AND_TIME) 日期和时间(DATE_AND_TIME) 用于存储年、 毫秒和星期,占用8个字节 个字节, 用于存储年、月、日、时、分、秒、毫秒和星期,占用 个字节, 格式保存。 的代码为2~ 。例如: 用BCD格式保存。星期天的代码为 ,星期 ~6的代码为 ~7。例如: 格式保存 星期天的代码为1,星期1~ 的代码为
返回目录
(三)、存储器区域及功能 )、存储器区域及功能
1.输入过程映像寄存器(输入继电器)(I):每一位对应数字量输入模块的一 1.输入过程映像寄存器(输入继电器)(I):每一位对应数字量输入模块的一 输入过程映像寄存器 )( 个输入端子,可以按位、字节、字、双字寻址。 (有0~65535个字节)(标 个输入端子,可以按位、字节、 双字寻址。 0~65535个字节)(标 个字节)( 识符: IB、IW、ID) 识符:I、IB、IW、ID) 2.输出过程映像寄存器 输出继电器)( ):每一位对应数字量输出模块的一 输出过程映像寄存器( )(Q 2.输出过程映像寄存器(输出继电器)(Q):每一位对应数字量输出模块的一 个输出端子,可以按位、字节、 双字寻址。 0~65535个字节)(标 个字节)( 个输出端子,可以按位、字节、字、双字寻址。 (有0~65535个字节)(标 识符: QB、QW、QD) 识符:Q、QB、QW、QD) 3.位存储器 辅助继电器)( ):与PLC外部对象没有任何关系 位存储器( )(M 外部对象没有任何关系, 3.位存储器(辅助继电器)(M):与PLC外部对象没有任何关系,主要用来存 储程序运算过程中的临时结果,可以按位、字节、 双字寻址。 储程序运算过程中的临时结果,可以按位、字节、字、双字寻址。 (有 0~255个字节)(标识符 个字节)(标识符: MB、MW、MD) 0~255个字节)(标识符:M、MB、MW、MD) 4.外部输入寄存器 PI):用户可以通过外部输入寄存器直接访号输入模块, 外部输入寄存器( ):用户可以通过外部输入寄存器直接访号输入模块 4.外部输入寄存器(PI):用户可以通过外部输入寄存器直接访号输入模块, 可以按字节、 双字寻址( 0~65535个字节)(标识符 PIB、PIW、PID) 个字节)(标识符: 可以按字节、字、双字寻址(有0~65535个字节)(标识符:PIB、PIW、PID) 5.外部输出寄存器 PQ):用户可以通过外部输出寄存器直接访号输出模块, 外部输出寄存器( ):用户可以通过外部输出寄存器直接访号输出模块 5.外部输出寄存器(PQ):用户可以通过外部输出寄存器直接访号输出模块, 可以按字节、 双字寻址( 0~65535个字节)(标识符 PQB、PQW、 个字节)(标识符: 可以按字节、字、双字寻址(有0~65535个字节)(标识符:PQB、PQW、PQD
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指针仅用于内部区域寻址。
最新s7300400破解的小办法资料
S7-300/400破解的小办法方法1:请先打开《MMC读卡软件》,破解300时先用普通MMC读卡器(电脑城、手机店有售,10元左右或您的电脑本身就有),读出S7-300的MMC卡.在软件窗口选择对应然的移动磁盘,按一下《读取》按钮,这时在弹出的‘建立文件’对话框中输入你要建立的文件名,点击《确定》按钮,读取开始了......待读取完成,S7-300密码就会出现,看下图。
有了密码这样你就可以在线把程序下下来.切记!!如果出现《格式化》对话提示请及时退出, 退出后在重新载入.否则出现数据或程序丢失概不负责.附赠一个300-400卡写入软件(写卡软件未加密直接解压打开就是),当你不小心将卡格式化,一般情况就报废了,因为数据格式不同,有此软件可写入映像数据,可在PLC重新下载程序使用.方法2:通过上面的方法你已经破解了plc密码,但是如果你以后再次使用,又忘记了密码,而读取MMC卡又相当费时(要10-20分钟),那么一个更为方便快捷的方法又来了---刚才您已经建立了一个名为***.s7img的文件,那么现在您再用<MMC卡解密>这个软件打开该文件,按一下<密码>下的<S7-300>,稍等密码就会出现。
有了密码这样你就可以在线把程序下下来,如果程序加了锁再用<S7程序解密>这个软件解锁即全搞定. 这也是唯一能破解300-400的软件。
S7程序解密:S7程序解密,用于加锁解锁S7 300/400的OB、FB、FC、DB块。
当你有解密软件解密后将程序上传到电脑后,很多程序块是加了密的,只能显示一个个小锁,有此软件可轻而易举打开.使用前请备份原Project以防不测。
MMC被误格式化的救星来了!可以将MMC整个打包读出来写成一个IMG文件,就象你原来用HD-COPY给软盘做的IMG 镜象文件一样。
当然被误格式化成电脑文件格式的MMC卡也可以用附带的标准IMG文件来恢复。
s7300,400系列PROFIBUS S7配置文档
组态王和西门子S7300/400系列PLC通过PROFIBUS s7协议通讯的配置方案组态王和西门子PLC实现PROFIBUS s7协议方式通讯时,需要通过OPC方式来实现(因为其S7协议没有公开,组态王不再提供直接的Profibus S7驱动) :其中西门子提供OPCserver,组态王作为OPCClient进行数据通讯。
下面具体演示实现S7通讯时所需要的软硬件及配置步骤。
一、所需硬件:1.配置具有DP接口的S7300、S7400等PLC。
2.CP5611、CP5613 、CP5511(笔记本专用) 等通讯卡二、所需软件:1.用于软件编程的STEP 7V5.1或以上版本的编程软件2.用于实现PROFIBUS --S7协议网络配置的SIMATIC NET6.0及以上版本的软件。
以上两种软件是西门子公司提供相应授权软件,需要从西门子公司购买。
三、适合的操作系统:WIN2000、WINNT、WINXP(simatci 6.01以上版本支持XP系统)四、实现OPC通讯的配置步骤(以计算机插入CP5611卡,PLC为CPU313C-2DP和一个ET200 DP接口模块为例)第一步:安装STEP 7V5.1(或以上版本)的编程软件,第二步:再将CP5611/cp5613等通讯卡安装在PC机的PCI插槽中,并根据硬件安装向导安装卡的驱动程序。
第三步:首先通过STEP 7编程软件配置PLC及ET200模块为PROFIBUS S7协议,具体操作如下:(1)新建一个STEP 7项目,如下图所示:然后点击Hardware 进行硬件组态,如下图所示:在General标签页中,设置DP口地址,协议传输速率,如下图所示:―>在Operating mode标签页中,设置如下:(2)添加ET200 DP模块(以IM153为例):在SETP 7项目中,双击Connections,如下图所示:打开画面后,用鼠标右键点击紫色PROFIBUS总线,手动添加IM153模块如下:接着设置IM153的地址,协议,如下图所示:(3)对CP5611卡进行通讯接口参数的配置:进入计算机控制面板,选择SET PG/PC INTERFACE并打开,如下图所示:设置CP5611卡地址为1,并设置接口波特率,协议等与PLC中的设置一致。
西门子 S7-300的寻址方式
在一条指令中,如果操作码后面的操作数是以操作数所在地址的形式出现的,这种指令的寻址方式就叫直接寻址。
如:MOVD VD400 VD500
功能:将VD400中的双字数据传给VD500
3.间接寻址
在一条指令中,如果操作码后面的操作数是以操作数所在地址的地址形式出现的,这种指令的寻址方式就叫间接寻址。
如:MOVD 2505 *VD500
*VD500是指存放2505的地址的地址。
如VD500中存放的是VB0,则VD0则是存放2505的地址。
该指令的功能:将十进制数2505传送给VD0地址中。
西门子 S7-300的寻址方式
S7-300编程语言的基本单位是语句,而语句的构成是指令,每条指令有两部分:一部分是操作码,另一部分是操作数。操作码是指出这条指令的功能是什么,操作数则指明了操作码所需要的数据所在。所谓寻址,就是寻找操作数的过程。S7-300 CPU的寻址分三种:立即寻址、直接寻址、间接寻址。
1.立即寻址
在一条指令中,如果操作码后面的操作数就是操作码所需要的具体数据,这种指令的寻址方式就叫立即寻址。
如:在传送指令中:MOV IN OUT——操作码“MOV”指出该指令的功能把IN中的数据传送到OUTD 2505 VD500
功能:将十进制数2505传送到VD500中,这里2505就是源操作数。因这个操作数的数值已经在指令中了,不用再去寻找,这个操作数即立即数。这个寻址方式就是立即寻址方式。而目标操作数的数值在指令中并未给出,只给出了要传送到的地址VD500,这个操作数的寻址方式就是直接寻址。
F0215 PLC300寻址
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 数据块中包含了程序的信息。
S7-400间接寻址
详解西门子间接寻址【地址的概念】完整的一条指令,应该包含指令符+操作数(当然不包括那些单指令,比如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,它指向它们其中包含的数值,才是指令真正要执行的地址区域的确切位置。
指针
指针S7-300/400 PLC寻址方式一、直接寻址1、绝对地址2、符号地址二、间接寻址1、存储器间接寻址(包括16位指针与32位指针)2、寄存器间接寻址(只有32位指针)存储器间接寻址1、16位指针:用于定时器、计数器、程序块(DB、FC、FB)的寻址,16位指针被看作一个无符号整数(0~65535),它表示定时器(T)、计数器(C)、数据块(DB、DI)或程序块(FB、FC)的号,16位指针的格式如下:寻址格式表示为:区域标识符[ 16位地址指针]例如使一个计数器向上计数表示为:CU C [ MW20 ]上述指令中,’C’为区域标识符,而’MW20’为一个16位指针。
例1//用于定时器L 1 A I0.0T MW0 L S5T#10SA I0.0 →SD T1L S5T#10SSD T[MW0]例2//用于打开DB块L 20T LW20OPN DB[LW20]2、32位指针:用于I、Q、M、L、数据块等存储器中位、字节、字及双字的寻址,32位的地址指针可以使用一个双字表示,第0位~第2位作为寻址操作的位地址,第3位~第18位作为寻址操作的字节地址,第19位~第31位没有定义,32位指针的格式如下:存储器32指针仅用于内部区域寻址。
寻址格式表示为:地址存储器标识符[ 32位地址指针]例如写入一个M的双字表示为:T MD [ LD0 ]‘MD’为区域标识符及访问宽度,而‘LD0’为一个32位指针。
32位内部区域指针可用常数表示,表示为P# 字节.位。
如常数P# 10.3为指向第10个字节第3位的指针常数。
若把一个32位整型转换为字节指针常数,从上述指针格式可以看出,应要把该数左移3位(或是乘8)即可。
如:L L#100 //Accu0装入32位整形100SLD 3 //左移3位T LD0 //LD0得到P#100.0指针常数例:DB块间接寻址举例OPN DB 1 //打开DB1。
OPN DI 3 //打开DB3,最多可以同时打开两个DB块。
s7-300,400间接寻址
字及双字的寻址,32位的地址指针可以使用一个双字表示。
第0位-第2位作为寻址操作的位地址。
第3位-第18位作为寻址操作的字节地址。
第19位-第31位没有定义。例如:I1.1用如下指针表示
I [0……01001]
存储器32位指针仅用于内部区域寻址。
寻址格式表示这: 地址存储器标示符 [32位地址指针]
LAR1/2 P#M20.0//装载地址指针P#M20.0到AR1或AR2中
L B [AR1/2, P#10.0]
装载指令 访问宽度 地址寄存器 地址偏移常量
000表示没有地址区,例如P#12.0
001表示输入地址区,例如P#I12.0
//16位地址指针不能访问到位。
opn db [mw20] // 打开DB块
打开指令 区域标识符 地址指针
如果MW20=2就是打开数据块DB2
CU C [MW20] //打开向上计数器[MW20]为指针
T MD 24 //
L 320 //320转换指针为P#40.0(320/8=40.0)
T MD 28 //并装载到MD28中。
L DB [MD20]//装载Dபைடு நூலகம்1.DBW4
L DB [MD24]//装载DB1.DBW20
如果MD10=48,表示的地址指针为6.0(48/8=6)
//32位内部区域指针可用常数表示,表示为P#字节.位。如:
常数“P#10.3”指向第10个字节的第3个位。
若把一个32位整形数转换为字节指针常数,从上述指针格式
可以看出,应该要把该数左移3位(或是X8)即可。如:
L L#100 //装入32位整形100
S7300-400PLC编程之设置PG-PC接口
S7300-400PLC编程之设置PG-PC 接口
S7300/400PLC编程之设置PG PC接口
IMATIC管理器的基本操作方法:
1、设置PC,PG接口这对新手来说很重要,当用软件仿真时,选择“PLCSIM(MPI)”接口;做工程时用的是PC的话那就要选择“set PG/PC interface”。
如果选择错误的话将会出现通讯故障了。
2、接下来我们建立一个项目演示一下SMATIC管理器的归档和上传功能,这样可以方便我们有序地管理曾经做过项目。
我们在新建好的项目工程菜单栏里依次点击“ZHENG/SIMATIC/CPU 315-2 DP/BLOCK/OB1”。
如下图所示
在归档之前,一定先把程序保存好之后,再把写程序的窗口关闭,在“SIMATIC”界面工具栏里打开“FILE/Archive"
现在我们已经将文件名为“zheng”的文件压缩储存在了桌面上如下图所示:
我们想打开已经归档好的文件时,就要在“SIMATIC主界面”打开“File/Retrieve”如下图所示:
单击OK之后就可以看到我们和原来一样的程序文件了,以上就是我们归档文件和打开归档文件的操作步骤。
3、对编写程序的仿真器操作:
A、首先我们先编写一个主程序,例如:
B、写好程序之后记得要先保存一下,养成一个好的习惯,防止我们写程序时如果遇到计算机掉电的意外情况时的程序丢失。
然后在“SIMATIC”界面打开仿真图标,如下图所示
在上图I0.0通电时我们可以看到梯型图中Q0.0正常运行,如图
通过仿真,可以监控到PLC程序的运行状态正常。
4、对占用的地址进行交叉索引,监控所有地址是否重复。
【免费下载】S7300指针类型与间接寻址
【免费下载】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。
关于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-********获得。
在 STEP 7 (TIA 博途) 中,如何在 SCL 程序中实现间接寻址
在STEP 7 (TIA 博途) 中,如何在SCL 程序中实现间接寻址?S7-300/400 控制器使用SCL 有两种方法可以进行间接寻址。
•变量的间接寻址•DB 块的间接寻址变量的间接寻址类似于绝对寻址。
只是在括号内定义一个偏移量来替换掉地址值。
对于数据块的间接寻址,可以使用转换函数"WORD_TO_BLOCK_DB" 进行转换。
下图中的例子,描述了在S7-300/400 中如何使用间接寻址来访问DB 块中的数据。
图. 01如果希望通过间接寻址访问S7-300/400 的M,I 区和Q 区,需要使用指令%MX(), %MB(), %MW(), %EX(), %EB(), %EW(), %AX(), %AB()和%AW()。
在访问区域前面必须添加百分号。
如下图2 所示。
图. 02SIMATIC S7-1200/1500 控制器可使用表01 中指令来实现间接寻址。
指令描述POKE 写存储器地址POKE_BOOL 写存储器位PEEK 读存储器地址PEEK_BOOL 读存储器位POKE_BLK 写存储区表01可通过如图3 所示,使用PEEK 和POKE 指令来访问数据块中的数据。
图. 03注意PEEK 和POKE 指令无法在S7-300/400 中使用。
更多关于间接寻址及指令使用的相关信息,请参阅STEP 7 (TIA 博途) 在线帮助。
图. 04 是如何在S7-1200/S7-1500中使用"POKE_BLK" 指令实现间接寻址的例子。
源DB(标签名"DB_Number_SRC") 的数据被拷贝到目的DB (标签名"DB_Number_DES") 中。
Fig. 04表01 所列相关指令详细信息请参阅STEP 7 (TIA 博途) 在线帮助。
创建环境该FAQ 相关截图由STEP 7 (TIA 博途) V13 创建。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2
ྲօ㧧ᗇ㾯䰘ᆀ㠚ࣘॆо傡ࣘӗ૱Ⲵ䍴ᯉ
俆ˈݸᔪ䇞ᛘ䙊䗷 Siemens A&D Ⲵ㖁ㄉᩌ㍒ᒦл䖭DŽ
ᛘ䘈ਟԕ㠤⭥ 010-64721888 䖜 3785 /3726 ㍒ਆ䍴ᯉDŽ
ਖཆˈ䘈ᴹབྷ䟿Ⲵਟԕ䙊䗷࠶䬰୶䇒䍝ˈ઼ަᆳӗ૱Ⲵ䇒䍗ᯩᔿаṧDŽ
3
䴰䇮༷䘹ර৺䇒䍗
ྲ䴰䇮༷䘹ර৺䇒䍗ˈ䈧㚄㌫㾯䰘ᆀ㠚ࣘॆо傡ࣘⲴ䬰ᐕ〻ᐸᡆᖃൠ㾯䰘ᆀ࠶䬰୶DŽ࠶䬰୶㚄㌫ᯩ
x “S7-300 Instruction List CPU 31xC, CPU 31x, IM 151-7 CPU, BM 147-1 CPU, BM 147-2 CPU”ˈ䈧⛩ࠫ /CN/llisapi.dll/csfetch/13206730/s7300_operation_list _chs.pdf?func=cslib.csFetch&nodeid=22722994&forcedownload=true л䖭
8.2
ᜣҶ䀓Ḁњ FB/FC Ⲵ࣏㜭৺㇑㝊Ⲵᇊѹ
ሶᛘᜣ㾱䈳⭘Ⲵ FB/FC 䈳ࡠޕањ Network ѝˈ䘹ѝ䈕 FB/FC˄⭘啐ḷ⛩ࠫ䈕 FB/FCˈཆṶਈѪ㔯
㢢˅ˈྲлമᡰ皮˖
᤹ᛘ䇑㇇ᵪ䭞ⴈкⲴ F1 ࣏㜭䭞ˈቡՊ䐣ࠪޣҾ䈕 FB/FC Ⲵ࣏㜭৺㇑㝊ᇊѹⲴ᧿䘠DŽྲлമᡰ皮˖
ᛘਟԕ൘䈕ᑞࣙؑѝҶ䀓ࡠ䈕 SFB/SFC/FB/FC Ⲵ࣏㜭ǃ৲ᮠⲴ᧿䘠৺ᡰ㾱≲Ⲵᮠᦞ㊫රǃਟ㜭Ⲵ 䭉䈟ؑㅹˈᴹӋ䘈ᴹֻᆀ〻ᒿDŽ
L
S5T#10S
SD T[MW0]
//T1 ᔰ䇑ᰦ
//
к䘠ᤷԔਟㅹ਼Ҿ˖
A
I0.0
L
S5T#10S
SD T1
//⭘Ҿᢃᔰ DB ඇ
L
20
T
LW20
OPN DB[LW20]
//〻ᒿ䈳⭘
L
2
T
LW20
UC FC[LW20]
L
41
T
DBW30
UC FB[DBW30]
//ᢃᔰ DB20 //䈳⭘ FC2 //䈳⭘ FB41
8.1
ḕḀњޣ䭞ᆇᡆ࣏㜭
8.1.1 ൘㓯ᑞࣙ ൘ STEP 7 Ⲵѫ⭼䶒 SIMATIC Manager ѝˈ⛩ࠫл㨌অ Help лⲴ Contentsˈᢃᔰ STEP
7 Ⲵ൘㓯ᑞࣙ
8.1.2 ࡙⭘ Index 䘋㹼ޣ䭞ᆇⲴḕ
8.1.3 ᡆ㘵ˈ࡙⭘ Search 䘋㹼ޣᩌ㍒
x “S7-400 Instruction List CPU 412, 414, 416, 417” ˈ䈧⛩ࠫ /CN/llisapi.dll/csfetch/23904435/OPListe_chs.pdf?func=cslib.csFetch&nodeid=24479435&forcedownload=true л䖭
x “Automation System S7-400 CPU Specifications” ˈ䈧⛩ࠫ /CN/llisapi.dll/csfetch/23904550/CPU-Data_zhCHS.pdf?func=cslib.csFetch&nodeid=24782352&forcedownload=true ᡆ /download/Info/00001/N0279.pdf л䖭
x “Automation System S7-400 Hardware and Installation” ˈ䈧⛩ࠫ /download/Info/00001/1011.pdf ᡆ /WW/llisapi.dll/csfetch/1117849/424ish_e.pdf?func=cs lib.csFetch&nodeid=1139865&forcedownload=true (㤡᮷)л䖭
10.2 䰤᧕ራ൰ 䰤᧕ራ൰࠶Ѫᆈۘಘ䰤᧕ራ൰઼ᇴᆈಘ䰤᧕ራ൰ˈ䰤᧕ራ൰Ⲵᤷ䪸࠶Ѫ 16 սᤷ䪸઼ 32 սᤷ䪸ˈ㘼 32 սᤷ䪸৸࠶Ѫ䜘४ฏራ൰оӔ৹४ฏራ൰DŽ
10.2.1 ᆈۘಘ䰤᧕ራ൰
*16 սᤷ䪸˖16 սൠ൰ᤷ䪸⭘Ҿᇊᰦಘǃ䇑ᮠಘǃ〻ᒿඇ˄DBǃFCǃFB˅Ⲵራ൰ˈ16 սᤷ䪸㻛ⴻ ањᰐㅖਧᮤᮠ˄0̚65535˅ˈᆳ㺘皮ᇊᰦಘ˄T˅ǃ䇑ᮠಘ˄C˅ǃᮠᦞඇ˄DBǃDI˅ᡆ〻ᒿඇ ˄FBǃFC˅Ⲵਧˈ16 սᤷ䪸ⲴṬᔿྲл˖
*32 սᤷ䪸˖32 սൠ൰ᤷ䪸⭘Ҿ IǃQǃMǃLǃᮠᦞඇㅹᆈۘಘѝսǃᆇ㢲ǃᆇ৺ৼᆇⲴራ൰ˈ32 ս Ⲵൠ൰ᤷ䪸ਟԕ֯⭘ањৼᆇ㺘皮ˈㅜ 0 ս̚ㅜ 2 սѪራ൰Ⲵսൠ൰ˈㅜ 3 ս̚ㅜ 18 սѪ ራ൰Ⲵᆇ㢲ൠ൰ˈㅜ 19 ս̚ㅜ 31 ս⋑ᴹᇊѹˈ32 սᤷ䪸ⲴṬᔿྲл˖
ᆈۘಘ 32 ᤷ䪸ӵ⭘Ҿ䜘४ฏራ൰DŽ ራ൰Ṭᔿ㺘皮Ѫ˖ ൠ൰ᆈۘಘḷ䇶ㅖ [ 32 սൠ൰ᤷ䪸 ]
x “Automation System S7-400 Module Specifications” ˈ䈧⛩ࠫ /CN/llisapi.dll/csfetch/1117740/425rfh_ch.pdf?func=cs lib.csFetch&nodeid=22589080&forcedownload=true л䖭
ᆈۘಘ˄ᆇ˅
MW
ᆈۘಘ˄ৼᆇ˅
MD
ᇊᰦಘ
ᇊᰦಘ (T)
T
䇑ᮠಘ ᮠᦞඇ
䇑ᮠಘ (C)
C
ᮠᦞඇˈ⭘"OPN DB" DB
ᢃᔰ
ᮠᦞս
DBX
ᮠᦞᆇ㢲
DBB
ᮠᦞᆇ
DBW
ᮠᦞৼᆇ
DBD
ᮠᦞඇˈ⭘"OPN DI" DI
ᢃᔰ
ᮠᦞս
DIX
ᮠᦞᆇ㢲
DIB
ᮠᦞᆇ
DIW
ᮠᦞৼᆇ
DID
ተ䜘ᮠᦞ
ተ䜘ᮠᦞս
L
ተ䜘ᮠᦞᆇ㢲
LB
৺ᢰᵟ৲ᮠDŽ
6
S7-300/S7-400 PLC ޣ
x <S7-300 CPU 31xC ઼ CPU 31xˈᢰᵟᮠᦞ>ˈ䈧⛩ࠫ /download/Info/00001/1022.pdf л䖭
x "S7-300 Programmable Controller, Hardware and Installation" ˈ䈧⛩ࠫ http://www4.ad.siemens.de/WW/view/en/15390415 л䖭
1
㾯䰘ᆀ㠚ࣘॆо傡ࣘӗ૱Ⲵ൘㓯ᢰᵟ᭟ᤱ
俆ݸᔪ䇞ᛘ䇯䰞㾯䰘ᆀ A&D Ⲵӗ૱оᢰᵟ᭟ᤱ㖁ㄉˈ
/CN/llisapi.dll?func=cslib.csinfo2&aktprim=99&lang=z h ѫ亥ྲлᡰ皮˖
ᛘ䘈ਟԕ䇯䰞㾯䰘ᆀ˄ѝഭ˅㠚ࣘॆо傡ࣘ䳶ഒⲴѫ亥 ˈྲлമᡰ皮DŽ䈕 㖁ㄉ਼ṧਟԕᨀབྷ䟿Ⲵӗ૱઼㌫㔏ⲴؑDŽ
10.1.1 㔍ሩൠ൰˖ 㔍ሩൠ൰⭡ањൠ൰ḷ䇶ㅖ઼ᆈۘಘս㖞㓴ᡀDŽ ֻྲ I 0.0ˈQ 1.7ˈPIW 256ˈPQW 512ˈMD 20ˈT 15ˈC 16ˈDB1.DBB 10ˈL1 0.0 ㅹ
10.1.2 ㅖਧራ൰˖ ྲ᷌㔉㔍ሩൠ൰࠶䝽ㅖਧਟ֯〻ᒿ᱃䈫㘼ㆰॆ᭵䳌ḕDŽ STEP7 㜭㠚ࣘ㘫䈁ㅖਧѪ㾱≲Ⲵ㔍ሩൠ൰DŽྲ᷌߶༷⭘ㅖਧ䇯䰞 ᮠ㓴ˈ㔃ᶴˈᮠᦞඇˈተ 䜘ਈ䟿ˈ䙫䗁ඇ৺⭘ᡧ㠚ᇊѹᮠᦞ㊫රˈ䛓Ѹᗵ享൘↔ѻࡽ࠶ݸ䝽ㅖਧ㔉㔍ሩൠ൰DŽ ֻྲˈ ਟԕ࠶䝽ㅖਧ’Motor_On’㔉ൠ൰ Q 4.0ˈ❦ਾ൘〻ᒿ䈝ਕѝ֯⭘ㅖਧ’Motor_On’Ѫ ൠ൰DŽ
9
S7-300/400 ㌫㔏ᆈۘ४ฏ
S7 CPU Ⲵ㌫㔏ᆈۘ४ฏ࠶Ѫл㺘ѝࡇࠪⲴൠ൰४ฏDŽ൘〻ᒿѝਟԕṩᦞᓄⲴൠ൰ⴤ᧕䈫ਆᮠᦞDŽ
ൠ൰४ฏ
ਟԕ䇯䰞Ⲵൠ൰অս
S7 ㅖਧ (IEC)
᧿䘠
䗷〻᱐ۿ䗃ޕ㺘 䗃˄ޕս˅
I
ᗚ⧟ᢛ᧿ઘᵏᔰᰦˈCPU Ӿ䗃⁑ޕᶯ䈫䗃ޕ
䗃˄ޕᆇ㢲˅
IB
٬ᒦ䇠ᖅࡠ䈕४ฏ
7
㕙߉䇽ਜ਼ѹ
IEC˖International Electrotechnical Commissionˈഭ䱵⭥ᐕᢰᵟငઈՊ
FAQ˖Frequently Asked Questionsˈᑨ㿱䰞仈䀓ㆄ
AVC˖SIMATIC Card / Automation Value Card
8
ྲօ֯⭘ STEP 7 䖟ԦⲴ൘㓯ᑞࣙ
䗃˄ޕᆇ˅
IW
䗃ৼ˄ޕᆇ˅
ID
䗷〻᱐ۿ䗃ࠪ㺘 䗃ࠪ˄ս˅ 䗃ࠪ˄ᆇ㢲˅ 䗃ࠪ˄ᆇ˅
Q
൘ᗚ⧟ᢛ᧿ઘᵏѝˈ〻ᒿ䇑㇇䗃ࠪ٬ᒦ䇠ᖅࡠ
QB
䈕४ฏDŽᗚ⧟ᢛ᧿ઘᵏ㔃ᶏᰦˈCPU ሶ䇑㇇㔃
QW
᷌߉ޕᓄⲴ䗃ࠪ⁑ᶯ
䗃ࠪ˄ৼᆇ˅
QD
սᆈۘಘ
ᆈۘಘ˄ս˅
M
䈕४ฏ⭘Ҿᆈۘ〻ᒿⲴѝ䰤䇑㇇㔃᷌
ᆈۘಘ˄ᆇ㢲˅
MB
ᔿਟ㠤⭥ 400-810-4288 ੜࡠᨀ皮丣ਾ᤹ 3 㧧ᗇDŽ
4
㾯䰘ᆀᢰᵟ᭟ᤱ✝㓯
ྲᴹᰐ⌅㠚㹼䀓ߣⲴᢰᵟ䰞仈ˈ䈧ᤘᢃ㾯䰘ᆀᢰᵟ᭟ᤱ✝㓯 400-810-4288 ⲫ䇠ˈㅹᖵ㾯䰘ᆀᢰᵟ᭟
ᤱᐕ〻ᐸഎ༽DŽᡁԜՊ൘ 2 ሿᰦҸԕ૽ᓄDŽ
䈧⌘൘ⲫ䇠䰞仈ᰦቭ䟿߶⺞ൠ᧿䘠ᡰ֯⭘ӗ૱Ⲵ㊫රˈԕׯቭᘛᗇࡠ䍏䍓䈕ӗ૱Ⲵᐕ〻ᐸⲴᑞࣙDŽ
ֻྲ߉ޕањ M Ⲵৼᆇ㺘皮Ѫ˖
T
MD [ LD0 ]
‘MD’Ѫ४ฏḷ䇶ㅖ৺䇯䰞ᇭᓖˈ㘼 LD0 Ѫањ 32 սᤷ䪸DŽ
32 ս䜘४ฏᤷ䪸ਟ⭘ᑨᮠ㺘皮ˈ 㺘皮Ѫ P# ᆇ㢲.ս DŽྲᑨᮠ
P# 10.3
Ѫᤷੁㅜ 10 њᆇ㢲ㅜ 3 սⲴᤷ䪸ᑨᮠDŽ
㤕ᢺањ 32 սᮤර䖜ᦒѪᆇ㢲ᤷ䪸ᑨᮠˈӾк䘠ᤷ䪸Ṭᔿਟԕⴻࠪˈᓄ㾱ᢺ䈕ᮠᐖ〫 3 ս(ᡆ