change - 修改配置

dev
liuwf 1 year ago
parent 02a7fc6179
commit 1c0a63c4ed

@ -175,6 +175,9 @@
"SubscriptionClientName": "Admin.Core"
},
"Middleware": {
"Plc": {
"Enabled": true
},
"QuartzNetJob": {
"Enabled": true
},

@ -17,6 +17,7 @@ using static Npgsql.Replication.PgOutput.Messages.RelationMessage;
using Aucma.Core.PLc;
using System.Threading.Tasks;
using Consul;
using NetTaste;
/*
*
@ -209,7 +210,7 @@ namespace Aucma.Core.ProductOffLine.ViewModels
/// </summary>
/// <param name="code"></param>
/// <param name="direction">扫码器方向1左边分A库2右边分B库</param>
private void ReceiveCode(string code,int direction)
private void ReceiveCode(string code, int scannerNo)
{
//1.扫描的SN条码去条码系统查询GET_BARCODE_DATA
@ -237,19 +238,19 @@ namespace Aucma.Core.ProductOffLine.ViewModels
//5.分垛A,B库逻辑(先左边读到的条码分A库右边读到的B库==>预留分库逻辑)
//6.下发plc信号
SendPlcPass(direction);
SendPlcPass(scannerNo);
}
#region plc交互
private SemaphoreSlim semaphore = new SemaphoreSlim(0);
// private SemaphoreSlim semaphore = new SemaphoreSlim(0);
/// <summary>
/// 下发plc放行信号
/// 下发plc放行信号,根据接收到的scannerNo不同两条道的plc信号地址也不同
/// </summary>
/// <param name="materialType"></param>
private bool SendPlcPass(int direction)
private bool SendPlcPass(int scannerNo)
{
bool result = false;
try
@ -259,13 +260,13 @@ namespace Aucma.Core.ProductOffLine.ViewModels
{
if (obj.plc.IsConnected)
{
// 写入入库方向
obj.plc.WriteInt32("D100", direction);
// 写入入库方向两条道plc地址不同
obj.plc.WriteInt32("D100", scannerNo);
// 往plc写入放行信号
obj.plc.WriteInt32("D102", 1);
// 等待plc反馈信号
waitPlcSignal();
semaphore.Wait();
// semaphore.Wait();
result = true;
}
else
@ -316,7 +317,7 @@ namespace Aucma.Core.ProductOffLine.ViewModels
Thread.Sleep(1000);
} while (isFlag);
// 释放信号量
semaphore.Release();
// semaphore.Release();
}
else
{

@ -191,6 +191,9 @@
"SubscriptionClientName": "Admin.Core"
},
"Middleware": {
"Plc": {
"Enabled": true
},
"QuartzNetJob": {
"Enabled": true
},

@ -36,7 +36,7 @@ namespace Aucma.Core.Scanner
/// code扫码信息刷新
/// </summary>
/// <param name="Code1"></param>
public delegate void ReceiveCode(string code, int direction);
public delegate void ReceiveCode(string code, int scannerNo);
public static event ReceiveCode? ReceiveCodeEvent;
#endregion
@ -213,12 +213,15 @@ namespace Aucma.Core.Scanner
// 扫码器1处理扫码器1的业务
if (hashmap.Value.Equals(Appsettings.app("Middleware", "Scanner1", "Ip")))
{
#region 条码绑定业务处理
ReceiveCode1Event?.Invoke(strCode);
#endregion
}
else if (hashmap.Value.Equals(Appsettings.app("Middleware", "Scanner2", "Ip")))
else if (hashmap.Value.Equals(Appsettings.app("Middleware", "Scanner2", "Ip"))) // 扫码器2处理扫码器2的业务
{
// 扫码器2处理扫码器2的业务
#region 条码绑定业务处理
ReceiveCode2Event?.Invoke(strCode);
#endregion
}
}

Loading…
Cancel
Save