コード例 #1
0
ファイル: ComLink.cs プロジェクト: Bruce-le3/UI_
 public abstract int ReadBit(ComLink.BitArea ba, int addrWord, int addrBit, ref bool status);
コード例 #2
0
ファイル: OmronHostLink.cs プロジェクト: Bruce-le3/UI_
        public int WriteBit(ComLink.BitArea ba, int addrWord, int addrBit, bool bSet)
        {
            int result;

            if (ba >= (ComLink.BitArea) 10)
            {
                result = 1;
            }
            else
            {
                string strMemory;
                switch (ba)
                {
                case ComLink.BitArea.CIO:
                    strMemory = "30";
                    break;

                case ComLink.BitArea.WR:
                    strMemory = "31";
                    break;

                case ComLink.BitArea.HR:
                    strMemory = "32";
                    break;

                case ComLink.BitArea.AR:
                    strMemory = "33";
                    break;

                case ComLink.BitArea.TM:
                case ComLink.BitArea.CNT:
                    strMemory = "09";
                    break;

                default:
                    result = 1;
                    return(result);
                }
                StringBuilder strCommand = new StringBuilder("@");
                strCommand.Append(this._strUnitNo);
                strCommand.Append("FA10000000001");
                strCommand.Append("02");
                strCommand.Append(strMemory);
                string strWord = Convert.ToString(addrWord, 16);
                if (strWord.Length < 4)
                {
                    string strTemp = "0000";
                    strTemp = strTemp.Substring(0, 4 - strWord.Length);
                    strWord = strTemp + strWord;
                }
                strCommand.Append(strWord);
                strCommand.Append("0");
                strCommand.Append(Convert.ToString(addrBit, 16));
                strCommand.Append("0001");
                if (bSet)
                {
                    strCommand.Append("01");
                }
                else
                {
                    strCommand.Append("00");
                }
                string strFcs = this.GetFcs(strCommand.ToString());
                strCommand.Append(strFcs);
                strCommand.Append("*");
                strCommand.Append('\r');
                string strRead = null;
                try
                {
                    lock (this._port)
                    {
                        this._port.Write(strCommand.ToString());
                        strRead = this._port.ReadTo(this._strReadTo);
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                if (strRead.Length > 24 && strRead.Substring(19, 4).Equals("0000"))
                {
                    result = 0;
                }
                else
                {
                    result = 1;
                }
            }
            return(result);
        }
コード例 #3
0
ファイル: ComLink.cs プロジェクト: Bruce-le3/UI_
 public abstract int ResetBit(ComLink.BitArea ba, int addrWord, int addrBit);
コード例 #4
0
ファイル: OmronHostLink.cs プロジェクト: Bruce-le3/UI_
 public override int ResetBit(ComLink.BitArea ba, int addrWord, int addrBit)
 {
     return(this.WriteBit(ba, addrWord, addrBit, false));
 }