Предложенный способ достаточно простой.
Предложенный способ достаточно простой.
Спасибо.
Программист сейчас в отпуске, когда вернется, мы передадим ему ваше предложение.
Спасибо.
Это удалось сделать в автоматическом режиме, без использования кнопки. При входе диспетчера, на его компьютере исполняется скрипт с командой "public override void Start()".
А как теперь сделать, чтобы при выходе диспетчера оператор восстановился? Строка в скрипте диспетчера "public override void Stop()" не работает (не изменяется значение параметра в коде)
Строка работает, просто поскольку происходит выход значение не успевает записаться на выход.
Можно при помощи скрипта отслеживать состояние связи с компьютером - и если связь пропадает, выполнять смену оператора. Вот пример скрипта:
using System;
using MasterSCADA.Script.FB;
using MasterSCADA.Hlp;
using FB;
using System.Linq;
using MasterSCADALib;
public partial class ФБ : ScriptBase
{
public override void Execute()
{
var project = this.HostFB.TreeItemHlp.Project;
var comp=(ITreeItemHlp)project.Item("Система.Компьютер 2");
Связь_есть=comp.RTItemState == ERTItemState.rtisNormal;
}
}
Спасибо.
насколько я понимаю, Связь_есть - переменная?
Компилятор ругается: "The name 'ERTItemState' does not exist in the current context в строке"
И куда эти три строки нужно вписать: в скрипт АРМа по месту, или в скрипт удаленного АРМа?
скрипт АРМа по месту выглядит так:
using System;
using MasterSCADA.Script.FB;
using MasterSCADA.Hlp;
using FB;
using System.Linq;
public partial class ФБ : ScriptBase
{
bool? M=false;
public override void Execute()
{
if (Параметр1==true)
{
HostFB.TreeItemHlp.Project.RTPermissions.ReLogon(" Просмотр","1"); // Просмотр - имя оператора, 1 - пароль.
}
M=Параметр1;
}
}
скрипт удаленного АРМа:
using System;
using MasterSCADA.Script.FB;
using MasterSCADA.Hlp;
using FB;
using System.Linq;
public partial class ФБ : ScriptBase
{
public override void Start()
{
Параметр1=true;
}
}
Последний раз редактировалось Tagir; 01.09.2014 в 08:55.
уже не ругается. не было строки "using MasterSCADALib;". Версия 3.6.0.43228 3.6(DemoReleaseMin)_13_11_04_20_19.
Сделал, но обратный переход не выполняется:
using System;
using MasterSCADA.Script.FB;
using MasterSCADA.Hlp;
using FB;
using System.Linq;
using MasterSCADALib;
public partial class ФБ : ScriptBase
{
bool? M=false;
public override void Execute()
{
if (Параметр1==true)
{
HostFB.TreeItemHlp.Project.RTPermissions.ReLogon(" Просмотр","1"); // Просмотр - имя оператора, 1 - пароль.
}
M=Параметр1;
var project = this.HostFB.TreeItemHlp.Project;
var comp=(ITreeItemHlp)project.Item("Система.АРМ диспетчера");
Связь_есть=comp.RTItemState == ERTItemState.rtisNormal;
}
}
Последний раз редактировалось Tagir; 01.09.2014 в 12:23.
Так где у вас реализация обратного перехода?
Спасибо.