周小伟,周晓珲
(1.湖南天雁机械有限责任公司,湖南衡阳 421005 2.华仪电气股份有限公司,浙江乐清 325600)
1台具备砂轮恒线速控制的无心磨使用三菱FX2N PLC控制,其进给和修整由PLC通过位控单元FX2N-20GM控制,砂轮主轴变频控制。PLC根据每次修整量和相关参数计算砂轮电机转速,实现恒线速控制。FX2N PLC通过FX2N-2DA模块向砂轮主轴变频器输出模拟量控制砂轮转速。某次,无心磨磨削后进入修整砂轮工序时砂轮主轴不转动,无任何报警提示信息。
首先检查变频器工作状态,确认其处于运行状态,但频率模拟信号值为0。检查FX2N-2DA模块输出亦为0,PLC给FX2N-2DA的数字量为4096。进一步检查FX2N-2DA模块及其和PLC的通信,均未发现问题。考虑到4096的二进制到了13位,刚好比FX2N-2DA所能处理的12位最大数4095大1。这样,实际进入FX2N-2DA的数刚好为0,因而其输出亦为0。但程序编制者并未对这种情况进行任何处理(图1),图1中D514为与砂轮主轴变频器运行频率输入模拟量相对应的PLC输出到FX2N-2DA模块的数字量,在第一行程序中D514的位数为32位,在第二行程序中只传送了D514的低16位,而在后面向FX2N-2DA缓冲器的传送中只取了低12位,其他高位丢失,未进行任何处理。
图1 PLC程序
图2 改进后的PLC程序
根据上述分析,由于PLC所接DA模块能接受的数据位数比PLC的数据位数少,会出现DA输出的不是希望的量而不被发现的情况。因此,有必要将最多位数的(本例中32位)数字量传送到DA模块之前,进行一个大小判断(与DA模块接收值比较,此例中与4095比较),并根据比较结果决定向DA模块缓冲器传送的值并发出相应报警信息。本例中当D514的值(32位)大于4095时,可将4095传给DA模块并报警,改进后的程序见图2,其中Y10输出接报警指示。当然,最好还是将要进行DA转换的值的位数控制在DA模块能处理的位数之内(本例12位)。