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(可编程逻辑控制器)的功能块编程是PLC编程的一种方法,通过预定义好的功能块,来完成复杂的控制任务。以下是使用西门子PLC进行功能块编程的一般步骤...
三菱PLC编程软件安装在电脑上电脑需要什么配置-ZOL问答
打不开程序有可能是你装的编程软件版本低。有用(0)回复有可能是电脑问题...三大架构革新带来全面硬件升级AMD锐龙9000/锐龙AI300处理器解析评论23华为...
西门子s7-200PLC系统怎么样?它的功能有哪些?
西门子S7-200PLC可以满足各种设备自动化控制需求,此系统也属于紧凑型可编程序控制器。系统的硬件构架主要由系统CPU模块和丰富的扩展模块构成。s7-200PLC除基本...
卸载完三菱plc编程软件软件重装不了-ZOL问答
更多频道频道导航辅助工具手机性能天梯图显卡天梯图CPU天梯图电源天梯图固态硬盘天梯图新品日历5条回答:【推荐答案】解决方法如下:首先卸载软件。...
如何实现PLC远程监控及远程调试?
如何实现PLC远程监控及远程调试?随着工业物联网的发展,作为设备厂家需要提供设备联网方案给到工业用户,需要对设备运行数据远程采集,对设备远程维护,实现高...
plc控制步进电机原理?
[回答]可编程控制器(简称PLC)以其通用性强、可靠性高、指令系统简单、编程简便易学、易于掌握、体积小、维修工作少、现场接口安装方便等一系列优点,被广...
新手学习编程,西门子和三菱plc哪个更合适?
先从三菱PLC上开始学比较好。三菱PLC和西门子PLC它们的编程理念不同,三菱PLC是日系,编程直观易懂,初学者学习起来会相对轻松点,而西门子PLC是德国的,指令比...3...
欧姆龙PLC编程软件不能和PLC连接是怎么回事?电脑插上可以监...
可以查一下PLC是否设置了写保护有用(0)回复1051322607liang汗·这个问题真的很复杂不知道怎么说起了都··有用(0)回复既然说可以监控,为什么又说不能...
怎么样具体实现三菱PLC通过485接口与电脑的通信?越详细...
1)三菱FX2NFX3U有一个编程口,用485BD板可以扩展一个485通信口2)硬件实现...4)三菱FX3U支持modbus通信,可以吧三菱PLC串口当成modbus从站,用标准的协议,使用...