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