public void ReadData(PLCCom _Com) { ReadMark = CommUtil.GetDevice(AmountDevice, _Com); if (ReadMark > 0) { GetBoxCode(_Com); GetAmount(_Com); } }
public void ResetReadMark(PLCCom _Com) { try { CommUtil.SetDevice(0, ReadMarkDevice, _Com); Log.Info("重设读取标志成功."); } catch (System.Exception ex) { Log.Error("重设读取标志失败.", ex); } }
/// <summary> /// get amount data from device /// </summary> /// <param name="_Com"></param> public void GetAmount(PLCCom _Com) { try { Amount = CommUtil.GetDevice(AmountDevice, _Com); Log.Info(String.Format("数量读取成功. 软元件地址:[{0}]. 数量:[{1}].", AmountDevice, Amount)); } catch (System.Exception ex) { Log.Error("数量读取失败.", ex); throw; } }
/// <summary> /// set plate code to device /// </summary> /// <param name="_plateCode"></param> /// <param name="_Com"></param> public void SetPlateCode(String _PlateCode, PLCCom _Com) { try { PlateCode = _PlateCode; CommUtil.SetStringToDevice(PlateCode, PlateCodeDevice, PLATE_CODE_SIZE, _Com); Log.Info(String.Format("托盘码写入成功. 软元件地址:[{0}]. 托盘码:Data [{1}]", PlateCodeDevice, PlateCode)); } catch (System.Exception ex) { Log.Error("托盘码写入失败.", ex); } }
/// <summary> /// set amount to device /// </summary> /// <param name="_Amount"></param> /// <param name="_Com"></param> public void SetAmount(short _Amount, PLCCom _Com) { try { Amount = _Amount; CommUtil.SetDevice(Amount, AmountDevice, _Com); Log.Info(String.Format("数量写入成功. 软元件地址:[{0}]. 数量:[{1}].", AmountDevice, Amount)); } catch (System.Exception ex) { Log.Error("数量写入失败.", ex); } }
/// <summary> /// set box code to device /// </summary> /// <param name="_BoxCode"></param> /// <param name="_Com"></param> public void SetBoxCode(String _BoxCode, PLCCom _Com) { try { BoxCode = _BoxCode; CommUtil.SetStringToDevice(BoxCode, BoxCodeDevice, BOX_CODE_SIZE, _Com); Log.Info(String.Format("箱码写入成功. 软元件地址:[{0}]. 箱码:[{1}].", BoxCodeDevice, BoxCode)); } catch (System.Exception ex) { Log.Error("箱码写入失败.", ex); } }
/// <summary> /// get plate code data from device /// </summary> /// <param name="_Com"></param> public void GetPlateCode(PLCCom _Com) { try { String tmpStr = CommUtil.GetStringFromDevice(PlateCodeDevice, PLATE_CODE_SIZE, _Com); StringBuilder regularStr = new StringBuilder(); foreach (Char c in tmpStr) { regularStr.Append(Char.IsLetterOrDigit(c) ? c : '#'); } PlateCode = regularStr.ToString(); Log.Info(String.Format("托盘码读取成功. 软元件地址:[{0}]. 托盘码:[{1}].", PlateCodeDevice, PlateCode)); } catch (System.Exception ex) { Log.Error("托盘码读取失败.", ex); throw; } }
public void ReadData(PLCCom _Com) { try { ReadMark = CommUtil.GetDevice(ReadMarkDevice, _Com); if (0 != ReadMark) { Log.Info(String.Format("检测读取标志已设置为 [{0}]. 开始读取数据.", ReadMark)); GetPlateCode(_Com); foreach (Record record in Records) { record.ReadData(_Com); } Processed = false; } } catch (System.Exception ex) { Log.Error("数据读取失败.", ex); } }