在PLC编程时每个人都有自己的思路,即便是同样的控制逻辑让不同的工程师编写也会得到不同的结果。甚至同一个工程师在不同的时间,思路都是不一样的。
所以在编写程序时,不同的两套程序,但是却可以实现相同的功能。
既然可以用不同的程序,实现相同的功能,那么程序就有好坏之分。怎么评价一套程序的优劣呢?
以下是我总结的几个编程原则:
1、安全性,使用PLC控制多少都会有自动运行的部分,对这部分要做到万无一失,宁可不做,也不要让被控对象处于失控状态。手动部分程序也要连锁限位,或者加入时间限制。很多机械设备在机构上有自己的安全机制,你最好忘掉这点,在程序上做到人员、机器绝对安全。
2、功能完整,在保证安全的前提下,尽可能的实现客户的功能要求。这个时候正是体现你专业性的时候,不要等到设备交付时,让销售人员无法交差。对于因硬件或其他原因不能实现的部分,尽早与客户沟通。
3、逻辑缜密,我们的程序不仅需要在各部分正常时,能顺利完成每个动作。当丢失某些信号时,要依然能处于安装状态,并有安全提示。 我这么多年的经验是,实现功能容易,处理异常很难。人的思维是有误区的,特别是当你为了实现某些功能而绞尽脑汁时,做到心思缜密,思维无漏洞确实很困难。在编程时最好把功能拆解,由不同的工程师进行协同完成。人员不足的时候也需要,找个了解工艺的同事,让他负责验证程序。反复实验,一步步修改,直到能应对各种工况。
4、程序简单化,在功能上我们要逻辑缜密,做到思维无漏洞。但是在编程时就要用最简单的语句,完成尽可能多的功能。做到程序易于修改、方便调试、升级简单。程序的一般流程是:明确工艺要求,编程设计,调试,发现问题,增加(修改)功能,继续编程,再调试,继续新一轮修改,如此往复。所以你的程序从开始设计,就要易于修改,不要搞成“牵一发而动全身”,无形中自己给自己增加难度。
5、方便阅读,我们编写的程序除了要完成指定的功能,也要便于读懂和上手。很多项目不是一个人能完成的,你的程序好理解,团队中的人就能比较好配合。在环境本身就恶劣的现场,拿到一坨屎样的程序,你有还心情调试吗?
另外在程序中要把变量名、注释标识清楚,并且与图纸对应起来。做到程序中的信息便于检索和查找。
科学的编程步骤其实很简单,但往往大多数工程师就是认为简单而忽略很多细节。细节的忽略,必然会在以后出现问题。想避免日后的问题,只有好好的遵守规则,没有规矩不成方圆,plc编程一样有其自身的规矩。
第一步:阅读产品说明书 第一步看起来再简单不过了,但很多工程师都做不到。认为这一步是浪费时间,甚至只从供货方培训来了解设备。
仔细阅读说明书是编程的第一步,首先要阅读安全守则,知道哪些执行机构可能会对人身造成伤害,哪些机构间最容易发生撞击,当发生危险时如何解决,这些最致命的问题都在安全守则中,为什么不去看呢?
此外,关于设备每个元件的特性,使用方法,调试方法也在说明书中,不去阅读,即使程序正确,如果元件没有调试好,设备一样不能工作。再有,所有的电路图、气动液压回路图、装配图也在说明书中,不去阅读它怎么知道没种元件可以做何种改造呢。
第二步:根据说明书,检查I/O,检查I/O,俗称“打点”。 检查I/O的方法很多,但是一定要根据说明书提供的地址依次进行检查,在绝对安全的情况下来检查。
在检查输入点时,一般输入信号无非是各种传感器,如电容、电感、光电、压阻、超声波、磁感式和行程开关等传感器。检查这些元件比较简单,根据元件说明将工件放在工位上,或是移动执行机构检查传感器是否有信号即可。当然,不同的设备检测的方式可能不同,这要看具体情况而定了。
但是在检查输出信号时就要格外小心了。如果是电驱动产品,必须在安全情况下,尤其是保证设备不会发生撞击前提下,让执行机构的驱动器得电,检查执行机构是否能够运动。如果是液压或气动执行机构,同样在安全情况下手动使换向阀得电,从而控制执行机构。在检查输出信号时,不论执行机构的驱动方式是什么,一定要根据元件说明书,首先要保证设备和人身安全,要注意并不是所有设备的执行机构都可以通电测试的,所以有时个别的输出信号可能无法手动测试。
无论是输入还是输出装置,当传感器有信号或执行机构的驱动装置得电后,必须同时检查PLC上的I/O模块指示灯是否也点亮。很多设备中,输入输出信号是通过接线端子与PLC连接,有时接线端子的指示灯有信号 ,但不能保证由于连接导线内部断路,而PLC上相应的地址没有信号接通。这一点要特别注意。
在测量输入输出信号后,要同时将测量的地址记录下来,保证信号地址和说明书中一致。如有不同,再次测量设备地址,多次测量仍然不一致,先联系设备厂家,因为此时不能保证厂家提供的地址没有错误。
第三步:打开编程软件,进行硬件配置,并将I/O地址写在符号表中 不同的PLC使用不同的编程软件。但是对于任何一种软件来说,编程前的第一步就是进行硬件组态,根据实际PLC的类型建立硬件配置及相应的通讯配置。硬件组态完成后,将之前在纸上记录下来的I/O地址写在软件的符号表中。由于软件不同,对于符号表的定义可能不同,但一般的软件都有该功能,这一步是至关重要的。在编写符号表时,不仅要把设备输入输出的绝对地址写正确,最好再给每个地址命名并添加注释,这对后面的编程会非常方便。不需要在编程时每次都查询绝对地址,只要填写命名好的名称即可。当然,这也取决于软件是否具备此功能。
第四步:写出程序流程图 在编程之前,一定要在草稿上写出程序的流程图。一个完整的程序,应该包括主程序、停止程序、急停程序、复位程序等部分,如果软件允许,应该将各个程序按“块”的形式编写,即一个程序是一个块,最终将每个块按需求来调用即可。
PLC最擅长的就是处理顺序控制,在顺序控制中主流程是核心,一定要确保制定好的流程是正确的,要在草稿上仔细检查。如果主流程存在问题,当程序被PLC执行后,很可能发生撞击,损坏设备或对人身造成危险。
第五步:在软件中编写程序 确保主流程没有问题后,便可以在软件中编写程序了。此外,还要注意停止、急停和复位程序的正确性,尤其是停止和急停程序,这是关系到人身安全和设备安全的最重要的程序,万万不可小视。一定要保证无论在任何情况下,只要执行停止或急停程序,设备绝对不会对人身造成伤害。
第六步:调试程序 在调试程序这一步中,可以分成两个方面。
1.如果条件允许,或是你的逻辑能力超强,可以先用软件的仿真功能做测试,但是很多繁琐的程序很难用软件仿真看出程序是否正确。
2.将程序下传到PLC中进行在线的调试。如果设备不动或运行中出现异常情况,先不要去修改程序,很可能是传感器没有调试到位,如果确保传感器无误,再去修改程序。
第七步:调试完成后,再次编辑程序 在上一步的调试中,由于对程序有所修改,故必须再次整体检查或编辑一下程序,然后将最终的程序下传到PLC中。
第八步:保存程序 在这一步中,要注意一个问题,就是应该将程序保存在什么地方?PC硬盘?闪存设备?移动硬盘?当然这些都不可以,所有这些存储设备都可能感染病毒。所以,必须且只能将程序烧制到光盘上。而且还有一个问题,烧制的程序是哪个程序?在之前我们已经将最终调试并修改完成的程序下载到PLC中,如果PLC在执行该程序时完全无误的话,就将该程序上传到PC中,将此程序烧制到光盘中。
上面的一切都是为了安全。
第九步:填写报告 完成编程后,应该填写最后的调试报告,将遇到的问题和程序的一些难点问题一一记录下来。因为长时间以后,自己也会对程序的某些技巧的地方遗忘,同时也方便其他同事能够理解你所编写的程序。
|