123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Threading;
- using System.Threading.Tasks;
- using ProjectBase.Data.BaseDAL;
- using ProjectBase.Data.Logs;
- using SIMDP.BLL;
- using SIMDP.Device;
- using SIMDP.Model;
- using SIMDP.Util;
- using ACTMULTILib;
- namespace SIMDP.Project
- {
- class MXComponent_HCQ_KT : MXComponent_HCQ
- {
- #region 重写父类函数
- public override void actionOpen()
- { }
- public override void actionStart()
- { }
- public override void actionStop()
- { }
- bool pcHeartBeat = false;
- public override void actionTimer()
- {
- try
- {
- // 心跳信号
- pcHeartBeat = !pcHeartBeat;
- bool res1 = Write("PC心跳信号", pcHeartBeat);
- // 轮询监控节点
- foreach (var p in monitorPoints)
- {
- short value;
- if (!Read(p, out value)) continue;
- if (value != Convert.ToInt16(p.value))
- {
- p.value = value;
- if (p.proc != null)
- p.proc.Invoke(this, new object[] { value });
- }
- }
- redis.Publish<string>(SysEnvironment.OpcDataChannel, "");
- }
- catch (Exception ex)
- {
- LogHelper.log.Error("读取PLC信号发生异常:" + ex.Message);
- actEasyIF.Close();
- SetRedisPlcDisConnect();
- }
- }
- #endregion
- #region 生产过程_小压溃
- public void 缓冲器2壳体压机压装完成(object value)
- {
- bool signal = Convert.ToBoolean(value);
- LogHelper.log.Debug("缓冲器2壳体压机压装完成: signal = " + signal.ToString());
- if (!signal)
- {
- Write("壳体读取完成", false);
- 壳体压机结果 = false;
- 壳体压机关联流水号 = 0;
- 壳体压机加工步骤号 = 0;
- return;
- }
- if (signal)
- {
- Read("壳体压机结果", out 壳体压机结果);//true
- Read("壳体压机关联流水号", out 壳体压机关联流水号);//工件流水号
- Read("壳体压机加工步骤号", out 壳体压机加工步骤号);//3
- }
- if (process_HCQ2[缓冲器2工序.壳体压机].Count == 0)
- {
- Tool.LogAndNotice("生产过程报警", 3, "缓冲器2工序.壳体压机: 生产序列无数据");
- Write("壳体读取完成", true);
- return;
- }
- //队列里有数据,进行处理
- ProductionData_HCQ2 data = process_HCQ2[缓冲器2工序.壳体压机][0];
- data.dict["壳体压机结果"] = 壳体压机结果 ? "OK" : "NG";
- LogHelper.log.Debug("更新壳体压机结果: " + 壳体压机结果.ToString());
- BLLFactory<BlProductData>.Instance.Update(data.toModel(), data.model.DataId);
- //更新最终压装结果
- data.dict["最终压装结果"] = data.dict["辅助压机结果"] == "OK"
- && data.dict["芯子压机结果"] == "OK"
- && data.dict["壳体压机结果"] == "OK" ? "OK" : "NG";
- LogHelper.log.Debug("更新最终压装结果: " + data.dict["最终压装结果"]);
- BLLFactory<BlProductData>.Instance.Update(data.toModel(), data.model.DataId);
- process_HCQ2[缓冲器2工序.壳体压机].RemoveAt(0);
- process_HCQ2[缓冲器2工序.打标].Add(data);
- Write("壳体读取完成", true);
- }
- #endregion
- }
- }
|