Созданные ответы форума
-
АвторСообщения
-
EvgenУчастник
public int RepairTime(int dependOnCnl, int cnlNum)
{
if (Val(dependOnCnl) >= Val(cnlNum))
{
return 0;
}
return 1;
}
эта функция сравнивает 2 канала.
как сюда добавить обнуление канала (Val(dependOnCnl))»или вернуть значение 0″
если ввели команду в определенном канале управления.EvgenУчастникСпасибо работает!
такой вопрос
что означает:
в канале управления: тип команды
и какая разница между Часов ТИ и часовой ТС
дорасчетный ТИ дорасчетный ТС?EvgenУчастникВот я возвращаю каналу значение другого канала,
public double InputChannels(int dependOnCnl)
{
return Val(dependOnCnl);
}как задать похожую функцию что бы возвращать входному каналу значение канала управления
EvgenУчастникКак из канала управления присвоить значение входному каналу?
(не передавая его в плк или другое устройство)EvgenУчастникЕсть оборудование которое передает данные в ПК через ком порт по протоколу Modbus, оборудование старое и нет возможности его подключить иначе. и такое оборудование в разных местах.
Мы хотим собирать данные и выводить их в скаде.
Поэтому надо собирать их на тех ПК и передавать их в Сервер.
А можно по подробнее о настройках SCADA для такого обмена?EvgenУчастника если заказать курс по обучению к примеру на 6 часов, по 1 часу в день?
ну и что бы обучение было не из пустого в порожнее, все по полочкам. Такой вариант рассматривается?EvgenУчастникв разработке формул будут объяснения?
просто если Вы все сделаете и не будет ни одного комментария то разбираться все равно будет не просто, и нужно будет сидеть анализировать все действия и разбираться в их очередности.EvgenУчастникя перепробовал записать в столбце формула разными способами
EvgenУчастникЗдравствуйте!
я хочу входные каналы присвоить массиву
и затем после обработки вывести данные в скаде.
// присвоение массиву значение каналов
public double[] VremayRab()
{
double[] VremayRab = new double [30];
foreach (int i in VremayRab)
{
VremayRab[CnlNum + i] = Val(274 + i);}
return VremayRab;
}
// далее я создал дорасчётный ТИ
и как этому каналу присвоить значение из массива?
и как часто будут обновятся данные?(так же как и с ПЛК или будет временная задержка?)EvgenУчастники какой тип канала необходимо создать?
EvgenУчастникVal(701 + i) = VremayRab[i]; будет верно?
EvgenУчастникСпасибо за совет!
я создал массив и записал
public double[] VremayRabE()
{
double[] VremayRab = new double [30];
for (int i = 0; i <= 29; i++)
{
VremayRab[i] = Val(701 + i);}
return VremayRab;
}
ошибок не выдает.вопрос как присвоить к каналу связи значение элемента массива?
EvgenУчастникЗдравствуйте!
Я хочу данные с канала заносить в массив данных.
если я сделаю следующее это будет правильно?
в редакторе формул создать следующие
исходный код
public int[] N = new int[10000]; // создаем массив
int i = 0;
for([ i+=1 ] [i = 8])
{
N(i) = Val(100 + i);
}
c точки зрения синтаксиса все верно?EvgenУчастникэто не разработка. просто как данную программу написанную на csharp записать в rapid scada.
EvgenУчастникЗдравствуйте!
class Program
{
static void Main(string[] args){
// Типы ППР
string Trs = «»; string Tpr = «»; string Tkr = «»;
int TrsInt = 0; int TprInt = 0; int TkrInt = 0;// Какой ППР необходимо провести
int[] N = new int[2500];
// массив для сброса данных по времени работы
bool[] Flags = new bool[2500];// массив учета времени работы эл-проводов
int[] VremayRab = new int[2500];
string[] VremayStr = new string[2500];
string[] Nstr = new string[2500];
Console.Write(«Введите через какое время работы необходимо проводить плановый ремонт: «);
Trs = Console.ReadLine();
Console.WriteLine(«»);Console.Write(«Введите через какое время работы необходимо провести текущий ремонт: «);
Tpr = Console.ReadLine();
Console.WriteLine(«»);Console.Write(«Введите через какое время работы необходимо проводить капитальный ремонт: «);
Tkr = Console.ReadLine();
Console.WriteLine(«»);// переводим текстовые значения что ввели в целые числа
int.TryParse(Trs, out TrsInt);
int.TryParse(Tpr, out TprInt);
int.TryParse(Tkr, out TkrInt);// подстет времени работы для эл привода
Console.Write(«Введите сколько часов отработал 1 эл-привод: «);
VremayStr[0] = Console.ReadLine();
int.TryParse(VremayStr[0], out VremayRab[0]);Console.Write(«Введите номер ППР от (0 до 4) «);
Nstr[0] = Console.ReadLine();
int.TryParse(Nstr[0], out N[0]);
Console.WriteLine(«»);
// какой ППР необходим
if (VremayRab[0] >= TrsInt && N[0] == 0)
{
Console.WriteLine(«необходимо провести плановый ремонт эл-привода «, VremayRab[0]);
}if (VremayRab[0] >= TprInt && N[0] == 0 && Flags[0] == true)
{
N[0] += 1;
Flags[0] = false;
VremayRab[0] = 0;
}if (VremayRab[0] >= TprInt && N[0] == 1)
{
Console.WriteLine(«необходимо провести текущий ремонт эл-привода «, VremayRab[0]);
}if (VremayRab[0] >= TprInt && N[0] == 1 && Flags[0] == true)
{
N[0] += 1;
Flags[0] = false;
VremayRab[0] = 0;
}if (VremayRab[0] >= TrsInt && N[0] == 2)
{
Console.WriteLine(«необходимо провести плановый ремонт эл-привода «, VremayRab[0]);
}if (VremayRab[0] >= TprInt && N[0] == 2 && Flags[0] == true)
{
N[0] += 1;
Flags[0] = false;
VremayRab[0] = 0;
}if (VremayRab[0] >= TprInt && N[0] == 3)
{
Console.WriteLine(«необходимо провести текущий ремонт эл-привода «, VremayRab[0]);
}if (VremayRab[0] >= TprInt && N[0] == 3 && Flags[0] == true)
{
N[0] += 1;
Flags[0] = false;
VremayRab[0] = 0;
}if (VremayRab[0] >= TprInt && N[0] == 4)
{
Console.WriteLine(«необходимо провести капитальный ремонт эл-привода «, VremayRab[0]);
}if (VremayRab[0] >= TkrInt && N[0] == 4 && Flags[0] == true)
{
N[0] = 0;
Flags[0] = false;
VremayRab[0] = 0;
Console.WriteLine(«Все ремонты в этом году выполнены для «, VremayRab[0]);
}
Console.ReadKey();}
}
}
Вот код написан на c sharp
Как его правильно записать в rapid scada
при условии что в
bool[] Flags = new bool[2500];
данные задаются пользователем!
int[] VremayRab = new int[2500];
в этот массив данные должны вносится из этой формулы Val(0)>1?Cnl+1:Cnl
где 0 это ячейка массива соответствующая реальному эл-приводу.За ранее благодарю.
И буду признателен если ответ будет с максимум пояснений!!!
(из Ваших ответов создаю описание, когда соберу страниц 20 могу Вам выслать) -
АвторСообщения