6/30/2020 5:10 AM | |
Joined: 12/21/2019 Last visit: 2/5/2021 Posts: 9 Rating: (0) |
Dear Team, I need to configure command signals in system event list so that which user given control command is to be appeared in the system event list. I am using Function GCreateCmdOperationMsg as attached. and i am above function in inside IO field
#include "apdefap.h" void OnPropertyChanged(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, double value) { #define PicWin "PicWin-BayCmd" char *p_cCmdLogText; char *p_cCmdDirText; unsigned long ulCmdDir; LINKINFO linkinfo; linkinfo.LinkType=1; linkinfo.dwCycle=3; p_cCmdLogText = SysMalloc(255); p_cCmdDirText = SysMalloc(255); memset (p_cCmdLogText,0,255); memset (p_cCmdDirText,0,255); printf("Cause_IO_Trigger:%le\n",value); //printf("Cause:%le\n",value); //if (!GetVisible("START","PicWin-BayCmd")) // return; ulCmdDir = (unsigned long)GetTagDouble(GetText(lpszPictureName,"text_TagCmd")); /* if (ulCmdDir == 1 && value==17) { //Open and Select SetPropBOOL(lpszPictureName,"btnSelectOpen","Operation",FALSE); SetPropBOOL(lpszPictureName,"btnExecute","Operation",TRUE); } else if (ulCmdDir == 2 && value==17) { //Close and Select SetPropBOOL(lpszPictureName,"btnSelectClose","Operation",FALSE); SetPropBOOL(lpszPictureName,"btnExecute","Operation",TRUE); } //else if (GetTagBit("CmdWin_PicStart")==0 && (value==35 || value==36)) { //SetVisible("START","PicWin-BayCmd",FALSE); //Return-Type: char* //SetPictureName("START","PicWin-BayCmd",""); //Return-Type: BOOL //} */ if (GetOutputValueDouble(lpszPictureName,"Begin_IO")==0) //Return-Type: double { //printf("CmdLog\n"); strcpy(p_cCmdLogText,GetText(lpszPictureName,"CmdLog")); if(ulCmdDir==1) strcpy(p_cCmdDirText,"OPEN "); else if (ulCmdDir==2) strcpy(p_cCmdDirText,"CLOSE "); else strcpy(p_cCmdDirText,"ERROR "); if (value==16) { SetText(lpszPictureName,"CmdLog",strcat(p_cCmdLogText,strcat(p_cCmdDirText,"Select Command Sent\n"))); if (ulCmdDir==1) GCreateCmdOperationMsg_V1( 1, 8801, "KLS_275kV_KLS_D01_F34_USERDEF_c_BOGGIO1_SPCSO1_ctlVal.Value", 217, "D01", "KLS_275kV_KLS_D01_F34_CTRL/c_CSWI2.Pos.ctlVal", "100002069","pszComment" ); else GCreateCmdOperationMsg_V1( 1, 8804, "KLS_275kV_KLS_D01_F34_USERDEF_c_BOGGIO1_SPCSO1_ctlVal.Value", 217, "D01", "KLS_275kV_KLS_D01_F34_CTRL/c_CSWI2.Pos.ctlVal", "100002069","pszComment" ); } else if (value==17) { SetText(lpszPictureName,"CmdLog",strcat(p_cCmdLogText,strcat(p_cCmdDirText,"Select Command Successful\n"))); if(ulCmdDir == 1) SetPropBOOL(lpszPictureName,"btnSelectOpen","Operation",FALSE); else SetPropBOOL(lpszPictureName,"btnSelectClose","Operation",FALSE); SetPropBOOL(lpszPictureName,"btnExecute","Operation",TRUE); } else if (value==18) SetText(lpszPictureName,"CmdLog",strcat(p_cCmdLogText,strcat(p_cCmdDirText,"Select Command Failed\n"))); else if (value==19) { SetText(lpszPictureName,"CmdLog",strcat(p_cCmdLogText,strcat(p_cCmdDirText,"Command Sent\n"))); if (ulCmdDir==1) GCreateCmdOperationMsg_V1( 1, 8802, "KLS_275kV_KLS_D01_F34_USERDEF_c_BOGGIO1_SPCSO1_ctlVal.Value", 217, "D01", "KLS_275kV_KLS_D01_F34_CTRL/c_CSWI2.Pos.ctlVal", "100002069","pszComment" ); else GCreateCmdOperationMsg_V1( 1, 8805, "KLS_275kV_KLS_D01_F34_USERDEF_c_BOGGIO1_SPCSO1_ctlVal.Value", 217, "D01", "KLS_275kV_KLS_D01_F34_CTRL/c_CSWI2.Pos.ctlVal", "100002069","pszComment" ); } else if (value==20) SetText(lpszPictureName,"CmdLog",strcat(p_cCmdLogText,strcat(p_cCmdDirText,"Command Successful\n"))); else if (value==21) SetText(lpszPictureName,"CmdLog",strcat(p_cCmdLogText,strcat(p_cCmdDirText,"Command Failed\n"))); else if (value==35) { SetText(lpszPictureName,"CmdLog",strcat(p_cCmdLogText,strcat(p_cCmdDirText,"Command Termination Successful\r\nCommand Window will Close"))); strcpy(linkinfo.szLinkName,"Cmd_EnaOpnDummy"); SetLink(lpszPictureName,"Cause_IO","OutputValue",&linkinfo); SetLink(lpszPictureName,"EnaOpn_IO","OutputValue",&linkinfo); SetLink(lpszPictureName,"EnaCls_IO","OutputValue",&linkinfo); SetLink(lpszPictureName,"Block_IO","OutputValue",&linkinfo); SetOutputValueDouble(lpszPictureName, "Begin_IO", 1); SetTagByteWait("VisibleTimer",1); SetText(lpszPictureName,"CmdLog",""); SetPropWord(GetOutputValueChar(lpszPictureName,"Picture_IO"),GetOutputValueChar(lpszPictureName,"Object_IO"),"3DBorderWeight",2); SetPropWord(GetOutputValueChar(lpszPictureName,"Picture_IO"),GetOutputValueChar(lpszPictureName,"Object_IO"),"3DLineWeight",0); //SetVisible("START","PicWin-BayCmd",FALSE); SetPictureName("START",PicWin,"DUMMY"); //SetVisible("START","PicWin-BayCmd",FALSE); SetLeft("START",PicWin,4000); SetTop("START",PicWin,2000); //SetPictureName("START",PicWin,"DUMMY"); } else if (value==36) SetText(lpszPictureName,"CmdLog",strcat(p_cCmdLogText,strcat(p_cCmdDirText,"Command Termination Failed\r\n"))); else SetText(lpszPictureName,"CmdLog",""); } } I need command which read command, IOA and message group form alarm logging. currently form above script of IO field, it is reading direct text means whatever text available in script it is reading only that text not for all message group. Function is highlighted in bold color. Thanks, Rohan Dhamale AttachmentGCreateCmdOperationMsg.txt (49 Downloads) |
Follow us on