模拟量输入以后用算法求取到一个周期或多个周期内的信号最大值,如何利用这个最大值(或者利用其它可以得到的信号)实现电机的相序保护、
最佳答案
思路:
设置定时中断SMB34(SMB35),在定时中断控制字节中设置一个中断时间,假设1mS(最大255毫秒),定义中断连接中断子程序,开中断。这样计划将模拟量按定时中断1mS的时间间隔读取3个模拟量输入值,因为不需要任何单位的换算,直接用比较指令:
中断程序:
LDW> AIW0, AIW2 //假设A/B/C分别连接模拟量输入AIW0/AIW2/AIW4
AW> AIW2, AIW4 //假设A超前B(120度电角度),B超前C(120度电角度)
INCB VB0 //相序正确,累加中断次数
LDB>= VB0, 2
S M0.0, 1 //相序正确,M0.0 = 1
LD SM0.0
INCB VB1 //累加中断次数
LDB>= VB1, 5
AN M0.0 //假设相序错误,当中断5次后,M0.0未=1
S M0.1, 1 //则、M0.1 = 1,表示相序错误
上述只是一个简单的思路。
提问者对于答案的评价:
根据我的数据采集模拟量的输入是标量的,而且这样的相序保护得保证测得同一时刻三相每相电压。不过这样的思路倒很直接
最佳答案作者回复:
实际上检测程序缺少一个启动判断条件,即假设的A相为最大值时,才能启动判断。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc137928.html