You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

62 lines
1.5 KiB

using Aborlen.Opc.PlcBase;
using FrameWork.Log;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Aborlen.PlcCommunicationInit
{
public partial class WorkStation : StationBase
{
public WorkStation()
{
OpcTag.EventTagChanged += StationTagChanged;
}
private void StationTagChanged(string tagId, int tagMarkCode, object tagValue, DateTime timeTrigger)
{
try
{
//判断是否为当前工位 如果不是 直接return 工位ID 16位 反射调用对应function方法
if (tagId.Substring(2, 16) != ThisStationInfo.StationId)
{
return;
}
if (ComOpcTagInfos.Where(p => p.TagId == tagId).First().TagClass == 10)
{
//触发Com事件
OpcTag_EventTagChanged(tagId, tagMarkCode, tagValue, timeTrigger);
}
if (tagMarkCode == 5010)
{
//触发报警
OpcTag_AlarmChanged(tagId, tagMarkCode, tagValue, timeTrigger);
}
GetDataChange4Log(tagId, tagMarkCode, tagValue, timeTrigger);
}
catch(Exception ex)
{
LogHelper.WriteLog(LogHelper.GetMethodInfo(), ex);
}
}
}
}