Step7学习笔记_超级入门
step7编程知识

第一章符号表在STEP7中,用户可以直接使用的变量包括PLC的输入/输出地址、M存储区地址、数据DB块名、功能块名和系统已经在组织块和逻辑块中定义的变量等。
如果能在STEP7中将变量用具有实际意义的符号名字代替,那么用户程序的可读性就会更好。
1.全局符号和局部符号STEP7中可以定义两类符合:全局符号和局部符号,与其它编程语言的定义一样,全局符号是在整个用户程序范围内有效;局部符号是仅仅在定义的块内部有效。
2.符号的定义符号名的长度不能多于24个字符,而且定义时不区分大小写字符。
数据块中的地址(DBD,DBW,DBB,DBX)不能在符号表中定义,而应在数据声明表中定义。
组织块(OB)、某些系统功能块(SFB)以及系统功能(SFC)已被系统根据块的功能预先赋予了符号名。
在符号表中可以定义全局符号,需要注意的是,并不需要下载符号表。
编辑符号后并保持符号表,这时符号表就生效了。
3.符号表的导入导出功能在符号表编辑器中,可以通过导入导出功能。
用户可以导出当前的符号表到一个文本文件,这样就可以用文本编辑器对符号进行编辑,还可以将文本编辑器中的符号表导入到用户程序中。
导出符号表时,用户可以选择文件格式为“*.DIF”,则可以在Excel中打开、编辑并存储DIF文件;也可以选择文件格式为“*.SDF”在Access中打开、编辑并存储SDF文件。
第二章组织块OB组织块(Organization Block),STEP7提供了大量的组织块用于执行用户程序,OB是CPU操作系统与用户程序间的接口。
OB被嵌在用户程序中,根据某个事件的发生,执行相应的中断,自动调用相应的OB。
1.OB1工作原理:CPU启动完毕后,操作系统就调用OB1,并且循环执行OB1的程序,读取当前输入模块的信号状态,刷新输入映像区并接收全局数据。
每一次OB1程序执行完后,操作系统发送全局数据,传送输出映像区数据到输出模块。
循环处理的主程序OB1的优先级最低,除OB90(背景组织块)外,其他所有的OB块均可以中断OB1的执行。
(教你一步一步吧学STEP7)

STEP 7的介绍
图1-1 间隙
使用单机架或多机架
是使用一个机架还是使用多个机架,取决于具体情况。
在下面的情况下应该使用单机架:
∙结构紧凑、需要节约空间
∙ CPU312、312 IFM、312C和CPU 313只能用单机架
∙所需处理的信号量少
在下面的情况下应该使用多机架:
机架3(ER)
连接电缆368
连接电缆368
机架2(ER)
连接电缆368
机架1(ER)
图1-2:安装举例
主机架配置方法
STEP7中,通过简单的拖放操作就可以完成主机架的配置。
配置过程中,添加到主机架中的模板的订货号(在硬件目录中选中一个模板,目录下方的窗口会显示该模板的订货号以及描述)应该与实际硬件一致。
先直接新建一个项目,在项目中插入一个SIMATIC 300 Station,双击Hardware图标,打开硬件组态程序。
在硬件目
录中找到S7-300机架,拖拽到左上方的视图中,即可添加一个
主机架。
西门子PLCSTEP7培训教程

•PLC基础知识•西门子PLCSTEP7软件介绍•编程基础与指令系统•顺序控制程序设计方法目录•功能模块与通信技术应用•案例分析与实践操作演练PLC定义及发展历程PLC定义发展历程PLC基本组成与工作原理基本组成PLC主要由CPU、存储器、输入/输出接口、电源等部分组成。
其中,CPU是PLC的核心部件,负责执行用户程序;存储器用于存储用户程序和数据;输入/输出接口用于连接外部设备和传感器。
工作原理PLC采用循环扫描的工作方式,即按照一定顺序循环执行输入扫描、程序执行、输出刷新等任务。
在输入扫描阶段,PLC读取输入信号的状态;在程序执行阶段,根据用户程序进行逻辑运算;在输出刷新阶段,将运算结果输出到外部设备。
应用领域编程简单功能强大扩展性强可靠性高优势PLC 应用领域及优势软件安装与启动方法安装步骤启动方法状态栏显示当前操作状态及相关信息。
用于编写和编辑程序代码的区域,支持多种编程语言。
项目树显示当前打开的项目结构,包括程序块、数据块、系统块等。
菜单栏包含文件、编辑、视图、工具、窗口和帮助等菜单项,用于执工具栏界面布局及功能区域划分常用操作命令与快捷键新建项目01打开项目02保存项目03另存为Ctrl+Shift+S关闭项目Ctrl+W打印Ctrl+P撤销操作重做操作查找替换编译项目下载到PLC上传到PLC 监视模式强制值基本数据类型复杂数据类型数组(ARRAY)、结构(STRUCT)、字符串(STRING)等。
直接寻址间接寻址寄存器寻址030201逻辑指令与(AND)、或(OR)、非(NOT)等逻辑运算指令。
比较指令:等于(=)、不等于(<>)、大于(>)、小于(<)等。
数学运算指令加法(+)、减法(-)、乘法(*)、除法(/)等基本数学运算。
三角函数、指数、对数等高级数学运算指令。
数据处理指令移动(MOVE)、复制(COPY)、交换(SWAP)等数据传送指令。
转换指令:数据类型转换、字节顺序转换等。
STEP 7 的简单操作

STEP 7 的简单操作了解STEP 7的功能,理解STEP 7创建方法,掌握S7-300/400 PLC 硬件组态;掌握应用逻辑块编程、程序调试技术。
标签:STEP 7;硬件组态;逻辑块编程、程序调试技术STEP 7是西门子集成自动化的基础,在STEP 7中是用项目来管理一个自动化系统的硬件和软件。
STEP 7使系统具有统一组态和编程方式、统一的数据管理和通信方式。
1 创建一个STEP 7 项目启动STEP7 管理器(SIMATIC MANAGER),双击图标,即打开SIMATIC 管理器窗口。
1.1 用项目向导创建STEP 7项目1.1.1 在SIMATIC管理区中选择菜单命令“File”(文件)→“New Project Wizard”(新建项目向导),打开工程向导。
1.1.2 点击“Next >”按钮,在出现对话框中选择CPU模块的型号,设置CPU 在MPI网络中的站地址(默认值为2)。
1.1.3 点击“Next >”按钮,在出现对话框中选择需要生成的组织块OB,默认的是只生成作为主程序的组织块OB1。
在该对话框中还可以选择块使用的编程语言。
1.1.4 点击“Next >”按钮,在出现的对话框的“Project name”(项目名称)处修改默认的项目名称。
点击“Finish”(完成)按钮,开始创建项目。
1.2 手动创建项目1.2.1 在SIMATIC管理区中选择菜单命令“File”(文件)→“New”(新建),出现“New Project”(新建项目)对话框。
1.2.2 为项目输入名称,在“Name”(命名)文本框处输入新项目的名称,“Storage”(存储位置)文本框中是默认的保存新项目的文件夹。
点击“Browse”(浏览)按钮,可以修改保存新项目的文件夹。
最后单击“OK”按钮确认输入。
2 硬件组态用鼠标右键点击管理器中新项目的图标,在出现的快捷菜单中选择“InsertNew Object”(插入新站)命令插入一个新的S7-300/400站。
Step7-数据类型详细说明总结汇总复习过程

S t e p7-数据类型详细说明总结汇总STEP7中的基本数据类型⑴位(BOOL)位数据的数据类型为BOOL(布尔)型,在软件编程中BOOL变量的值1和0常用英语词TURE (真)和FALSE(假)来表示,对应二进制数中的“1”和“0”,常用于开关量的逻辑运算,存储空间为1位。
⑵字节(BYTE)字节数据长度为8位,数据格式为B#16#,B代表BYTE,表示数据长度为一个字节(8位),#16#表示十六进制,取值范围为B#16#0~B#16#FF。
⑶字(WORD)字数据长度为16位,这种数据可采用4种方法进行描述。
二进制:二进制的格式为2#,如2#101,取值范围为2#0~2#1111_1111_1111_1111,书写时每4位可用下划线隔开,也可直接表示为2#111111111111。
十六进制:十六进制的格式为W#16#,W代表WORD,表示数据长度为16位,#16#表示十六进制,数据取值范围为W#16#0~W#16#FFFF。
BCD码:BCD码的格式为C#,取值范围为C#0~C#999。
BCD码是用4位二进制表示1位十进制数,4位二进制中的0000~1001组合分别表示十进制中的0~9,4位二进制中的1010~1111组合放弃不用。
BCD码的最高4位用来表示符号,十六位BCD码的取值范围为-999~+999。
在STEP7的数据格式中,BCD码的取值只取正值,与最高4位的符号无关。
无符号十进制数:无符号十进制数的格式为B#(×,×),取值范围为B#(0,0)~B#(255,255),无符号十进制数是用十进制的0~255对应二进制数中的0000_0000~1111_1111(8位),16位二进制数就需要两个0~255的数来表示,例如:B#(12,254)=2#0000_1100_1111_111012 254上面4种数据都是描述一个长度位16位的二进制数,无论你使用哪种方式都可以。
STEP7-快速入门

STEP7 V5.3快速入门合肥锐锋自控工程有限公司2007.3一硬件组态首先打开STEP7 V5.3软件(Simatic Manager)进入STEP7的编程画面.在名称(NAME)栏目内填上要建的项目名称,按<OK>即可。
此时打开的是名为CHEN的空项目,里面仅有一个MPI(1)的图标,在它下方空白处按鼠标右键,在弹出的窗体上点击“Insert New Object”,选择SIMATIC 400 Station,首先建立S7400站。
系统自动在项目“CHEN”下面生成“SIMATIC400(1)”图标,它表示S7400站已建立,但此时的S7400站里是空的,软件和硬件的组态都没有。
双击Simatic 400(1)图标,打开400站的组态,里面只有硬件组态(Hardware)图标,双击它进入硬件组态画面,这是S730/400 PLC编程的基础,所有的硬件信息、通讯方式、通讯地址、外部的输入/输出地址都要在此定义,必须按照硬件组态的地址编写用户软件。
SIEMENS S7300/400 PLC的硬件是模块化的,系统就是由这些模块以搭积木的方式组成,硬件组态的任务就是用软件的方式模拟这些模块组成的过程。
右边的栏目所列的是SIEMENS S7400/300系列PLC的硬件配置库,组态时要从这些库中找到与实际应用模块型号完全一致的模块按照SIEMENS的硬件组态标准进行“安装”,当然是指软件上的安装。
首先是安装底板。
所有的PLC模块都是安装在底板上的,S7400的底板功能有:A、固定硬件模块B、模块之间的通讯连接(内部有通讯线路),这一点不同于S7300,S7300的底板仅仅是个支架。
在“RACK-400”中找到“UR1”,这是我们实际用到的底板型号,如果不能确定众多同类型号中哪种才是我们要找的,可以依次用鼠标单击,在右下角会出现被点中模块的详细型号(“6ES7400-1TA01-0AA0”),直到找到完全相符的模块(实际用到的模块型号可以在控制柜的PLC模块面板上找到)。
实验二-西门子PLC编程软件STEP7的使用入门

实验二西门子PLC编程软件STEP7的使用入门一、实验目的1.初步掌握编程软件STEP7 V5.2的使用方法。
2.了解PLC中程序块的概念。
二、实验设备(仪器)1.计算机一台。
2.西门子S7-300PLC(CPU:315-2DP)一台。
三、实验内容1.编程软件STEP7 V5.2的硬件组态。
(1)新建一个项目。
首先用鼠标左键双击桌面上的STEP7图标,进入SIMATIC Manager(管理器)窗口,单击“File”菜单下的“New”,如图2-1所示,弹出一个对话框,在项目名称“Name”中输入sample,也可以在项目的存储路径“Storage location”中输入你要存储的地址,本实验中使用默认地址就可以,如图2-2所示,单击“Ok”完成,如图2-3所示。
图2-1 项目管理器界面图2-2 创建一个新的项目图2-3 创建一个项目后的管理器界面(2)插入一个S7-300的站,进行硬件组态。
在“Insert”菜单下的“”Station 的目录下单击“2 SIMATIC 300 Station”,如图2-4所示。
图2-4 在项目中插入对象(3)打开硬件组态界面。
选中左边窗口中的“SIMATIC 300(1)”,在右边窗口中可以看到“Hardware”图标,如图2-5所示。
图2-5 启动硬件组态程序双击右边窗口中的“Hardware”图标,进入硬件组态程序界面,如图2-6所示。
(4)主机架的配置方法。
在STEP7中,通过简单的拖放操作就可以完成主机架的配置。
①在硬件目录中找到S7-300机架拖拽到左上方的视图中,即可添加一个主机架。
图2-6 硬件组态程序界面②插入主机架后,分别在机架中的1号槽中添加电源,如图2-7所示,2号槽中添加CPU,如图2-8所示。
图2-7 向主机架中添加电源图2-8 向主机架中添加CPU③如果需要扩展机架,则应该在IM-300目录中找到相应的接口模块,添加到3号槽。
如无扩展机架,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和用户程序的接口。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
•CPU模块中的存储器分为:RAM(存用户程序和工作状态数据)、ROM(存系统程序)、EPROM(光可擦除可编程存储器)、EEPROM(电可擦可编程只读存储器)
•PCU中位数据的表示
•PCU中字节数据的表示
•PCU中字数据的表示
•MWl00是由MB1OO和MB1O1组成的1个字,下一个字是MW102
•字的取值范围为W#16#0000~W#16#FFFF(W#=字,16#=16进制)
•PCU中双字数据的表示
•常数的表示方法
•状态字STW
•首次检测位(FC)
•状态字的位0 称为首次检测位。
若FC位的状态为0,则表明一个梯形逻辑网络的开始,或指令为逻辑串第一条指令。
CPU对逻辑串第一条指令的检测(称为首次检测)
产生的结果直接保存在状态字的RLO位中,经过首次检测存放在RLO中的0 或1 被
称为首次检测结果。
FC位在逻辑串的开始时总是0,在逻辑串指令执行过程中FC位为
1,输出指令或与逻辑运算有关的转移指令(表示一个逻辑串结束的指令)将FC清0。
逻辑操作结果位(RLO)
状态字的位1 称为逻辑操作结果RLO(Result of Logic Operation)。
该位存储位逻辑指令或算术比较指令的结果。
在逻辑串中,RLO位的状态能够表示有关信号流的信息。
RLO的状态为1,表示有信号流(通);为0,表示无信号流(断)。
可用RLO触发跳转指令。
状态位(STA)
状态字的位2称为状态位。
状态位不能用指令检测,它只是在程序测试中被CPU 解释并使用。
如果一条指令是对存储区操作的位逻辑指令,则无论是对该位的读与写
操作,STA总是与该位的值取得一致;对不访问存储区的位逻辑指令来说,STA没有
意义,此时它总被置为1。
二进制结果位(BR)
在LAD的方块指令中,BR与ENO一致,在字操作中表示结果是否正确状态字的位8 称为二进制结果位。
它将字处理程序与位理联系起来,在一段既有位操作又
有字操作的程序中,用于表示字操作结果是否正确(异常)。
将BR位加入程序后,无
论字操作结果如何,都不会造成二进制逻辑链中断。
在LAD的方块指令中,BR位与
ENO有对应关系,用于表明方块指令是否被正确执行:如果执行出现了错误,BR位
为0,ENO也为0;如果功能被正确执行,BR位为1,ENO也为1。
在用户编写的FB和FC程序中,必须对BR位进行管理,当功能块正确运行后使BR位为1,否则使其为0。
使用STL指令SA VE 或LAD指令——(SA VE),可将
RLO存入BR中,从而达到管理BR位的目的。
当FB或FC执行无错误时,使RLO
为1并存入BR,否则,在BR中存入0。
•S7-300PLC存储区
PLC的工作原理:循环扫描
包括五个阶段:输入采样、程序执行、中断处理、自诊(CPU自诊断)、输出处理。
•形象理解PLC的工作方式
扫描周期:PLC执行的五个阶段,称为一个扫描周期,PLC完成一个周期后,又重新执
行上述过程,扫描周而复始地进行。
用户程序执行阶段:在没有跳转指令时,PLC的CPU从第一条指令开始,按先左后右、先上后下逐条地执行用户程序,直到用户程序结束处。
自诊断阶段:检查硬件、程序存储器,正常则顺序执行用户程序,不正常则转到错误处理程序。
中断程序的处理:在程序中使用了中断,中断事件发生时,CPU停止正常的扫描工作方式,立即执行中断程序,中断功能可以提高PLC对某些事件的响应速度。
PLC 采用循环执行用户程序的方式。
OB1 是用于循环处理的组织块(主程序),它可以调用别的逻辑块,或被中断程序(组织块)中断。
数字量输入信号上升沿、下降沿中断,模拟量输入超限,CPU 暂停当前程序,处理OB40组织块
状态与故障显示LED:
SF(系统出错/故障显示,红色):CPU 硬件故障或软件错误时亮。
BATF(电池故障,红色):电池电压低或没有电池时亮。
DC 5V(+5V 电源指示,绿色):5V 电源正常时亮。
FRCE(强制,黄色):至少有一个I/O 被强制时亮。
RUN(运行方式,绿色):CPU 处于RUN 状态时亮;重新启动
时以2 Hz 的频率闪亮;HOLD(单步、断点)状态时以0.5Hz 的频率闪亮。
STOP(停止方式,黄色):CPU 处于STOP,HOLD 状态或重新启动时常亮。
BUSF(总线错误,红色)
模式选择开关:
(1)RUN-P(运行-编程)位置:运行时还可以读出和修改用户程序,改变运行方式。
(2)RUN (运行)位置:CPU 执行、读出用户程序,但是不能修改用户程序。
(3)STOP(停止)位置:不执行用户程序,可以读出和修改用户程序。
(4)MRES(清除存储器):不能保持。
将钥匙开关从STOP 状态搬到MRES 位置,可复位存储器,使CPU 回到初始状态。
复位存储器操作:通电后从STOP 位置扳到MRES 位置,“STOP”LED 熄灭1s,亮1s,再熄灭1s 后保持亮。
放开开关,使它回到STOP 位置,然后又回到MRES,“STOP”LED 以2Hz 的频率至少闪动3s,表示正在执行复位,最后“STOP”LED 一直亮。
SM323 是S7-300 的数字量输入输出模块,8DI/8DO,16DI/16DO,下图表示SM331模块规定的确定的模拟量输入模块的模拟值。
如图,常用的4~20mA信号对应0~27648。
常用功能块编程
OB的重要性,执行程序,避免停机,执行中断等。
工艺,讲的是现场连锁,手自动模式,阀门开度,变频器开度,液位值大小等。
那么除了工艺外便是一些编程技巧,如下指出了常用的技巧。
除了将功能编程之外,还需要处理模拟量的输入(FC105)输出(FC106),PID(FB41)的调节。
FB、FC可以相等,只是在step7使用时规定了FB的使用比FC多带个DB。
既可以全部写成FC块,当数据量大而需要简便操作时便可以写成FB。
模拟量模块的作用是将4~20mA、0~10V等模拟量信号转换成数字信号0/1,数字信号还需要通过编程(FC105、FC106)转换成工程量信号(m,pa,min)。
PID除了以下参数外平常使用可以忽视:手自动开关(man_on),设定值来源(sp),瞬时修正值(pv),手动值(man),K系数(grain),
1、FC105是处理模拟量(1~5V、4~20MA等常规信号)输入的功能块,在中,打开
Libraries\standard library\
Ti-S7 Converting Blocks\fc105,将其调入OB1中,给各个管脚输入地址;如下:
其中,管脚的定义如下:
IN---------模拟量模块的输入通道地址,在硬件组态时分配;
HI_LIM---现场信号的最大量程值;
LO_LIM--现场信号的最小量程值;
BIPOLAR—极性设置,如果现场信号为+10V~-10V(有极性信号),
则设置为1,
如果现场信号为4MA~20MA(无极性信号);则设置为0;
OUT-------现场信号值(带工程量单位);信号类型是实数,所以要用
MD200来存放;
RET_V AL-FC105功能块的故障字,可存放在一个字里面。
如:MW50;
2、热电偶、热电阻信号的处理,该类信号实际值是通道整数值的1/10;
3、FB41 PID控制模块的使用;
PID模块是进行模拟量控制的模块,可以完成恒压、恒温等控制功能在中,打开Libraries\standard library\
PID Control block\FB41,将其调入OB1中,首先分配背景数据块DB41,再给各个管脚输入地址;如下:
4、脉冲输出模块FB43,该模块是将模拟量转换成比率的脉冲输出。
Libraries\standard library\ PID Control block\FB43,将其调入OB1中,首先分配背景数据块DB43,再给各个管脚输入地址;如下:
将程序下载调试,看PID的温度调节作用如何?如果控制的不好,改变P、I参数!
5、果现场是阀门等执行机构,只需要将通道地址输入PID的输出通道,如下:
6、如果单独控制变量输出通道,可使用FC106模块,FC106是处理模拟量(1~5V、4~20MA
等常规信号)输出的功能块,在中,打开Libraries\standard library\Ti-S7 Converting Blocks\fc106,将其调入OB1中,给各个管脚输入地址;如下:。