//******************************************************************************* // Function Name : funWordWrite() // Description : PLC Word Write 명령을 연결된 클래스에 전달하고 그 값을 리턴한다. // Parameters : // Return Value : // Special Notes : //******************************************************************************* // 2007/03/06 어 경태 [L 00] //******************************************************************************* public virtual bool funWordWrite(string WriteAddress, string WriteData, EnuCommunication.StringType DataType) { //지역변수 선언 bool dbolReturnData = false; dbolReturnData = PclsCommunicationType.funWordWrite(WriteAddress, WriteData, DataType); return(dbolReturnData); }
//******************************************************************************* // Function Name : funWordRead() // Description : PLC Word Read 명령을 연결된 클래스에 전달하고 그 값을 리턴한다. // Parameters : // Return Value : // Special Notes : //******************************************************************************* // 2007/03/06 어 경태 [L 00] //******************************************************************************* public virtual string funWordRead(string ReadAddress, string ReadLength, EnuCommunication.StringType DataType) { //지역변수 선언 string dstrReturnData = ""; dstrReturnData = PclsCommunicationType.funWordRead(ReadAddress, ReadLength, DataType); return(dstrReturnData); }
//Data를 User가 원하는 Type으로 변경한다 #region "Data Type Change Function" //******************************************************************************* // Function Name : funAscStringConvert() // Description : Asc String Data 를 원하는 Data 로 바꾸어 준다 // Parameters : strData => ASCII String Data(AB) // dStringType => 바꾸고자 하는 Type // Return Value : // Special Notes : //******************************************************************************* // 2006/11/07 어 경태 [L 00] //******************************************************************************* public string funAscStringConvert(string strData, EnuCommunication.StringType StringType) { string dstrReturn = ""; string dstrTemp = ""; int dintTemp = 0; try { switch (StringType) { //ASCII Data(AB) => Binary Data(0100 0001 0100 0010) case CommonAct.EnuCommunication.StringType.Binary: dstrReturn = funAscStringConvert(strData, CommonAct.EnuCommunication.StringType.Hex); //ASC를 HEX로 바꾼다. dstrReturn = funHexConvert(dstrReturn, CommonAct.EnuCommunication.StringType.Binary); //HEX를 Bynary로 바꾼다. break; //ASCII Data(AB) => Decimal Data(16706) case CommonAct.EnuCommunication.StringType.Decimal: dstrReturn = funAscStringConvert(strData, CommonAct.EnuCommunication.StringType.Hex); //ASC를 HEX로 바꾼다. dstrReturn = funHexConvert(dstrReturn, CommonAct.EnuCommunication.StringType.Decimal); //HEX를 10진수로 바꾼다. break; //ASCII Data(AB) => Hex Data(4142) case CommonAct.EnuCommunication.StringType.Hex: for (int i = 0; i < strData.Length; i++) { char c = Convert.ToChar(strData.Substring(i, 1)); dintTemp = Convert.ToInt32(c); //아스키한문자를 10진수 ASC코드(65)로 변환한다. dstrTemp = string.Format("{0:X2}", dintTemp); //10진수를 2자리를 맞춘 16진수로 바꾼다. dstrReturn += dstrTemp; } break; //ASCII Data(AB) => ASC Code(6566) case CommonAct.EnuCommunication.StringType.ASCCode: for (int i = 0; i < strData.Length; ++i) { char c = Convert.ToChar(strData.Substring(i, 1)); dintTemp = Convert.ToInt32(c); //아스키한문자를 10진수 ASC코드로 변환한다. dstrTemp = string.Format("{0:D2}", dintTemp); //10진수를 10진수 2자리 문자로 바꾼다. dstrReturn += dstrTemp; } break; default: dstrReturn = strData; break; } } catch { //this.PInfo.subLog_Set(InfoAct.clsInfo.LogType.CIM, ex.ToString() + ", strData:" + strData); } return(dstrReturn); }
//******************************************************************************* // Function Name : subWordWrite() // Description : PLC Word Write 명령을 연결된 클래스에 전달한다. // Parameters : // Return Value : // Special Notes : //******************************************************************************* // 2007/03/06 어 경태 [L 00] //******************************************************************************* public virtual void subWordWrite(string WriteAddress, string WriteData, EnuCommunication.StringType DataType) { PclsCommunicationType.subWordWrite(WriteAddress, WriteData, DataType); }