使用S7Graph编程的例子“图1-1”中的两条运输带顺序相连,为了避免运送的物料在1号运输带上堆积,起动时应先起动1号运输带,延时6s后自动起动2号运输带。停机时为了避免物料的堆积,应尽量将皮带上的余料清理干净,使下一次可以轻载起动,停机的顺序应与起动的顺序相反,即按了停止按钮后,先停2号运输带,5s后再停1号运输带。“图1-1”给出了输入输出信号的波形图和顺序功能图。控制1号运输带的Q1.0在步M0.1~M0.3中都应为1。为了简化顺序功能图和梯形图,在步M0.1将Q1.0置为1,在初始步将Q1.0复位为0。Y0Y12号运输带1号运输带I1.0I1.16s5sM0.0M0.1I1.0起动M0.2T0M0.1I1.1停车T1RQ1.0RQ1.0RQ1.0T1T0复位1号运输带2号运输带运行置位1号运输带延时5s图1-1运输带控制系统示意图与顺序功能图1.创建使用S7Graph语言的功能块FB(1)打开SIMATIC管理器中的“Blocks”文件夹。(2)用右键点击屏幕右边的窗口,在弹出的菜单中执行命令“InsertNewObjectFunctionBlock”。(3)在“PropertiesFunctionBlock”对话框中选择编程语言为GRAPH,功能块的编号为FB1。单击【OK】按钮确认后,自动打开刚生成的FB1,FB1中有自动生成的第1步Step1和第1个转换Trans1。2.S7Graph的两种编辑模式(1)“Direct”(直接)编辑模式执行菜单命令“Insert”“Direct”将进入“Direct”编辑模式。如果希望在某一元件的后面插入新的元件,首先用鼠标选择该元件,点击工具条上希望插入的元件对应的按钮,或从“Insert”菜单中选择要插入的元件。为了在同一位置增加同类型的元件,可以连续点击工具条上同一个按钮或执行“Insert”菜单中相同的命令。(2)“DragandDrop”编辑模式执行菜单命令“Insert”“Drag-and-Drop”,将进入“DragandDrop”(拖放)编辑模式。也可以点击工具条上最左边的【Preselected/Direct】(预选/直接)按钮,在“拖放”模式和“直接”模式之间切换。在“拖放”模式点击工具条上的按钮,或从“Insert”菜单中选择要插入的元件后,鼠标将会带着“图1-2”右边被点击的图标移动。图1-2Sequencer工具条如果鼠标附带的图形有“prohibited”(禁止)信号,即“图1-2”右边带红色边框的圆圈(中间有一条45°的红线),则表示该元件不能插在鼠标当前的位置。在允许插入该元件的区域“禁止”标志消失,点击鼠标便可以插入一个拖动的元件。插入完同类元件后,在禁止插入的区域点击鼠标的左键,跟随鼠标移动的图形将会消失。3.生成顺序控制器的基本框架(1)在Direct编辑模式,用鼠标选中刚打开的FB1窗口中工作区内初始步下面的转换,该转换变为浅紫色。点击3次工具条中的步与转换按钮,将自上而下增加3个步和3个转换(见“图1-3”)。图1-3运输带控制系统的顺序功能图(2)用鼠标选中最下面的转换,点击工具条中的跳步按钮,输入跳步的目标步S1。在步S1上面的有向连线上,自动出现一个水平的箭头,它的右边标有转换T4,相当于生成了一条起于T4,止于步S1的有向连线(见“图1-3”)。至此步S1~S4形成了一个闭环。4.步与动作的编程表示步的方框内有步的编号(例如S2)和步的名称(例如Delay1),点击后可以修改它们,不能用汉字作步和转换的名称。执行菜单命令“View”“Displaywith”“ConditionsandActions”,可以显示或关闭各步的动作和转换条件。在“直接”模式,用鼠标右键点击步右边的动作框,在弹出的菜单中执行命令“InsertNewObject”“Action”,将插入一个空的动作行。一个动作行由命令和地址组成,它右边的方框用来写入命令,下面是一些常用的命令:(1)命令S:当步为活动步时,使输出置位为1状态并保持。(2)命令R:当步为活动步时,使输出复位为0状态并保持。(3)命令N:当步为活动步时,输出为1;该步变为不活动步时,输出被复位为0。(4)命令L:用来产生宽度受限的脉冲,当该步为活动步时,该输出被置1并保持一段时间,该时间由L命令下面一行中的时间常数决定,格式为“T#n”,n为延时时间,例如T#5S。(5)命令CALL:用来调用块,当该步为活动步时,调用命令中指定的块。(6)命令D:使某一动作的执行延时,延时时间在该命令右下方的方框中设置,例如T#5S表示延时5s。延时时间到时,如果步仍然保持为活动步,则使该动作输出为1;如果该步已变为不活动步,使该动作输出为0。在“直接”模式用鼠标右键点击“图1-3”中第2步(S2)的动作框,在弹出的菜单中选择插入动作行,在新的动作行中输入命令S,地址为Q1.0,即在第2步将控制1号运输带的Q1.0置位。第2步需要延时6s,用右键点击第2步的动作框,生成新的动作行,输入命令D(延时),地址为M0.3,在地址下面的空格中输入时间常数“T#6S”(6s)。M0.3是步S2和S3之间的转换条件。起动延时时间到时,M0.3的常开触点闭合,使系统从步S2转换到步S3。5.对转换条件编程转换条件可以用梯形图或功能块图来表示,在“View”菜单中用“LAD”或“FBD”命令来切换两种表示方法,下面介绍用梯形图来生成转换条件的方法。点击用虚线与转换相连接的转换条件中要放置元件的位置,在“图1-4”的窗口最左边的工具条中点击常开触点、常闭触点或方框形的比较器(相当于一个触点),用它们组成的串并联电路来对转换条件编程。生成触点后,点击触点上方的“??.?”,输入绝对地址或符号地址。用左键选中某一地址,再用右键点击它,在弹出的菜单中执行命令“insertsymbols”,将会出现符号表,使符号地址的输入更加方便。图1-4S7Graph的LAD在用比较器编程时,可以将步的系统信息作为地址来使用。下面是这些地址的意义:Step_name.T:步当前或最后一次被激活的时间。Step_name.U:步当前或最后一次被激活的时间,不包括有干扰(disturbance)的时间。如果监控条件的逻辑运算满足,表示有干扰事件发生。6.对监控功能编程双击步S3后,切换到单步视图(见“图1-5”),选中Supervision(监控)线圈左边的水平线的缺口处,点击“图1-4”最左边的工具条中用方框表示的比较器图标,在比较器左边第一个引脚输入Belt2.T,Belt2是第3步的名称(2号运输带),在比较器左边下面的引脚输入“T#2H”,设置的监视时间为2h。如果该步的执行时间超过2h,该步被认为出错,出错步被显示为红色。图1-5单步显示模式中的监控与互锁条件7.保存和关闭顺序控制器编辑窗口用菜单命令“File”“Save”保存顺序控制器时,它将被自动编译。如果程序有错误,在“Details”窗口给出错误提示和警告,改正错误后才能保存。选择菜单命令“File”“Close”关闭顺序控制器编辑窗口。8.在主程序中调用S7GraphFB完成了对S7Graph程序FB1的编程后,需要在主程序OB1中调用FB1,同时应指定FB1对应的背景数据块。为此应在SIMATIC管理器中首先生成FB1的背景数据块DB1。在管理器中打开“Blocks”文件夹,双击OB1图标,打开梯形图编辑器。选中网络1中用来放置元件的水平“导线”。在S7Graph编辑器中将FB1的参数设为Minimum(最小),调用它时FB1只有一个参数INIT_SQ,指定用M0.0作INIT_SQ的实参。在线模式时可以用这个参数来对初始步S1置位。打开编辑器左侧浏览窗口中的“FBBlocks”文件夹,双击其中的FB1图标,在OB1的网络1中调用顺序功能图程序FB1,在模块的上方输入FB1的背景功能块DB1的名称。最后用菜单命令“File”“Save”保存OB1,用菜单命令“File”“Close”关闭梯形图编辑器。9.用S7-PLCSIM仿真软件调试S7Graph程序使用S7-PLCSIM仿真软件调试S7Graph程序的步骤如下:(1)在STEP7编程软件中生成前述的名为“运输带控制”的项目,用S7Graph语言编写控制程序FB1,其背景数据块为DB1,在组织块OB1中编写调用FB1的程序并保存。(2)点击SIMATIC管理器工具条中的【Simulationon/off】按钮,或执行菜单命令“Options”“SimulateModules”,打开S7-PLCSIM窗口,窗口中自动出现CPU视图对象。与此同时,自动建立了STEP7与仿真CPU的连接。(3)在S7-PLCSIM窗口中点击CPU视图对象中的STOP框,令仿真PLC处于STOP模式。执行菜单命令“Execute”“ScanMode”“ContinuousScan”或点击【ContinuousScan】按钮,令仿真PLC的扫描方式为连续扫描。(4)在SIMATIC管理器左边的窗口中选中“Blocks”对象,点击工具条中的【下载】按钮,或执行菜单命令“PLC”“Download”,将块对象下载到仿真PLC中。(5)点击S7-PLCSIM工具条中标有【I】的按钮,或执行菜单命令“Insert”“InputVariable”(插入输入变量),创建输入字节IB1的视图对象。用类似的方法生成输出字节QB1、IB1和QB1以位的方式显示。“图1-6”是在RUN模式时监控顺序控制器的画面,图中的“起动延时”和“停止延时”分别是“图1-3”中的M0.3和M0.4的符号地址。(6)在S7-PLCSIM中模拟实际系统的操作点击CPU视图对象中标有RUN或RUN-P的小框,将仿真PLC的CPU置于运行模式。在S7-Graph编辑器中执行菜单命令“Debug”“Monitor”,或点击工具条内标有眼镜符号的“监控”图标,对顺序控制器的工作进程进行监控。刚开始监控时只有初始步为绿色,表示它为活动步。点击PLCSIM中I1.0对应的方框(按下起动按钮),接着再点击1次,使方框内的“√”消失,模拟放开起动按钮。可以看到步S1变为白色,步S2变为绿色,表示由步S1转换到了步S2。进入步S2后,它的动作方框上方的两个监控定时器开始定时。它们用来计算当前步被激活的时间,其中定时器U不包括干扰出现的时间。定时时间达到设定值6s时,步S2下面的转换条件满足,将自动转换到步S3。在PLCSIM中用I1.1模拟停止按钮的操作,将会观察到由步3转换到步4的过程,延时5s后自动返回初始步。各个动作右边的小方框内是该动作的0、1状态。用梯形图表示的转换条件中的触点接通时,触点和它右边有“能流”流过的“导线”将变为绿色。顺序控制器的运行模式与监控操作计算机与CPU建立起通信联系后,将S7GraphFB和它的背景数据块下载到CPU,在S7Graph编辑器中执行菜单命令“Debug”“ControlSequencer”,在出现的对话框中(见“图2-1”),可以对顺序控制器进行各种监控操作。有4种运行模式:自动(Automatic)、手动(Manual)、单步(Inch)、自动或切换到下一步(Automaticorswitchtonext)。PLC在RUN模式时,不能切换工作方式,在RUN-P模式时,可以在前3种模式之间切换。切换到新模式后,原来的模式用加粗的字体显示。1.自动模式在自动模式点击【Acknowledge】按钮,将确认被挂起的错误信息。当监控发生错误时,例如某步的执行时间超过监控时间,该步变为红色,功能块会产生一个错误信息。在确认错误之前,应保证产生错误的条件已不再满足。当顺序控制器转换到下一步的转换条件满足时,通过确认错误,将会强制性的转换到下一步,不会停留在出错的步。点击【Initialize】(初始化)按钮,将重新起动顺序控制器,使之返回初始步。点击【Disable】(禁止)按钮,使顺序控制器中所有的步变为不活动步,