1、S7-300 PLCS7-300 PLC编程与应用编程与应用 从入门到提高从入门到提高 主讲:阳胜峰主讲:阳胜峰第第2626讲讲 S7 GRAPHS7 GRAPH的编程与应用的编程与应用一、一、顺序控制顺序控制二、控制器设计二、控制器设计三、三、S7 GRAPHS7 GRAPH编程编程 顺序功能图(简称顺序功能图(简称SFCSFC)是)是IECIEC标准编程语言,用于编制标准编程语言,用于编制复杂的顺控程序,很容易被初学者接受,对于有经验的电气复杂的顺控程序,很容易被初学者接受,对于有经验的电气程师,也会大大提高工作效率。程师,也会大大提高工作效率。一、一、顺序控制顺序控制例例: : 交通信号
2、灯控制系统设计。交通信号灯控制系统设计。 北向 南向 东向 西向 红 红 红 红 黄 黄 黄 黄 绿 绿 绿 绿 启动 停止 东西向 南北向 黄黄 红红 绿绿 Q4.0 Q4.1 Q4.2 Q4.3 Q4.4 Q4.5 交通信号灯控制盘 I0.0 I0.1 二、控制器设计二、控制器设计 上图所示为双干道交通信号灯设置示意图,元件分配表上图所示为双干道交通信号灯设置示意图,元件分配表如下。如下。 二、控制器设计二、控制器设计1.1.控制说明控制说明 信号灯的动作受信号灯的动作受开关总体控制,按一开关总体控制,按一下起动按钮,信号灯下起动按钮,信号灯系统开始工作,工作系统开始工作,工作流程如图所示
3、。流程如图所示。 开 始 东西向红灯亮、南北向绿灯亮 20s 时间到否? 东西向红灯亮、南北向黄灯亮 5s 时间到否? 东西向绿灯亮、南北向红灯亮 30s 时间到否? 东西向黄灯亮、南北向红灯亮 5s 时间到否? Y Y Y Y N N N N 二、控制器设计二、控制器设计2.2.顺序功能图顺序功能图 分析信号灯的变分析信号灯的变化规律,可将工作过化规律,可将工作过程分成程分成4个依设定时个依设定时间而顺序循环执行的间而顺序循环执行的状态:状态:S2、S3、S4和和S5,另设一个初,另设一个初始状态始状态S1。由于控。由于控制比较简单,可用单制比较简单,可用单流程实现,如图流程实现,如图6-7
4、所示。所示。 S2T1StartS3T2S4T3S5S1StopR S2R S3R S4R S5= S1T4= Q4.0= Q4.5T1 20s= Q4.0= Q4.4T2 5s= Q4.2= Q4.3T3 30s= Q4.1= Q4.3T4 5s 编写程序时,可将顺序功能编写程序时,可将顺序功能图放置在一个功能块(图放置在一个功能块(FB)中,而将停止作用的部分程序中,而将停止作用的部分程序放置在另一个功能(放置在另一个功能(FC)或)或功能块(功能块(FB)中。这样在系)中。这样在系统启动运行期间,只要停止按统启动运行期间,只要停止按钮(钮(Stop)被按动,立即将)被按动,立即将所有状态
5、所有状态S2S5复位,并返复位,并返回到待命状态回到待命状态S1。 在待命状态下,只要按动起在待命状态下,只要按动起动按钮(动按钮(Start),系统即开),系统即开始按顺序功能图所描述的过程始按顺序功能图所描述的过程循环执行。循环执行。二、控制器设计二、控制器设计三、三、S7 GRAPHS7 GRAPH编程编程 利用利用S7 GRAPHS7 GRAPH编程语言,可以清楚快速地组织和编写编程语言,可以清楚快速地组织和编写S7 S7 PLCPLC系统的顺序控制程序。它根据功能将控制任务分解为若系统的顺序控制程序。它根据功能将控制任务分解为若干步,其顺序用图形方式显示出来并且可形成图形和文本方干步
6、,其顺序用图形方式显示出来并且可形成图形和文本方式的文件。可非常方便地实现全局、单页或单步显示及互式的文件。可非常方便地实现全局、单页或单步显示及互锁控制和监视条件的图形分离。锁控制和监视条件的图形分离。 在每一步中要执行相应的动作并且根据条件决定是否转在每一步中要执行相应的动作并且根据条件决定是否转换为下一步。它们的定义、互锁或监视功能用换为下一步。它们的定义、互锁或监视功能用STEP 7STEP 7的编程的编程语言语言LADLAD或或FBDFBD来实现。来实现。 下面结合下面结合交通信号灯控制系统交通信号灯控制系统,介绍如何用,介绍如何用S7 GRAPHS7 GRAPH编编辑顺序功能图。辑
7、顺序功能图。1.1.创建创建S7S7项目项目 打开打开SIMATIC ManagerSIMATIC Manager,然后执行菜单命令,然后执行菜单命令【FileFile】【NewNew】创建一个项目,并命名为创建一个项目,并命名为“信号灯信号灯GraphGraph”。2.2.硬件配置硬件配置 选择选择“信号灯信号灯GraphGraph”项目下的项目下的“SIMATIC 300 StationSIMATIC 300 Station”文件夹,进入文件夹,进入硬件组态窗口硬件组态窗口按图完成硬件配置,最后编译保按图完成硬件配置,最后编译保存并下载到存并下载到CPUCPU。三、三、S7 GRAPHS7
8、 GRAPH编程编程3.3.编辑符号表编辑符号表三、三、S7 GRAPHS7 GRAPH编程编程4.4.插入插入S7 GRAPHS7 GRAPH功能块(功能块(FBFB) 三、三、S7 GRAPHS7 GRAPH编程编程5 5、了解、了解S7 GRAPHS7 GRAPH编辑器编辑器 工工作作区区 浮浮动动的的浏浏览览窗窗口口 选选项项卡卡 详详细细信信息息窗窗口口 标标准准工工具具栏栏 浮浮动动工工具具栏栏 转转换换条条件件编编辑辑指指令令 视视图图工工具具栏栏 三、三、S7 GRAPHS7 GRAPH编程编程(1 1)视窗工具栏)视窗工具栏 区域放大 缩小 放大 显示/隐藏详细信息窗口 显示
9、/隐藏浏览窗口 选择浏览窗口的停泊位置 显示/隐藏步的条件和动作项 显示/隐藏注释区域 切换符号地址显示方式 显示永久性指令 单步显示方式 顺控器显示方式 缩放比例 三、三、S7 GRAPHS7 GRAPH编程编程(2 2) Sequencer Sequencer浮动工具栏浮动工具栏 插入顺控器 插入永久性 FC/FB 调用 插入永久性条件 插入动作 插入监视时间 U 插入监视时间 T 并行分支汇合 插入并行分支 选择性分支汇合 插入选择性分支 分支终止 预选和直接方式切换 跳转 插入步和转换 选择对象 三、三、S7 GRAPHS7 GRAPH编程编程(3 3) 转换条件编辑工具栏转换条件编辑
10、工具栏 梯形图分支闭合 插入梯形图分支 插入比较指令 插入常闭指令触点 插入常开指令触点 三、三、S7 GRAPHS7 GRAPH编程编程(4 4) 浏览窗口浏览窗口 图形选项卡 顺控器选项卡 变量选项卡 三、三、S7 GRAPHS7 GRAPH编程编程(5 5) 步与步的动作命令步与步的动作命令 命令区 操作数地址区 动作命令框 转换条件梯形图 步序 步名 转换编号 转换名 三、三、S7 GRAPHS7 GRAPH编程编程标准动作标准动作 对标准动作可以设置互锁(在命令的后面加对标准动作可以设置互锁(在命令的后面加“C C”),仅),仅在步处于活动状态和互锁条件满足时,有互锁的动作才被执在步
11、处于活动状态和互锁条件满足时,有互锁的动作才被执行。没有互锁的动作在步处于活动状态时就会被执行。行。没有互锁的动作在步处于活动状态时就会被执行。 三、三、S7 GRAPHS7 GRAPH编程编程与事件有关的动作与事件有关的动作 动作可以与事件结合,事件是指步、监控信号、互锁信动作可以与事件结合,事件是指步、监控信号、互锁信号的状态变化、信息(号的状态变化、信息(MessageMessage)的确认()的确认(AcknowledgmentAcknowledgment)或记录(或记录(RegistrationRegistration)信号被置位,事件的意义见下表。)信号被置位,事件的意义见下表。命
12、令只能在事件发生的那个循环周期执行。命令只能在事件发生的那个循环周期执行。 三、三、S7 GRAPHS7 GRAPH编程编程ONON命令与命令与OFFOFF命令命令 用用ONON命令或命令或OFFOFF命令可以使命令所在步之外的其他步变为命令可以使命令所在步之外的其他步变为活动步或非活动步。活动步或非活动步。 指定的事件发生时,可以将指定的步变为活动步或非活指定的事件发生时,可以将指定的步变为活动步或非活动步。如果命令动步。如果命令OFFOFF的地址标识符为的地址标识符为S_ALLS_ALL,将除了命令,将除了命令“S1S1(V1V1,L1L1)OFFOFF”所在的步之外其他的步变为非活动步。
13、所在的步之外其他的步变为非活动步。三、三、S7 GRAPHS7 GRAPH编程编程动作中的计数器动作中的计数器 动作中的计数器的执行与指定的事件有关。互锁功能可动作中的计数器的执行与指定的事件有关。互锁功能可以用于计数器,对于有互锁功能的计数器,只有在互锁条件以用于计数器,对于有互锁功能的计数器,只有在互锁条件满足和指定的事件出现时,动作中的计数器才会计数。计数满足和指定的事件出现时,动作中的计数器才会计数。计数值为值为0 0时计数器位为时计数器位为“0 0”,计数值非,计数值非0 0时计数器位为时计数器位为“1 1”。 事件发生时,计数器指令事件发生时,计数器指令CSCS将初值装入计数器。将
14、初值装入计数器。CSCS指令指令下面一行是要装入的计数器的初值,它可以由下面一行是要装入的计数器的初值,它可以由IWIW、QWQW、MWMW、LWLW、DBWDBW、BIWBIW来提供,或用常数来提供,或用常数C#0C#0C#999C#999的形式给出。的形式给出。 事件发生时,事件发生时,CUCU、CDCD、CRCR指令使计数值分别加指令使计数值分别加1 1、减、减1 1或或将计数值复位为将计数值复位为0 0。计数器命令与互锁组合时,命令后面要加。计数器命令与互锁组合时,命令后面要加上上“C C”。三、三、S7 GRAPHS7 GRAPH编程编程动作中的定时器动作中的定时器 动作中的定时器与
15、计数器的使用方法类似,事件出现时动作中的定时器与计数器的使用方法类似,事件出现时定时器被执行。互锁功能也可以用于定时器。定时器被执行。互锁功能也可以用于定时器。 TLTL命令为扩展的脉冲定时器命令,该命令的下面一行命令为扩展的脉冲定时器命令,该命令的下面一行是定时器的定时时间是定时器的定时时间“timetime”,定时器位没有闭锁功能。,定时器位没有闭锁功能。 TDTD命令用来实现定时器位有闭锁功能的延迟。命令用来实现定时器位有闭锁功能的延迟。 TRTR是复位定时器命令,一旦事件发生定时器立即停止是复位定时器命令,一旦事件发生定时器立即停止定时,定时器位与定时值被复位为定时,定时器位与定时值被
16、复位为“0 0”。三、三、S7 GRAPHS7 GRAPH编程编程(6 6)设置)设置S7 GRAPHS7 GRAPH功能块的参数集功能块的参数集 三、三、S7 GRAPHS7 GRAPH编程编程6 6、编辑、编辑S7 GRAPHS7 GRAPH功能块(功能块(FBFB) 规划顺序功能图规划顺序功能图 编辑步的名称编辑步的名称 动作的编辑动作的编辑 编程转换条件编程转换条件 三、三、S7 GRAPHS7 GRAPH编程编程(1 1)规划顺序功能图)规划顺序功能图 输入目标步的编号 光标指向目标步的框线 自动添加跳转起始步的转换 插入插入“步及步的转换步及步的转换”; 插入插入“跳转跳转”。 三
17、、三、S7 GRAPHS7 GRAPH编程编程(2 2) 编辑步的名称编辑步的名称 表示步的方框内有步的编表示步的方框内有步的编号(如号(如S1S1)和步的名称(如)和步的名称(如Step1Step1),点击相应项可以进行),点击相应项可以进行修改,不能用汉字作步和转换修改,不能用汉字作步和转换的名称。的名称。 将步将步S1S1S5S5的名称依次改的名称依次改为为“InitialInitial(初始化)(初始化)”、“ER_SGER_SG(东西向红灯(东西向红灯- -南北向南北向绿灯)绿灯)”“”“ER_SYER_SY(东西向红灯(东西向红灯- -南北向黄灯)南北向黄灯)”、“EG_SREG_
18、SR(东西向绿灯(东西向绿灯- -南北向红灯)南北向红灯)”、“EY_SREY_SR(东西向黄灯(东西向黄灯- -南北向南北向红红灯)灯)”。 三、三、S7 GRAPHS7 GRAPH编程编程(3 3) 动作的编辑动作的编辑 用鼠标点击用鼠标点击S2S2的动作框的动作框线,然后点击动作行工具,插线,然后点击动作行工具,插入入3 3个动作行;在第个动作行;在第3 3个动作行个动作行中输入命令中输入命令“D D”回车,第回车,第2 2行的行的右栏自动变为右栏自动变为2 2行,在第行,在第1 1行内行内输入位地址,如输入位地址,如M0.0M0.0,然后回,然后回车;在第车;在第2 2行内输入输入时间
19、常行内输入输入时间常数 , 如数 , 如 T # 2 0 ST # 2 0 S ( 表 示 延 时( 表 示 延 时20s20s),然后回车。),然后回车。 按照同样的方法,完成按照同样的方法,完成S3S3S5S5的命令输入。的命令输入。 三、三、S7 GRAPHS7 GRAPH编程编程4.4.编程转换条件编程转换条件 点击转换名右边点击转换名右边与虚线相连的转换条与虚线相连的转换条件,在窗口最左边的件,在窗口最左边的工具条中点击常开触工具条中点击常开触点、常闭触点或方框点、常闭触点或方框形的比较器(相当于形的比较器(相当于一个触点),可对转一个触点),可对转换条件进行编程,编换条件进行编程,
20、编辑 方 法 同 梯 形辑 方 法 同 梯 形图语言。图语言。 三、三、S7 GRAPHS7 GRAPH编程编程7 7、在、在OB1OB1中调用中调用S7 GRAPHS7 GRAPH功能块(功能块(FBFB) 设置设置S7 GRAPHS7 GRAPH功能块的参数集功能块的参数集调用调用S7 GRAPHS7 GRAPH功能块功能块 用用S7-PLCSIMS7-PLCSIM仿真软件调试仿真软件调试S7 GRAPHS7 GRAPH程序程序 三、三、S7 GRAPHS7 GRAPH编程编程(1 1)设置)设置S7 GRAPHS7 GRAPH功能块的参数集功能块的参数集 在在S7 GRAPHS7 GRA
21、PH编辑编辑器 中 执 行 菜 单 命 令器 中 执 行 菜 单 命 令【OptionOption】【Block Block SettingSetting】,打开,打开S7 S7 GRAPHGRAPH功能块参数设置功能块参数设置对话框,本例将对话框,本例将FBFB设设置为标准参数集。其置为标准参数集。其他采用默认值,设置他采用默认值,设置完毕保存完毕保存FB1FB1。 三、三、S7 GRAPHS7 GRAPH编程编程(2 2)调用)调用S7 GRAPHS7 GRAPH功能块功能块 打开编辑器左侧浏览窗口中的打开编辑器左侧浏览窗口中的“FB BlocksFB Blocks”文件夹,双文件夹,双击
22、其中的击其中的FB1FB1图标,在图标,在OB1OB1的的Nework 1Nework 1中调用顺序功能图程序中调用顺序功能图程序FB1FB1,在模块的上方输入,在模块的上方输入FB1FB1的背景功能块的背景功能块DB1DB1的名称。的名称。 在在“INIT_SQINIT_SQ”端口上输入端口上输入“StartStart”,也就是用起动按钮,也就是用起动按钮激活顺控器的初始部激活顺控器的初始部S1S1;在;在“OFF_SQOFF_SQ”端口上输入端口上输入“StopStop”,也就是用停止按钮关闭顺控器。最后用菜单命令也就是用停止按钮关闭顺控器。最后用菜单命令【FileFile】【savesave】保存保存OB1OB1。三、三、S7 GRAPHS7 GRAPH编程编程(3 3) 用用S7-PLCSIMS7-PLCSIM仿真软件调试仿真软件调试S7 GRAPHS7 GRAPH程序程序 三、三、S7 GRAPHS7 GRAPH编程编程ENDEND