chore: 初始化平芝126KV断路器线程序
This commit is contained in:
235
MisDataFunction/Function1054/MesServerFunction/Fun_1054.cs
Normal file
235
MisDataFunction/Function1054/MesServerFunction/Fun_1054.cs
Normal file
@@ -0,0 +1,235 @@
|
||||
using MesServerWork;
|
||||
using MisDataFunDll;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using System.Xml.Linq;
|
||||
|
||||
namespace MesServerFunctions
|
||||
{
|
||||
public partial class FunctionMES
|
||||
{
|
||||
object lockFunWork;
|
||||
//public void FunWork(DeviceDriver_BasicData.CustomeEvetnArgs e)
|
||||
public void FunWork(string recData)
|
||||
{
|
||||
|
||||
|
||||
lockFunWork = new object();
|
||||
lock (lockFunWork)
|
||||
{
|
||||
List<string> dataArray = MisDataFun.GetCmdStringList(recData);
|
||||
//string[] dataArray = recData.Split('|');
|
||||
//if (dataArray.Count != 4)
|
||||
//return;
|
||||
//消息来源
|
||||
string m_Source = dataArray[0].ToString();
|
||||
//消息类型 Barcode
|
||||
string m_Command = dataArray[1].ToString();
|
||||
//工位号
|
||||
string m_OpName = dataArray[2].ToString();
|
||||
//消息参数
|
||||
string m_Value = dataArray[3].ToString();
|
||||
|
||||
DeviceDriver_BasicData.CustomeEvetnArgs e = new DeviceDriver_BasicData.CustomeEvetnArgs();// = Newtonsoft.Json.JsonConvert.DeserializeObject<DeviceDriver_BasicData.CustomeEvetnArgs>(m_Value);
|
||||
string tagValue;
|
||||
|
||||
switch (m_Source)
|
||||
{
|
||||
case "PLC":
|
||||
e = Newtonsoft.Json.JsonConvert.DeserializeObject<DeviceDriver_BasicData.CustomeEvetnArgs>(m_Value);
|
||||
switch (e.TagValue.ToString().ToLower())
|
||||
{
|
||||
case "false":
|
||||
tagValue = "0";
|
||||
break;
|
||||
case "true":
|
||||
tagValue = "1";
|
||||
break;
|
||||
default:
|
||||
tagValue = e.TagValue.ToString();
|
||||
break;
|
||||
}
|
||||
e.TagValue = tagValue;
|
||||
switch (e.TagTypeCodeID.ToString())
|
||||
{
|
||||
// AGV相关变量类型代码处理说明:
|
||||
// 301:AGV请求进入
|
||||
// 302:AGV器具放置完毕
|
||||
// 303:AGV退出光栅
|
||||
// 304:送料信息验证完成
|
||||
// 305:送料信息验证结果
|
||||
// 305:任务发送状态 0 没有 1 发送 2 失败
|
||||
// 311:请求叫料
|
||||
// 312:请求退空
|
||||
// 313:请求退料
|
||||
// 314:允许AGV进入
|
||||
// 315:允许AGV离开
|
||||
// 316:器具码扫描完毕
|
||||
// 317:退回并重新配送
|
||||
// 318:器具号
|
||||
// 319:请求上料机型
|
||||
// 320:收到状态反馈点
|
||||
// 321:转序
|
||||
// 322:下空托盘
|
||||
// 323:上空托盘
|
||||
// 324:点对点
|
||||
|
||||
// 请求叫料
|
||||
case "311":
|
||||
fun_CallMaterials(e);
|
||||
break;
|
||||
// 请求退空
|
||||
case "312":
|
||||
fun_RequestReturns(e);
|
||||
break;
|
||||
// 请求退料
|
||||
case "313":
|
||||
fun_RequestReturnMaterial(e);
|
||||
break;
|
||||
// 允许AGV进入
|
||||
case "314":
|
||||
fun_AllowAGVEnter(e);
|
||||
break;
|
||||
// 允许AGV离开
|
||||
case "315":
|
||||
fun_AllowAGVLeave(e);
|
||||
break;
|
||||
// 器具码扫描完毕
|
||||
case "316":
|
||||
fun_ToolCodeScanOver(e);
|
||||
break;
|
||||
// 退回并重新配送
|
||||
case "317":
|
||||
fun_ReturnAndRedispatch(e);
|
||||
break;
|
||||
// 收到任务状态握手
|
||||
case "320":
|
||||
//MIS_BASE.WritePLC(306, m_OpName, 0);
|
||||
break;
|
||||
// 转序
|
||||
case "321":
|
||||
fun_TransferSequence(e);
|
||||
break;
|
||||
// 下空托盘
|
||||
case "322":
|
||||
fun_UnloadEmptyTray(e);
|
||||
break;
|
||||
// 上空托盘
|
||||
case "323":
|
||||
fun_LoadEmptyTray(e);
|
||||
break;
|
||||
// 点对点
|
||||
case "324":
|
||||
fun_PointToPoint(e);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 叫料流程
|
||||
// 1.请求叫料 收到请求叫料后 调用叫料接口 后续收到AGV的
|
||||
// 2.收到工厂 请求进入接口(工厂未开发 跳过) 发给PLC AGV请求进入
|
||||
// 3.收到允许AGV进入 调用接口(未开发 跳过) 允许进入
|
||||
// 4.收到 器具码扫码完成 根据318器具号 调用器具号查询接口 得出校验结果
|
||||
// 5.若器具码校验通过 调用 确认物料配送接口 调用成功后 给PLC发送 送料信息验证结果(1 合格 2 不合格) 和 送料信息验证完成
|
||||
// 6.收到AGV请求离开接口后(未开发 跳过) 发送给PLC请求离开点位
|
||||
// 7.收到PLC允许离开信号后 调用AGV允许离开接口(未开发 跳过)
|
||||
|
||||
// 退空托流程
|
||||
// 1.收到请求退空 调用退空托接口
|
||||
// 2.如叫料AGV请求进入 请求离开。。。。 只不过不需要扫描器具码部分
|
||||
|
||||
|
||||
// AGV相关方法声明(PLC触发的信号)
|
||||
/// <summary>
|
||||
/// 请求叫料
|
||||
/// </summary>
|
||||
public void fun_CallMaterials(DeviceDriver_BasicData.CustomeEvetnArgs e)
|
||||
{
|
||||
ThreadPool.QueueUserWorkItem(CallMaterials, e);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 请求退空
|
||||
/// </summary>
|
||||
public void fun_RequestReturns(DeviceDriver_BasicData.CustomeEvetnArgs e)
|
||||
{
|
||||
ThreadPool.QueueUserWorkItem(RequestReturns, e);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 请求退料
|
||||
/// </summary>
|
||||
public void fun_RequestReturnMaterial(DeviceDriver_BasicData.CustomeEvetnArgs e)
|
||||
{
|
||||
ThreadPool.QueueUserWorkItem(RequestReturnMaterial, e);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 允许AGV进入
|
||||
/// </summary>
|
||||
public void fun_AllowAGVEnter(DeviceDriver_BasicData.CustomeEvetnArgs e)
|
||||
{
|
||||
ThreadPool.QueueUserWorkItem(AllowAGVEnter, e);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 允许AGV离开
|
||||
/// </summary>
|
||||
public void fun_AllowAGVLeave(DeviceDriver_BasicData.CustomeEvetnArgs e)
|
||||
{
|
||||
ThreadPool.QueueUserWorkItem(AllowAGVLeave, e);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 器具码扫描完毕
|
||||
/// </summary>
|
||||
public void fun_ToolCodeScanOver(DeviceDriver_BasicData.CustomeEvetnArgs e)
|
||||
{
|
||||
ThreadPool.QueueUserWorkItem(ToolCodeScanOver, e);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 退回并重新配送
|
||||
/// </summary>
|
||||
public void fun_ReturnAndRedispatch(DeviceDriver_BasicData.CustomeEvetnArgs e)
|
||||
{
|
||||
ThreadPool.QueueUserWorkItem(ReturnAndRedispatch, e);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 转序
|
||||
/// </summary>
|
||||
public void fun_TransferSequence(DeviceDriver_BasicData.CustomeEvetnArgs e)
|
||||
{
|
||||
ThreadPool.QueueUserWorkItem(TransferSequence, e);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 下空托盘
|
||||
/// </summary>
|
||||
public void fun_UnloadEmptyTray(DeviceDriver_BasicData.CustomeEvetnArgs e)
|
||||
{
|
||||
ThreadPool.QueueUserWorkItem(UnloadEmptyTray, e);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 上空托盘
|
||||
/// </summary>
|
||||
public void fun_LoadEmptyTray(DeviceDriver_BasicData.CustomeEvetnArgs e)
|
||||
{
|
||||
ThreadPool.QueueUserWorkItem(LoadEmptyTray, e);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 点对点
|
||||
/// </summary>
|
||||
public void fun_PointToPoint(DeviceDriver_BasicData.CustomeEvetnArgs e)
|
||||
{
|
||||
ThreadPool.QueueUserWorkItem(PointToPoint, e);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
BIN
MisDataFunction/Function1054/MesServerFunction/vssver2.scc
Normal file
BIN
MisDataFunction/Function1054/MesServerFunction/vssver2.scc
Normal file
Binary file not shown.
Reference in New Issue
Block a user