电气新手不得不知的:西门子S7-12001500PLC的编程思维
西门子S7-1200/1500PLC的编程思维
一、程序规范化建设
规范化是一个循序渐进的知识积累的过程,提取经常使用的程序,去除全局变量(I、Q、M、T、C),去除数据块,设置规范的参数,把它做成带接口的FB,放到规范库中。
规范化是一个“固化→进化→固化→进化”不断优化的过程。
规范化对于程序设计者的优点:
1、模块化和面向对象的编程方式,构建大型项目较容易。
2、便于程序块的持续更新,功能更全面。
3、程序的架构比较容易被后来者学习传承、更新。
4、设计方式统一,一致性好,提高设计效率。
5、提高了软件的质量和产品的竞争力。
规范化对于最终用户(设备维护、使用者)的优点:
1、快速定位设备系统故障,快速修复设备,减少停机时间。
2、维护人员较容易看懂规范化的程序。
3、规范化的程序,让维护人员对设备的技术改造更简单。
二、控制对象的拆分
在工程师面向对象(项目)时,要有“庖丁解牛,目无全牛,只有结构”的思想,对一台完整的机器设备进行拆分,把它分为若干个控制单元,一个控制单元可以再往下细分若干个设备模块,一个设备模块再往下可以分为不同的控制模块,如感应模块、驱动模块等。拆分的模块要大小适中,太大不灵活,太小拼装效率低。
结构清晰明了,整体也就优化了。
这样的方式就是为了程序的模块化,使程序块方便重复使用。
三、用FB还是FC
如果从C语言等高级语言的角度来看,FB相当于“类别”,FC相当于“方法”。所以将工艺对象的具体的物件用FB块编程比较方便,更有利于后期程序的规范化。如果是控制对象的数据转换、计算功能(FB调用FC),以及程序的划分、控制对象预处理等非规范化功能可用FC来编程(FC调用FB)。
具体使用情况根据不同工程师的使用习惯有所不同,简单概括为:1、具体的工艺对象用FB。2、数据转换、计算用FC。3、调用全局变量对程序控制用FC。
谈谈如何提高电气人员plc编程思路(一)
PLC编程,无非有几种方式方法。
1、开关量编程
2、脉冲量编程
3、模拟数字量编程
4、功能指令
一、开关量编程
开关量编程就是利用常开常闭和out线圈输出来实现功能。这种编程方法解决简单的问题比较容易,但是解决复杂一点程序,程序逻辑本身复杂度会不断提高。为了降低程序逻辑复杂度,可以在程序中引入中间继电器M,或者通过时间继电器,结束一步触发一步,层层递进,解决问题。但是这样做也有不好的地方,对于一些随机性控制,比如电梯,实现每一步都需要很多条件,楼层越高,之间的联锁成倍数增长,这时,就应该引入模拟量去解决问题,通过数据比较,实现程序的控制。
二.脉冲量编程
开关状态有三种,按下、悬停、释放,PLC只接受上升沿和下降沿,也就是我们按钮的按下和释放。在我们解决液位的问题,我们就能利用这个上升和下降来检测液位的位置。或者我们想要实现一个按下不启动,松开时设备才启动的功能。脉冲编程通常与置位(s)和复位(r)指令配合使用。
三、模拟数据量编程
数据量编程是解决复杂问题最好的方法,程序逻辑清晰,程序不容易出错。比如电梯,我们可以把每层对应一个数字,我们可以通过所在楼层位置和所去位置进行比较,实现电梯是上升还是下降。我们还能够对位置进行记忆。
四、功能指令
要想解决问题快,必须熟悉plc特有的功能指令,每个品牌功能指令略有不同,但大同小异。比如要实现一个,根据操作人员按按钮的顺序启动电机,由于操作人员操作时的随机性,普通常开常闭难以实现该功能。最简单的方法就是用先进先出,通过出入栈实现程序控制。
另外,控制方法也有很多种。
比如我们通常说的顺序控制,也就是开环控制典型的一类。这种控制方法无法纠错,但程序逻辑清晰,也能解决很多常规问题。
随机控制,程序逻辑关系就比较复杂,需要不断记忆当前数据,把数据比较分析,再选择逻辑输出。像流量控制,就可以根据数据量的大小计算分析,调整电磁阀门开度,达到限流问题,当然,这是pid控制的类型。像电梯这种也是闭环控制。我们的变频空调控制系统,根据温度调整电机频率,等等很多案例。
今天先说这么多,下次用案例来慢慢说明,面对这些问题,我们就能如何快速入手解决问题。
相关问答
PLC编程逻辑思维不行,怎么锻炼?
首先,建议要精读或者精学三门课程:离散数学数据结构编译原理。所谓的精读或者精学,不是说简简单单为了应付考试的学习,而是对每个细节每项内容都穷究其理...
plc逻辑思维训练方法?
首先你得领悟透你所用plc的编程语言,每个指令的灵活运用。在实践中好好模拟,把电路图转化为plc指令图。电路图与plc指令图互转很重要哦不要局限于plc本身,建...
在单位做设备维修,很多设备上有PLC,想在PLC上多下点功夫,怎么做?
我是矿山电气小东,分享电气知识。看到这个问题时,第一时间就想到了我自己在十几年前,初次接触PLC的场景我与PLC初相识那还是在2007年的一天,我们矿的一斜...1...
脑袋不是非常灵活的人适不适合plc编程?
PLC编程需要一定的逻辑性思维,但是并不代表脑袋不灵活,就不能做这块的工作。凡是都可以通过后天的努力,来弥补的,楼主加油!PLC编程需要一定的逻辑性思维,但是...
学习西门子的PLC编程,需要哪方面的理论知识?
你好,很荣幸能回答你的问题,希望我的回答对你有帮助。你遇到的问题我在学习PLC过程中也遇到过。这应该是大家的必经之路吧。学习任何一个品牌PLC都需要一定的...
学PLC编程难吗?
难学,我们就要学习PLC的软件基础知识,比如扫描周期,进制,数据类型,这个东西能理解最好,理解不了就记住。同时也要学习一些计算机基础,现在PLC的编程语言倾...
机械自动化编程怎么学?
学习机械自动化编程需要掌握相关的基础知识和技能。首先,了解机械自动化的原理和应用领域,学习相关的机械工程和自动化技术知识。其次,学习编程语言,如C++...
plc程序梯形图的继电器触点可以无限引用吗?
在PLC程序的梯形图中,继电器触点可以进行引用,但并不是无限引用。PLC程序的梯形图是一种逻辑图形表示方法,它模拟了实际的电器控制回路。在梯形图中,继电器触...
PLC和机器视觉那个更容易入门?
PLC编程需要程序员有缜密的逻辑思维。编程语言有图形化编程语言(梯形图、SFC、FBD)和文本化编程语言(IL和STL)。除去IL编程语言外,其余都比较容易入门。机...
plc可编程控制器工作主要三个阶段作用是什么?-小红薯8D0C9...
首先是扫描输入端口!目的是采集信号!就是像键盘一样!你输入时电脑扫描到你的输入了什么就会做出相对的反应就像打字一样!你输入了A就会出现A电脑处...