SFC编程方法举例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
今天在这里说一下SFC编程方法。
个人觉得很好。
用这种方式编程,程序清晰,逻辑性强,并且简短给人一目了然的感觉。
在画出SFC图时,编程的思路:每一个当前步只有一个前一步和一个后步;有多少个步就有多少个相应的rest和set语句。
最近也看了不少程序也写了一些,自己总结了一下,如果是顺序控制(当然其他类型的也一样),为了能够使调理更清楚一些,看起来更美观没有那么复杂,个人建议可以把程序分成两部分来写,即:控制程序部分和输出程序部分。
控制程序部分:只考虑步的流程,而不需要考虑输出结果和动作。
输出程序部分:只考虑输出结果和动作,而不需要考虑步的流程。
优点:方便调试。
从输出程序部分,就能知道是控制程序哪个部分逻辑出错。
SFC设计思想:
将控制系统的工作周期划分为若干个顺序相连的阶段。
SFC设计步骤如下:
首先,根据工艺流程,画出顺序功能图(SFC)。
翻译为LAD或者STL程序。
毕竟表达能力有限,文字表达的不是很清晰。
举一个简单的例子。
(编写的时候没有专门的新建一个300,所以下例程序中的正反转不用去考虑,一切以I/O变量表为准,若要开始循环,必须在OB100中设置起始步为M1.1)
编程对象:
钻床零件加工
工艺要求:
需加工的零件为圆盘状零件,其上均匀分布3个大孔和3个小孔。
钻床自动运行的初始状态为:两个钻头在最上位,上限开关I0.3和I0.5为ON。
工作过程为:加紧工件,大小钻头开始向下钻孔,至规定深度后,钻头向上提升并等待,此时工件旋转120°后,开始加工第二对孔。
当3对孔加工完后,松开工件,回到初始状态。
编程步骤:
1、创建I/O变量表
PLC输入地址变量名PLC输出地址变量名I0.0启动信号Q4.0夹紧执行
I0.1工件夹紧Q4.1大钻头钻孔
I0.2
大钻头下限位开关Q4.2大钻头上升I0.3
大钻头上限位开关Q4.3小钻头钻孔I0.4
小钻头下限位开关Q4.4小钻头上升I0.5
小钻头上限位开关Q4.5转盘旋转I0.6
转盘旋转到位Q4.6松开执行
I0.7
工件松开2、创建SFC 图配置C0I0.0,I0.3,I0.5
R Q4.6;S Q4.0
.I0.1Q4.1Q4.3I0.6I0.2
I0.4Q4.5Q4.2Q4.4I0.3
I0.5C0-1C0(未钻完)I0.7
C0(已开6个孔)R Q4.0SQ4.6
3、编写程序
STL 语句M0.0
M0.1
M0.2
M0.5M0.6M0.3
M0.4M0.7M1.1
M1.0
LAD语句。