西门子PLC系列中GRAPH的用法

可编程逻辑

1341人已加入

描述

熟悉西门子的人都知道,西门子的PLC支持的语言很多,除了最基本的LAD,FBD,STL之外,还有很多在国内不是很常见的语言,其中包括GRAPH,SCL,CFC,SFC等等;这些语言虽然不是很常见,可以对于一些特定的场合却可以起到很重要的作用。

西门子系列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作为程序的主体来编写程序,写完的程序基本上没有多少人能看懂。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分