PAC應用于某動(dòng)力系統訓練模擬器中
SendCommand(CReplyCollectStart);//表示收到開(kāi)始采集命令
break;
case Ssendgroupdata: //有效數據指令
{ for(CircleNum=0;CircleNum
{ switch (RECVITEMS.Items[CircleNum].Command) //判斷子命令
{ case SsendoneDOdata: //server 發(fā)送的開(kāi)關(guān)量單字節指令
WriteOneDOChannel(RECVITEMS.Items[CircleNum]);
break;
case SsendoneAOdata: //server 發(fā)送的模擬量單字節指令
WriteOneAOChannel(RECVITEMS.Items[CircleNum]);
break;
default: break;
} } }
default: break;
} } }
3.3 數據采集發(fā)送子程序
為了降低網(wǎng)絡(luò )傳輸的數據量,PAC 控制器只向服務(wù)器發(fā)送狀態(tài)發(fā)生變化的數據,而狀態(tài)沒(méi)有發(fā)生變化的數據則不發(fā)送。同樣,服務(wù)器通信程序SimuTrans 只向PAC 控制器發(fā)送模型計算后發(fā)生變化的數據。
為了保證數據不會(huì )丟失,針對不同種類(lèi)的數據采用了不同的發(fā)送、回送方式。在該模擬器中,輸入的模擬量為艇員操作面板上的旋鈕時(shí)帶動(dòng)內部的電位器產(chǎn)生0~10V 的模擬電壓信號,由于其操作是連續過(guò)程,操作過(guò)程會(huì )產(chǎn)生一系列變化數據,因此5017H 采集到的變化數據直接發(fā)送到服務(wù)器即可。對于操作按鈕、多位開(kāi)關(guān)等部件產(chǎn)生的開(kāi)關(guān)量數據,為了避免數據丟失采用了重復發(fā)送,并且服務(wù)器收到數據后要做應答,確保了數據傳輸的可靠性。
4 結論
該模擬器2007 年9 月通過(guò)了驗收、鑒定。在動(dòng)力系統管理人員及在校學(xué)員的學(xué)習與訓練過(guò)程中發(fā)揮了重要作用,獲得了良好的軍事和經(jīng)濟效益。該半實(shí)物仿真訓練模擬器的成功研制實(shí)踐說(shuō)明,將新型PAC 控制器應用于模擬器代替傳統的工控機或PLC 不僅能縮短開(kāi)發(fā)周期、使系統運行穩定可靠,而且系統開(kāi)放性好,可以方便地與其他系統的模擬器連接組成更大規模的模擬器進(jìn)行訓練,是模擬器研制的一種新思路。
評論