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); }
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); } }