在工厂上班的朋友们经常会看到这样一帮人,他们在机台旁边爬上爬下,一会儿钻到机台下面的电柜里对照着电气图纸排查线路问题,一会儿目不转睛的盯着电脑屏幕思考着,思考的太投入时还会挠挠头、扶扶眼镜。这群人应该就是负责机台编程以及现场调试的电气工程师,一般都是年纪比较轻的小伙子,毕竟这种要经常到处出差与加班的工作不太适合中年人来干。
个人认为,一个好的PLC程序应该具备以下几个方面的特点:安全性、稳定性、高效性。
首先便是安全性,这也是关键的,只有安全可靠的程序才能保证操作使用者的人身安全,也只有这样才能顺利通过客户端对应EHS部门的验收通过,设备才能顺利投入使用。从程序的角度来讲,如何保证安全,机台必须配备有急停按钮、安全门联锁装置、部分有需要的机台还要安装有安全光栅,以上这些安全部件一定要保证型号参数选择正确,品质合格,接线时采用常闭接法,程序里必须禁止屏蔽检测功能。
至于程序的稳定性,那主要是靠编程者的水平以及现场经验来保证的,光会编写程序是远远不够的,还需要对设备所处行业的工艺制程很熟悉才能写出更好的程序,这个还是要靠不断的学习,不断的积累经验,在工作中成长为更好的电气工程师。
要跟大家交流分享的是程序的效率性,这包含了程序开发的效率性跟程序运行的效率性。如何实现高效快速的编程,个人建议的做法是:要养成结构化编程的思维,通过将气缸动作、伺服控制等部分做成FB功能块,后续编程时直接调用就可以了,这样会更方便更效率。
利用FB来开发程序,不但能节约开发时间,同时能减少程序bug,因为经过多次使用已经验证了准确性,所以底层程序是没有问题的,只要排查外围问题点就ok了;同时我们在做FB块的时候,要尽量将功能做全,比如说 :气缸的前后限位的补偿时间,前后限位是否屏蔽,气缸电磁阀类型,气缸动作顺序等等,并且将这些全部开放到触摸屏供现场可随时修改设定,这样在后期调试时也能够更方便,即使电气工程师不在现场也能通过修改参数处理问题,这样就可以不用每天没日没夜的对应现场了。
在制作FB块的时候,将某一类的数据可以“打包”成结构体带入或者输出FB块,这样能让FB块的引脚数量不会太多,增强程序的可读性。
重要的是,程序可以采用多样化的编程方式开发,比如涉及到动作流程控制的建议使用普通梯形图,这样逻辑清晰,后面调试时也会轻松方便一些;类似于产量统计,或者涉及数据运算较多的部分,建议采用ST语言编写,这样能减少程序容量,使程序的运行更加效率。