}
}
选择仿真数据的程序:
(2)选择仿真数据
void CTqCtrl::OnDblclkListTqdata()
{
// TODO: Add your control notification handler code here
int cursel = m_listTqData.GetCurSel();
if(cursel < 0 || cursel > MAX_CFG_NUM) return ;
m_editTQCb.SetWindowText("");
m_tips.SetWindowText("");
int i=0;
CString tmp;
for(i=0; i<7;i++)
{
//电网侧数据
tmp.Format("%7.2f",gl_cfgData[cursel].data[i]);
*m_dataStr[i]=tmp;
//电厂侧数据
tmp.Format("%7.2f",gl_cfgData[cursel].data[i+7]);
*m_dataStr[i+7]=tmp;
//偏差
if(i<=2) //压差:换算成百分比
tmp.Format("%4.2f",100 * (gl_cfgData[cursel].data[i+7]-gl_cfgData[cursel].data[i])/63.51);
else
tmp.Format("%7.2f",gl_cfgData[cursel].data[i+7]-gl_cfgData[cursel].data[i]);
*m_dataStr[i+14]=tmp;
}
UpdateData(false);
}
判断是否满足同期的程序:
(3)同期判断函数
int CTqCtrl::CalSync()
{
int cursel = m_listTqData.GetCurSel();
if(cursel < 0 || cursel > MAX_CFG_NUM) return 0;
m_editTQCb.SetWindowText("");
int i=0;
float tmp;
for(i=0; i<7;i++)
{
if(i<=2) //压差:换算成百分比
{
tmp = 100 * (gl_cfgData[cursel].data[i+7]-gl_cfgData[cursel].data[i])/63.51;
if(tmp < VOLT_LOW_DELT || tmp > VOLT_HIGH_DELT)
return 0;
}
else if(i>2 && i<6) //角差
{
tmp=gl_cfgData[cursel].data[i+7]-gl_cfgData[cursel].data[i];
if(fabs(tmp) > ANGLE_DELT)
return 0;
}
else
{
tmp=gl_cfgData[cursel].data[i+7]-gl_cfgData[cursel].data[i];
if(fabs(tmp) > FREQUENCE_DELT)
return 0;
}
}
return 1;
}
3.5 程序运行
鼠标双击选择一组仿真数据,再按“仿真”按钮,即可执行准同期判断。如选择第5组仿真数据,仿真执行符合准同期的条件,可输出并网信号,如图3.2所示。
图3.2 仿真操作-符合准同期
若当前两侧数据不满足条件,则如图3.3所示。 风力发电场并网同期控制装置设计及软件仿真(10):http://www.youerw.com/zidonghua/lunwen_2007.html