西门子stl语言指令_如何使用西门子GRAPH语言进行PLC编程?

b77bc2a28c4e50e073cbf83d298a7045.png

熟悉西门子的人都知道,西门子的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,保存项目;

ed5afc0f07fc8d4c235f3ed93926d9c9.png

4)回到程序编辑区,点开“程序块” 双击创建一个FB,选择GRAPH语言,依次编写程序,图示:

5e507e926db3b4a2bea6bd63dc18a819.png

7ff8323ce3119c1c6e3132a5561eb819.png

5)在程序里输入指令如图;

140f663c347cb0ab43b464f9536e8ac2.png

第一步,输出命令置位Q0.0

第二步,执行条件为I0.2,输出命令为置位Q0.1

第三步,执行条件为I0.3,输出命令为复位Q0.0和Q0.1

第四步,执行条件为I0.4,输出命令为结束该程序块

6)编写完程序后,回到OB1中调用FB1,系统会要求生成一个背景数据块,我采用默认数据块DB1,调用完程序后,我们填写FB1管角,仅需要填写第一个和第二个;第一个是中止功能块FB1命令,第二个是执行FB1功能块,也就是程序里第一步的执行条件。

49b5eddc86b856d0b0b3bf59336bcfa8.png

8d1f8a2e128380eb52609277c20fab71.png

7)编译,如果没有问题就可以打开仿真,并下载到PLC里。

d831ace2f83691851e1ea153030a42a1.png

d037de74d3d27dfb546e69e7b38092cb.png

8)将PLC打到RUN模式,然后将测试的输入输出加到仿真里。

af7f14b90adde4749736bd5b474f828f.png

9)然后测试,先后将I0.1,I0.2,I0.3,I0.4激活,可以看到输出也发生了变化。

26f5e28f2c0946e1361b91adaa3b8f28.png

其实GRAPH里面除了文中所述的步进指令外,还有其他的功能,其功能完全可以实现各种复杂的功能,作者曾见到过一个德国工程师以GRAPH作为程序的主体来编写程序,写完的程序基本上没有多少人能看懂。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值