假如你要给一个脑子很直但非常听话的“憨憨”画接线图。这个“憨憨”就是PLC,它只会严格按照你画的图,从左到右、从上到下,一遍遍地检查开关通不通,然后决定要不要通电。
梯形图编程的原则,用最通俗的大白话来讲,就像搭积木或者接电线。而这个“憨憨”不懂得变通,只认几条最重要的行为原则:
举个栗子:
1、从左到右,左边是“电源”,右边是“灯泡”(你要控制的设备)一条道走到黑:你的任务就是画一些“开关”(触点),把这些开关串联或并联在电源和灯泡之间,开关没画完,绝不能先接灯泡!(线圈必须在最右边)
2、一个灯泡,一个开关组:
最好一个“灯泡”只由一套开关逻辑来控制。别在东边按一下开关能开灯,在西边按另一个开关也能开这盏灯(指程序里多个地方控制同一个输出),这样会让“憨憨”手忙脚乱。
如果真要多个地方控制,你得先用逻辑把信号汇总,再用一个总开关去控制灯泡。
3、开关怎么排列:“重”的要靠边放,“重”是指开关数量多、逻辑复杂。
串联的“重块”往上放,如果你有好几条并联的支路,就把串联开关最多的那条支路放在最上面。这样“憨憨”检查起来最快。
并联的“重块”往左放,如果你有好几个串联的块要并联,就把并联分支最多的那块挪到最左边,这样线路最清晰。
4、给每个位置都贴“便签”:
必须做到把“I0.0”改写成“启动按钮”,把“Q0.5”改写成“输送带电机”。这是很重要的事!不要以为自己三个月后还能记住“I0.0”是启动按钮还是停止按钮。
给每一组开关逻辑(每个网络)写个小标题,比如:“主电机启动自锁”、“报警灯闪烁”,这就像给你画的电路图加上章节标题。
5、复杂的玩意,打成“包裹”:
如果一个功能反复出现(比如控制一台电机),就别每次都把所有的开关、定时器重新画一遍。把它做成一个“功能包”(函数或功能块或子程序),主程序里只需要调用这个“包”,输入“启动”、“停止”信号,它就能输出“电机运行”信号。现成的“电机控制器模块”,会让主电路图立刻变清爽了。
6、安全第一,把“急停”直接串在线上:
像急停、过载这种要命的安全信号,直接把它当成一个物理开关,串联在控制“灯泡”的主回路里,不要经过复杂的逻辑判断。这样不管程序其他逻辑多乱,这个开关一断,电立马就没了。这叫“硬线安全逻辑”。
想象一下:别人给你写了一张洗衣机操作说明:
差劲的说明(不遵守原则、毫无逻辑):
“先按左边那个键,看灯是不是亮的,如果不是,再按右边下面那个键,然后……”
好的说明(遵守原则、逻辑清晰):
1、开机:插上电源(总开关)。
2、选择模式:按“标准洗”按钮。
3、开始:按“启动”键。
4、安全提示:如果门没关好,机器不会启动(安全互锁)。
梯形图编程就是在画一份连“傻子”都能看懂的、极其详细的设备操作指南。
你的图越像第二份指南,程序就越可靠,以后你或别人修改程序、维修故障时就越容易。
画得让别人(和三个月后的你自己)一眼就能看懂,不用猜,不用问,就知道这堆“开关”是想让哪个“灯泡”亮,以及在什么条件下亮。
这就是最好的梯形图。