如何编写出质量较高的
plc程序,首先我们得创建一个属于自己的编程构架或者是程序分段,把整个程序分成几部分,比如我自己在写一个设备的PLC程序时会分成5部分:手动部分、自动部分、数据处理、通信部分、模拟量/数字量转换,尽量编程采用结构化编程的方法,这样能对程序进行分段处理,无论是简单工程还是结构化功能都可以采用。手动部分的作用是机械设备单个动作的控制一般用于测试以及维修方面,自动部分则是整个动作完整的流程编写,数据处理则是对手动、自动用到的数据进行传送、选择、计算等操作,通信部分是用到例如Modbus等通信控制
元器件如
变频器、伺服等装置编写的通信程序,模拟量/数字量则是采用模拟量控制元器件进行的DA转换程序或者采集模拟量数据进行的AD转换程序。
一个质量较高的PLC程序应基本满足简单可读性、稳定性、具有易于维护和扩展的功能,对于控制动作流程的尽量采用梯形图进行编程,即使是非编程人员也可清晰看清楚其动作顺序,多采用结构化编程,程序做到集中化就是上面说的属于哪部分就写在哪部分,尽量不要乱地方补充、乱地方修改,让人便于查看。PLC运行还需要稳定性,就是指的是某些地方的bug,可能在调试的时候都准确无误,在实际中误设置了参数、误动作,它却没有停止、报警或者不能正常工作,以及能够进行一次完成的运行,第二次、第三次就不能顺利进行了只能重启再开始运行,这些都属于程序的稳定可靠性,尽量把这些漏洞在调试试机时候找出来。在一个就是程序的维护性和扩展性,做到注释准确、程序结构优化,能够使维修人员迅速找到修改的地方,留有扩展的空间,对某些动作的修改、升级能够在整体构架中完成而不破坏。
在编程前对软元件的选择要准确,哪些是掉电保存的、掉电不保存的、对输入有区分,有高速计数的普通输入尽量不要占用高速输入端子、同理高速输出端子也一样。对定时器的选择如0.01ms的、0.1ms、1ms的、累计型的等选择,计数器的选择16位的、32位的、保持用的、高速计数用的都得分清楚使用,数据寄存器的选择也有16、32位、掉电保持的之分。另外指令的选择要根据数据的类型选择是16、32位的,避免到时候数据计算出错。这样PLC编写出的程序就能减少bug,质量会高一些。