public async Task <(bool, string)> HabilitaForno(int Posicao) { string tagName = string.Empty; string workStation = _configuration["WorkStation"]; if (Posicao == 1) { tagName = _configuration["HabilitaForno1"]; } else if (Posicao == 2) { tagName = _configuration["HabilitaForno2"]; } else { return(false, "Não encontrado forno nesta posição"); } var tagValue = await _interleverDb.Read(tagName); var tagNewValue = WriteBit(Convert.ToInt32(tagValue), 3).ToString(); if (!await _interleverDb.Write(tagNewValue, tagName, workStation)) { return(false, "Erro ao tentar escrever no banco de dados"); } return(true, string.Empty); }
public async Task <IActionResult> Get(string tag) { Console.WriteLine(); Console.WriteLine("Tag = " + tag); Console.WriteLine(); var value = new{ value = await interlevelDb.Read(tag) }; return(Ok(value)); }
public async Task <(bool, string)> ReadTags() { string numeroRolo = ""; string numeroOP = ""; string numeroCodTira = ""; DateTime dateMonitoring = DateTime.Now; // faz get nas tags de input var tagsInput = await _otherApi.GetTagList("input"); //Faz get dos alarm var thingAlarms = await _otherApi.GetAlarm(); //Faz get da tag com o número do rolo var tagRolo = await _otherApi.GetTag(Convert.ToInt32(_configuration["IdTagRolo"])); if (tagRolo != null) { numeroRolo = await _interlevelDb.Read(tagRolo.physicalTag); } //Faz get da tag com o número da OP var tagOP = await _otherApi.GetTag(Convert.ToInt32(_configuration["IdTagOP"])); if (tagOP != null) { numeroOP = await _interlevelDb.Read(tagOP.physicalTag); } //Faz get da tag com o código da Tira var tagCodTira = await _otherApi.GetTag(Convert.ToInt32(_configuration["IdTagCodTira"])); if (tagCodTira != null) { numeroCodTira = await _interlevelDb.Read(tagCodTira.physicalTag); } foreach (var tag in tagsInput) { foreach (var thingId in tag.thingGroup.thingsIds) { DateTime dt = DateTime.Now; // Verifica se a thing existe na lista..... se não existir faz get e adiciona na lista //Console.WriteLine("antes thing" + new TimeSpan((DateTime.Now - dt).Ticks).TotalMilliseconds.ToString()); var thing = ReturnThing(thingId); if (thing == null) { Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine("Retornou não encontrado thing"); Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine(""); return(false, "Thing não encontrada. Thing Id = " + thingId.ToString()); } //Console.WriteLine("depois thing" + new TimeSpan((DateTime.Now - dt).Ticks).TotalMilliseconds.ToString()); var valueTag = await _interlevelDb.Read(tag.physicalTag); //Console.WriteLine("depois select" + new TimeSpan((DateTime.Now - dt).Ticks).TotalMilliseconds.ToString()); var tagHistorian = new { thingId = thingId, tag = tag.tagName, value = valueTag, group = tag.tagGroup, date = dateMonitoring.Ticks }; //Console.WriteLine("antes post" + new TimeSpan((DateTime.Now - dt).Ticks).TotalMilliseconds.ToString()); var post = await _otherApi.PostHistorian(tagHistorian); Console.WriteLine("depois post" + new TimeSpan((DateTime.Now - dt).Ticks).TotalMilliseconds.ToString()); var tagHistorianRolo = new { thingId = thingId, tag = "rolo", value = numeroRolo, group = "Linha", date = dateMonitoring.Ticks }; var postNumRolo = await _otherApi.PostHistorian(tagHistorianRolo); var tagHistorianOP = new { thingId = thingId, tag = "ordem", value = numeroOP, group = "Linha", date = dateMonitoring.Ticks }; var postNumOp = await _otherApi.PostHistorian(tagHistorianOP); var tagHistorianCodTira = new { thingId = thingId, tag = "codTira", value = numeroCodTira, group = "Linha", date = dateMonitoring.Ticks }; var postCodTira = await _otherApi.PostHistorian(tagHistorianCodTira); } } foreach (var thingAlarm in thingAlarms) { foreach (var alarm in thingAlarm.alarms) { var tagHistorian = new { thingId = alarm.thingId, tag = alarm.alarmName, value = alarm.alarmDescription, group = "Alarme", date = dateMonitoring.Ticks }; var post = _otherApi.PostHistorian(tagHistorian); } } return(true, string.Empty); }