[西门子] S7-1500PLC自动程序设计常见几种方法

[复制链接]
查看48159 | 回复0 | 2024-1-25 13:59:59 | 显示全部楼层 |阅读模式
关于启程

启程自动化培训成立于2012年,创始人工控老鬼。培训项目主打三菱、西门子PLC编程系统集成、工业机器人编程、EPLAN电气设计、视觉等培训与技术服务的机构。推荐高薪就业,越努力越幸运。课程咨询报名138 0986 9603

本文以西门子S7-1500 PLC为例,简单讲述各种自动程序设计方法,其他品牌或型号的PLC也可用使用类似的设计。这里暂不讨论手动、报警、诊断等程序如何设计。

下面总结一下常用自动程序设计方法:

一:SCL CASE(结构化控制语言 也称ST,CASE指令)

越来越多的小型PLC都支持SCL语言,SCL是一种类似于PASCAL的高级编程语言,常用的FOR、IF、WHILE、CASE等程控语句组合起来能编写出很强大的算法和逻辑,用此写法的人也越来越多。用SCL设计自动程序主要就是结合CASE 和IF语句,将Step作为程序号,如果存在比较长的分支或并行动作时需要有借助多个Step程序步,这里不做深究,书写规则大体如下:



SCL CASE

二:LAD 起保停

所有的PLC都适合用LAD起保停的写法,也存在很多变种,最常规变种是当前步的输出用置为SET,不需要起保停,在紧接的下一步中用RESET复位,在老一代PLC中是很流行写法,随着PLC的升级换代,此写法逐渐减少,书写规则大体如下:





LAD 启保停

三:LAD 移位

所有的PLC也都适合用LAD 移位指令(通常为左移位)的写法,在老一代PLC也较常见,因自动流程按移位的方法设计好后不容易增加动作,设计较长的动作流程时也很不方便,与LAD启保停相比可扩展性差,不够直观。常见的书写规则大体如下:





LAD SHL

四:GRAPH(顺序功能流程图语言 也称SFC)

中高端PLC才能支持GRAPH,许多小型PLC有他的缩减版:步进指令,但步进指令功能有限,且很不直观。GRAPH就是为方便实现流程设计而产生。步、转换和动作是顺序功能图的三种主要元件,加上灵活的使用其分支、并行和跳转可实现复杂的流程,程序可以做到非常直观,也很容易增改,执行效率高,用久了GRAPH后对其他写法都不习惯,唯一的缺点就时PLC性能要求高,也占用很大的工作存储器。大体形式如下:



五:LAD 比较

结合“SLC CASE”和“LAD 启保停”的写法,在没有先例参考的情况下,创造出“LAD比较”写法,直到后来看到有工控朋友用到过类似的写法,才知道此写法并非本人首创。形式如下图所示。



“LAD 比较”和“SCL CASE”有些类似,不过原理上还是有很大差别,“SCL CASE”执行效率更高。在“SCL CASE”中,只有CASE符合条件的才运行,不符合的就跳过,而”LAD比较”是所有程序都会执行,不能有双线圈,除非LAD中使用正真的跳转指令(SWITCH LABLE 结合 JMP),但操作起来更加艰难,而“SCL CASE”就没有这么多限制。但”LAD比较”比“SCL CASE”稍许直观,通用性更强。

来源网络:侵删

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则