PLC编程怎样设计一个简单高效的程序架构
在自动化领域,PLC是最最常规使用的控制器。在工业现场,各式各类的PLC也是非常的繁多,欧系的、日系的、国产的,甚至于同一个品牌还有不同系列的。这些名目繁多的PLC对于从事自动化行业的工程师来说,是很难都一一涉及的。那么在这种情况下,作为一个自动化工程师,在项目开发过程中,如何使用PLC实现一个高质量的程序开发?这就需要有丰富的经验以做支撑(趟过多少坑)。
对于出入自动化行业的工程师来说,在学习的过程中大多都是不停的去学习和努力的记住PLC的各种指令。然往往忽视了指令仅仅相当于使用英语时的各种单词,而如何使用这些指令(单词)构建出需要的功能才是PLC编程使用的核心。然而,这依然对于新入者存在一个问题,即怎么去使用这些指令来完成想要的功能呢?这里就这个问题,和大家进行一个交流。
从程序功能拆分
在进行程序编写之前,应该对项目的整体功能进行一定程度的梳理。即PLC需要实现哪些功能,系统的这些功能在PLC中进行如何的规划。总的说来一下的几点,是必须把握的:
系统的总体功能系统的各单元分项功能各个功能中,有哪些是重复的实现各个程序单元之间使用何种接口连接在进行以上的工作后,其实程序的框架架构也就形成了。以以下取放机械手举例。
1、系统总体功能为机械手实现在A工位与B工位之间完成物料搬运;
2、从以上图中的机构可以将系统拆分为升降机构单元、平移机构单元及拾放单元,分别用于实现机械手的升降、平移和拾放功能;
3、在以上的几个分项功能单元中,可以看出平移和升降均为气缸的伸出和收回,那么在这种情况下,可以考虑将这两部分单元使用相同的子功能单元实现;
4、对程序的总体及分项功能均进行了明确,那么就应该明确各个程序功能模块之间如何进行交互(即相应功能单元的接口)。
程序架构设计
当讲系统依照功能单元进行了拆分梳理后,这对于进行程序的编写依然是不够的。还应该从系统的整体程序框架结构上考虑,以将程序的“立体感”建立起来,这样可以将程序的健壮性构建得更加完美。就好比是,生产了车轮、车门、发动机、方向盘等,但如何将这些部件联合起来组成一辆美观立体的汽车。优秀的设计可以最总生产出一辆轿车,不好的设计就可能仅仅是一辆四轮车。虽然都实现了基础的功能,但设备的性能却无法发挥到极致。所以,程序的架构也是在进行程序编写过程中,必须要考虑的问题。
以上即为一种常规的架构处理方式。在进行程序编写的过程中,依照以上层次架构进行编写。将不同层面的内容放置于不同的位置。比如将PLC的IO映射放置到最底层;比如进行伺服电机的运行启动处理时的启动流程处理放置到底层驱动层……
这样进行程序架构处理,已便于后期程序修改或者维护时可以快速方便的定位到问题点.
当然,以上仅分享给大家一种处理PLC编程过程中的程序架构的处理方式,当对PLC编程非常熟悉以后,在处理实际问题的过程中,亦有很多方式可以达到相同的目的.这里,以此仅供参考.
(转载请注明来源函控自动化工程师头条号)
PLC编程很难吗?其实用对方法,就很容易!附5大PLC编程技术方法
根据下图的三相交流电动机正反转控制的主电路,设计一个PLC控制电动机正停反的控制系统。控制要求如下:
(1)正常情况下,按启动按钮SB1,电机正转,按下反转启动按钮SB2,电机反转。
(2)电机启动后,按下停止按钮SB3并等待5秒钟之后,才可以改变电动机的旋转方向;
(3)如果SB1和SB2同时按下,电动机停止转动,并且不起动,同时报警灯L1亮1秒暗1秒不断闪烁。此时按SB3停止按钮进行复位。
首先我们先确定一下按钮、KM的使用辅助触点情况,这里是正反转的主回路,主回路必须有互锁电路,其他的按钮用常开触点。
下面是PLC的输入输出点表:
根据题意(1) 编程:这里根据题意1,只需2个自保持电路即可。
题意(2) 要求按停止按钮5秒后才能改变电机方向,所以这里需设置一个标志位,这里用M0.0。
并且加上程序互锁电路,具体如下:
首先在2个自保持回路中加入互锁电路——网络1的Q0.1常闭点和网络2的Q0.0常闭点。题意2说按下停止按钮后5秒,才能按启动按钮,所以网络3按下I0.2停止按钮后,M0.0得电自保持,计时器T37计时5s后,将M0.0的自保持回路停掉。并且在网络1和网络2中加M0.0的常闭点,使M0.0得电时网络1和网络2即使按了正转按钮或者反转按钮也不会使Q0.0或Q0.1得电。
题意(3) 要求SB1和SB2同时按下,电动机停止转动,并且不起动,同时报警灯L1亮1秒暗1秒不断闪烁。编程如下:
这次增加了网络4/5/6,网络5和6就是利用2个计时器产生一个一秒脉冲的小程序,SM0.0为特殊位,其功能为一直得电。网络4就是利用M0.1将网络1/2/3锁死,也就是说M0.1得电网络1.2.3是不起作用的。其原理与上一小结的M0.0一样。
以上就是这个实例的全部编程。
正所谓万丈高楼平地起,如果你叫小编一口气编出来,小编也是很为难的。但是,将题意一点点拆分,一点点地把所需的功能写入,最后一定可以合你心意。最后你看看编完的程序与最初的程序差了多少?
接下来,小编给大家介绍5种PLC编程方法:经验法、解析法、图解法、技巧法及计算机辅助设计法。
(1)经验法 :
运用已掌握的成功设计经验,结合实际的情况,选择与实际情况类似的一个或若干个成功的程序,或具有一些典型功能的标准程序作为“样机”,对“样机”逐一修改,直至满足新的任务要求。在工作过程中,应多收集与积累这些“样机”,从而不断丰富自己的经验。
(2)解析法 :
PLC用于逻辑控制的编程方法可根据组合逻辑或时序逻辑的理论,并运用相应的解析方法,对其进行逻辑关系的求解。然后,再根据求解的结果,或画成梯形图,或直接编写指令表。解析法比较严密,可以运用一定的标准,使程序优化与算法化,并可避免编程的盲目性,是一种比较有效的方法。
(3)图解法:
图解法是靠画图进行PLC程序设计。
常见的主要有3种方法:梯形图法、波形图法以及流程图法。
梯形图法是最基本的方法。无论是经验法,还是解析法,若用梯形图编写PLC程序,就要用到梯形图法。
波形图法很适合于时序控制电路。它先把对应信号的波形画出,再根据时间用逻辑关系去组合,就可以很容易地把电路设计出来。
流程图法是用框图来表示PLC程序的执行过程及输入条件与输出间的关系。在步进控制中,用它进行设计是很方便的。
(4)技巧法
技巧法是在经验法及解析法的基础上,运用技巧进行编程,以提高进行编程的质量。巧妙地使用PLC所提供的多种功能指令进行编程,是对已有经验的“升华”,做到熟能生巧,实现创造性的编程。
(5)计算机辅助设计
PLC可通过上位连接单元与微型计算机连接,并运用微型机进行联机辅助编程。计算机辅助编程,应有相应的软件做支持。现有的编程软件可把梯形图翻译成指令表。编程时,可先在计算机屏幕上设计梯形图,然后再将该梯形图转换成对应的指令表。这种编程软件有现成的,例如,日本三菱公司的MEDOC和GPP等
总结以上5种编程方法是不能截然分开的。如经验法、解析法、技巧法都要用到图解法,而技巧法又是经验法的升华。
转发是最大的鼓励!谢谢您的支持!
小贴士
PLC专属资料: 含有从入门到高级所有PLC学习资料(三菱/西门子/欧姆龙) ,电气经典18本大全书,历年电气考试真题、电气必备实训仿真软件、电气自动化行业各类型技术手册!
相关问答
plc编程标准的基本架构?
plc基本结构plc基本结构基本相同,主要有CPU,电源,储存器和输入输出接口电路等组成。中央处理器单元一般由控制器、运算器和寄存器组成。各种PLC的组成结构基...
plc架构设计模式?
答:首先明确程序中是否有主程序子程序中断程序明确触点分配明确电路接线图明确程序中指令的含义大体看看程序的意思最后从上往下依次讲解答:首先明...
简述plc系统组成?
PLC系统由四个主要组成部分构成,包括输入/输出模块、CPU、存储器和编程设备。输入/输出模块用于接收传感器和执行器的信号,并将它们转换为数字信号以供CPU处...
plc编程接线方法?
1.PLC编程接线方法有多种。2.首先,常见的接线方法是使用继电器进行控制。继电器可以通过接线板或者插座进行连接,然后通过导线将继电器与PLC的输入和输出端...
本人想配置一台电脑学plc编程,请问应配置什么样的电脑?-ZOL问答
三大架构革新带来全面硬件升级AMD锐龙9000/锐龙AI300处理器解析评论26华为擎云:科技创新驱动政法工作高效安全开展评论20玄派玄智星2024-青锋评测锐龙...
人机界面plc架构原理?
[回答]人机界面正常但电脑不能操作。一台人机界面,经试验其本身一切正常,但接上主机后,电脑不能操作。处理方法:对于这种情况,原因有二。其一,可能是人机...
西门子PLC功能块编程怎么用?
西门子PLC(可编程逻辑控制器)的功能块编程是PLC编程的一种方法,通过预定义好的功能块,来完成复杂的控制任务。以下是使用西门子PLC进行功能块编程的一般步骤...
学PLC到什么程度算是精通?
精通的概念很广泛。我个人认为,要分以下几种:1.PLC应用于工程。当别人给你谈起一个工程项目,并且告诉你大概的仪表和需控制元件范围的时候,你的大脑可以反应...
PLC工程师出路?
作为PLC工程师,你有许多就业和发展机会。PLC(可编程逻辑控制器)是工业自动化领域中常用的控制设备,因此你可以在各种行业找到工作。首先,你可以在制造业工...
plcstep7中设置PG/PC接口问题?
你用什么方式下载?你的PLC型号是300/400还是200,西门子300/400与200使用的架构不同。如果是300的话,选pcadapter(MPI)或者pcadapter(auto)。然后要...