西门子PLC的GRAPH语言你会用吗?实例讲解如何使用GRAPH!
原创不易,请勿抄袭,违者必究。
熟悉西门子的人都知道,西门子的PLC支持的语言很多,除了最基本的LAD,FBD,STL之外,还有很多在国内不是很常见的语言,其中包括GRAPH,SCL,CFC,SFC等等;
这些语言虽然不是很常见,可以对于一些特定的场合却可以起到很重要的作用。
今天我们讲一讲GRAPH的用法。
西门子系列PLC包括300、400、1500系列(除S7-1200外)均支持GRAPH指令,而S7-200系列虽然没有GRAPH语言,但是却拥有GRAPH的缩减版,那就是步进命令,有过实际编程经验的朋友都知道,在一些特定的场合需要使用循环反复的步进指令,这个指令可以自己编写,也可以直接使用PLC内部的步进指令。
只是GRAPH语言比步进语言强大得多了,所以西门子自300PLC开始,专门做了一个插件(升级包),该插件的授权需要在STEP7软件的基础上额外购买。
博途软件因为系统软件的高度集成化,所以GRAPH也集成在了博途软件里,所以安装过博途软件的朋友可以直接在博途里使用该语言编写300/400/1500系列PLC的程序,下面用一个简单的例子来说明GRAPH指令的应用。
假设,我们需要做一个顺序控制的程序,程序分为4步,每步对应不同的生产工艺即不同的输出,每步以不同的脉冲命令作为使能条件。
步骤
1)电脑需要安装带仿真的博途软件。
2)打开软件,建立新项目
3)添加一个新设备,这里选择cpu317-2dp,保存项目;
4)回到程序编辑区,点开“程序块” 双击创建一个FB,选择GRAPH语言,依次编写程序,图示:
5)在程序里输入指令如图;
第一步,输出命令置位Q0.0
第二步,执行条件为I0.2,输出命令为置位Q0.1
第三步,执行条件为I0.3,输出命令为复位Q0.0和Q0.1
第四步,执行条件为I0.4,输出命令为结束该程序块
6)编写完程序后,回到OB1中调用FB1,系统会要求生成一个背景数据块,我采用默认数据块DB1,调用完程序后,我们填写FB1管角,仅需要填写第一个和第二个;第一个是中止功能块FB1命令,第二个是执行FB1功能块,也就是程序里第一步的执行条件。
7)编译,如果没有问题就可以打开仿真,并下载到PLC里。
8)将PLC打到RUN模式,然后将测试的输入输出加到仿真里。
9)然后测试,先后将I0.1,I0.2,I0.3,I0.4激活,可以看到输出也发生了变化。
其实GRAPH里面除了文中所述的步进指令外,还有其他的功能,其功能完全可以实现各种复杂的功能,作者曾见到过一个德国工程师以GRAPH作为程序的主体来编写程序,写完的程序基本上没有多少人能看懂。
你学会了吗?文章篇幅有限,更多的功能需要大家自己去钻研。
喜欢的话请点赞并分享,您的支持是我坚持下去的动力!送人玫瑰,手有余香!
西门子如何使用GRAPH编程,看看就明白
GRAPH编程语言的介绍:
GRAPH是S7-300/400PLC用于顺序控制程序编程的顺序功能图语言,需要额外装S7-GRAPH。
顺序控制程序的结构
使用Graph编写的顺序控制程序以功能块FB的形式被主程序OB1调用。一个顺序控制项目至少需要3个块:
1)一个调用S7-Graph FB的块,它可以是组织块OB、功能FC或功能块FB。
2)一个用来描述顺序控制系统各子任务(步)和相互关系(转换)的S7-Graph FB,它是由一个或多个顺序器(Sequencer)和可选的永久指令组成。
3)一个指定给S7-Graph FB的背景数据块(FB),它包含了顺序控制系统的参数。
通过一个实例来看看如何来编程:
一个运输皮带的控制,如下图所示:
1、首先创建S7-Graph的功能块
在SIMATIC管理器中插入功能块FB,在出现的属性对话框的创建语言选择GRAPH。如下图所示
双击打开生成的FB1。如下图所示
本例的顺序功能图如下:
在打开的FB1中,点击如下图箭头所示的插入步和转换条件按钮。
选中T4选择如下图所示的JUMP按钮,在T4下面出现一个箭头,箭头旁边的输入框中输入1,表示T4跳转S1,如下图所示:
生成步,用鼠标右键单击初始步S1右边的动作框,选择“Insert New Element”_Action,这样就插入一个空的动作行,如下图所示:
生成转换条件:
在打开Graph编辑器时,转换条件模式的语言是FBD,可以通过工具栏的VIEW转换为LAD,选中T1对应的转换条件插入一个常开触点。如下图所示:
在上图中在步S2的动作框输入指令D后,指令右边自动出现两行,在上面行输入地址M0.3,下面行输入T#6S,延时6s后M0.3变为1.
用此方法生成如下的步和转换条件。
对监控功能的编程
双击步S3,切换到单步视图,选择Supervision(监控)线圈,单击工具栏上的比较器按钮,在比较器左边中间的引脚输入“S3.T”,下面的引脚输入T#2H,设置监视时间。如下图所示
图中的Interlock是对被显示的步的互锁条件。
设置S7-Graph功能块的参数集
执行菜单命令【Option】-【Block Setting】,在打开的对话框的FB Parameters区选择Minimum,单击OK。
OB1中调用FB1,程序如下。
启动仿真:如下图所示
在面对复杂的顺序功能图时,为了突出重点便于观察,可以点击显示工具栏上的”关闭动作和转换条件“按钮,只显示步和有向连线。如下图所示:
在上述的运输皮带的例子中,在Graph编辑器的程序区,执行【Insert New Element】-【Sequencer】,生成新的顺序器,开始时只有S5和T5的组合体,右键点击S5执行【Object Properties】命令,出现的对话框中选中【Initial Step】,将该步设置为用双线框表示的初始步。如下图所示
选中转换T5点击两次工具栏上的step and transition 按钮,生成如下图所示序列。
鼠标左键选中S5点击工具栏上的按钮生成一个并行序列,如下图所示:
在T8下生成两步,如下图所示:
选择T10,点击工具栏上的选择序列合并按钮,并用鼠标拖动T10下端出现的线,与T7下端连接在一起如下图所示:
并行序列与选择序列的画法基本相同。
怎么样对于GRAPH编程是不是比梯形图编写顺序控制要方便一些,也更直观一些。后面我还会给大家举个复杂点的例子来更好的理解GRAPH编程。小伙伴持续关注哦。
喜欢本文的小伙伴别忘记关注、点赞、评论和转发。
相关问答
S7-200的PLC可以用S7-graph编程吗?
不能,S7-graph语言是附加在S7-STEP上的顺序执行编程语句,如果你用西门子S7-200的话,用STEP7-Micro/WIN,里面有自带的顺序控制继电器SCR,类使用S7-graph,可.....
西门子plc用什么编程?
西门子PLC采用STEP7编程软件,是一款集成开发环境(IDE)工具,它支持多种编程语言,如LAD,FBD,STL,SCL和GRAPH,可满足不同的编程需求。使用STEP7编程软件,...
怎样提高PLC编程能力?
怎样提高PLC编程能力?所谓“天下文章一大抄”,想要提高PLC的编程能力,除了基础知识掌握以外,最有有效直接的方法,就是多去看看别人的程序,或者别的公司的...怎...
西门子PLCS7-200和S7-300编程有有什么不同?
有什么不同:编程语言不一样,S7-200系列的编程语言有三种:语句表(STL)、梯形图(LAD)、功能块图(FBD);S7-300系列的除了这三种外,还有结构化控制语言(S...有什...
哪位大仙,你们谁清楚!!韶关靠谱厂家汇川PLC公司有哪些,汇...
[回答]PLC编程语言的国际标准IEC61131是PLC的国际标准,1992~1995年发布了IEC61131标准中的1~4部分,我国在1995年11月发布了GB/T15969-1/2/3/4(等同于IEC6...
怎么样在最短的时间内学会西门子PLC中计数器的使用?-ZOL问答
安装一个S7-PLCSim就可以模拟实验了有用(0)回复sdfgshyy计数器要在OB1里定...参考梯形图编程手册,西门子又模拟软件可以模拟的,还有计数器有最大限制,好像...
十万火急!专业制造的plc编程哪个厂家的好,plc编程安全性如...
[回答]这一点意味着,你可以为有控制任务实现***从简单的PLC单元到集成的高速加工模块。SINUMERIK及SIMATICS7-300统一的设计可以方便地以模块化原理对...
急!急!急!广州有没有机床编程培训操作教学,机床编程培训哪...
[回答]prog.program的缩写即程序system.系统主要有法那克广数西门子等page.翻页编程时用message.信息offset.偏移量设置设置刀补差补setting.设置custom...