Example #1
0
        public void WriteToPlc(string tagName, string[] strArray)
        {
            object value = strArray;

            if (variableCompolet.GetVariableInfo(tagName).Type == OMRON.Compolet.Variable.VariableType.STRUCT)
            {
                string[] arr   = value as string[];
                Byte[]   toArr = new Byte[arr.Length];
                for (int i = 0; i < arr.Length; i++)
                {
                    toArr[i] = Byte.Parse(arr[i]);
                }
                value = toArr;
            }
            variableCompolet.WriteVariable(tagName, value);
        }
Example #2
0
        private int WriteValiable(string address, object value)
        {
            try
            {
                enumClassNo classNo = enumClassNo.Class1;
                string      temp    = "";
                if (address.StartsWith("Class1"))
                {
                    classNo = enumClassNo.Class1;
                    temp    = address.Replace("Class1,", "");
                }
                else if (address.StartsWith("Class3"))
                {
                    classNo = enumClassNo.Class3;
                    temp    = address.Replace("Class3,", "");
                }
                else
                {
                    return(-97);
                }


                bool     useNum         = false;
                string[] splitedAddress = null;

                if (temp.Contains(','))
                {
                    splitedAddress = address.Split(',');
                    for (int i = 0; i < splitedAddress.Length; i++)
                    {
                        splitedAddress[i] = splitedAddress[i].Trim();
                    }
                    useNum = true;
                }
                else
                {
                    return(-97);
                }

                if (classNo == enumClassNo.Class3)
                {
                    OMRON.Compolet.CIP.VariableInfo variableInfo = _class3.GetVariableInfo(splitedAddress[1]);

                    if (useNum)
                    {
                        OMRON.Compolet.CIP.VariableInfo memberInfo = variableInfo.StructMembers[int.Parse(splitedAddress[2])];

                        _class3.WriteVariable(string.Format("{0}[{1}]", splitedAddress[1], splitedAddress[2]), value); //, int.Parse(splitedAddress[2]) + 1);
                    }
                    else
                    {
                        _class3.WriteVariable(splitedAddress[1], value);
                    }
                }
                else
                {
                    _class1.WriteVariable(splitedAddress[1], value);
                }

                return(0);
            }
            catch (Exception ex)
            {
                CLogManager.Instance.LogError(string.Format("WriteValiable Execute Error {0} {1}", address, value), ex);
                return(-98);
            }
        }