电气新手不得不知的:西门子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编程很简单,只要你一步步来
今天小编又找到一个有意思的题目,里面的题小编想了好久才做出来,不知道聪明的你怎么样呢?
1.用一个开关控制三个照明灯,要求开关闭合时灯亮,开关断开时灯灭。
2.如果3S之内每闭合一次开关,亮的灯数按1个—2个—3个—2个—1个—0个循环。
3.如果开关断开时间超过3S,在合上开关时,重复上述过程。
分析题意:1.很明显这个开关是一个转换开关,能自行保持当前状态。
2.在3S之内闭合一次,灯的状态就变换一次。
3.灯由1个—2个—3个—2个—1个—0个循环,那么一个周期就是6次。
4.在3S之外闭合,重置电路。
老规矩,输入、输出表的干活:
这个电路一个周期为6次,而且只是要求了亮的灯的个数,并没有要求到底是哪个灯亮,那么可以使用计数器C0来对着6次开关闭合来进行区分,这个想通了这个这一题就OK了。
开关闭合一次,C0计数1,此时Q0.0亮
开关闭合二次,C0计数2,此时Q0.0、Q0.1亮
开关闭合三次,C0计数3,此时Q0.0、Q0.1、Q0.2亮
开关闭合四次,C0计数4,此时Q0.0、Q0.1亮也可以Q0.1、Q0.2或者Q0.0、Q0.2亮,这里我做的是第一种。
开关闭合五次,C0计数5,此时Q0.0或者Q0.1亮,我选的Q0.0亮
开关闭合六次,C0计数6,此时计数器复位。
具体程序如下:
网络1:主要是利用I0.0输入的信号为计数器C0计数,那个P一样的叫上升沿触发,也就是说当I0.0由0变1时才导通,C0向上计数。当C0到6时,C0位由0置1,将计数器C0复位。
网络2:这就是把C0的各个情况用M0.0到M0.4记录
网络3,这里是利用网络2的记录,一一对应输出,根据题意,当I0.0断开时,灯要灭,所以输出与I0.0串联。
下一步,加3S的时间条件:
这里加了T37复位C0
最后网络4加上定时器T37。
至此,程序就算完成。小伙伴们,你们有收获吗?
PS:小编想问小伙伴们一个问题:按照这个程序,最后I0.0按第六下时没有任何灯亮(题目要求),但是你们办法把这一步去掉嘛?
PPS:接线及演示视频以上传
视频加载中...
相关问答
plc中Q和M的区别?
1.Q和M在PLC中有不同的作用和用途。2.Q是输出点,用于控制外部设备的开关状态。Q通常连接到继电器、电磁阀等输出设备,通过PLC程序的逻辑运算来控制这些设备...
【西门子plcs7-200中I、Q、M、SM、T、C、V、S、L分别指什么?...
[回答]输入继电器I输出继电器Q通用辅助继电器M特殊继电器SM变量存储器V局部变量存储器L顺序控制继电器S定时器T计数器C模拟量输入映像寄存器AI模拟量输出...
PLC的M寄存器怎么用?例如I寄存器在组态王中是1,Q是0。M是...
[最佳回答]查看手册的寄存器与Modbus的地址对应表。
三凌plcq系列编程快速入门?
USB-SC09USB接口三菱FX系列和A系列PLC用编程电缆,USB-SC09-FXUSB接口三菱FX系列PLC用编程电缆,SC-09(白色)RS232接口三菱FX系列和A系列PL...
plc上的q和i哪个是输入?
答:I输入INPUT第1个字母IQ输出OUTPUT第1个字母O,O容易和零混淆,所以用Q在程序中的I是输入映像存储器,Q是输出映像存储器。可以从其功能、寻址范围...
西门子PLC用梯形图编程时,输出有个M线圈,但是此线圈并不像别的Q线圈一样直接控制接触器。梯形图里?
就好像电路中的中间继电器,只是他的线圈是模拟的,编在梯形图里面,并不是实际的通电。一般用它的输出触点来控制Q点实际的输出。就好像电路中的中间继电器,只...
松下plc的t代表什么?
按照一般PLC的规则理解,以上标志均出现在位操作指令中:X:输入接点,有的PLC用"I"标志;Y:输出接点,也可指输出线圈,有的PLC用"Q"标志;M:内...
西门子S7-300存储区中的I,Q,M,L,D中的D表示什么?西门子200中没有啊?
小型...D表示数据块寄存器,分为DB和DI,DB是共享数据块,可以全局调用;DI为背景数据块,只能由规定的FB调用。数据块寄存器为解决复杂庞大的数据存储和运算。200...
三菱PLC中的M叫辅助继电器还是辅助寄存器?有什么区别?
M是辅助继电器,S是步进指令。区别在于你怎么应用,M能用到的S都能应用到。S功能比较强。M在普通程序块中应用执行下一步需要考虑自锁互锁,S执行下一步会自动...
plc中地址0.00属于什么继电器?
plc梯形图中的M0.0代表辅助继电器M0.0在程序内部使用,不能提供外部输出;I0.0代表输入继电器I0.0为接收外部输入设备的信号;Q0.0代表输出继电器Q0.0为输出程序...