Esempio n. 1
0
        //*******************************************************************************
        //  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);
        }
Esempio n. 2
0
        //*******************************************************************************
        //  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);
        }
Esempio n. 3
0
        //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);
        }
Esempio n. 4
0
 //*******************************************************************************
 //  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);
 }