Добавлено: 31 май 2010, 14:35
Здравствуйте! Возникла такая проблема, необходимо изменить уставку регулятора на объекте с АРМа компьютера диспетчера. На компьютере диспетчера запущен экран диспетчера и модель для объектов. При изменении уставки на компьютере диспетчера она записывается в КУставку, передается на контроллер на объекте и должна считываться в ИУставку. Компонент регулятора на объекте работает по такому принципу и все нормально работает. На компьютере диспетчера новая уставка записывается в КУставку. но в базе параметров WinDecont можно увидеть, что флаг динамики при этом не установлен и в таком виде она передается на контроллер на объекте и без флага динамики не считывается и не меняется. Соответствие номеров сигналов в модели проверено. Если в базе параметров WinDecont вручную установить флаг динамики, то значение ИУставка на объекте меняется.
Ниже приведена функция и небольшой фрагмент кода программы, которые отвечают за изменение уставки регулятора.
void __fastcall TfCtp4::UstReg(const AnsiString aFullRelativeOpcName,
TdepOpcListParUserFunc *aListParUserFunc, int aIndexParChange,
bool aAllConnected, bool aAllChanged, Variant &aWriteValue,
bool &aQualitySpecified, WORD &aWriteQuality, bool &aWriting)
{
if(flWait==1) {
aWriting=true;
aWriteValue=edUst->Text;
pnU->Visible=false;
flWait=0;
}
Если диспетчер хочет изменить уставку регулятора, то flWait==1 и aWriting=true и aWriteValue=edUst->Text, форма изменения уставки становится невидимой и flWait=0.
Подразумевается, что параметр Writing отвечает за установку признака динамики. Подскажите пожалуйста, как правильно выйти из данной ситуации.
Ниже приведена функция и небольшой фрагмент кода программы, которые отвечают за изменение уставки регулятора.
void __fastcall TfCtp4::UstReg(const AnsiString aFullRelativeOpcName,
TdepOpcListParUserFunc *aListParUserFunc, int aIndexParChange,
bool aAllConnected, bool aAllChanged, Variant &aWriteValue,
bool &aQualitySpecified, WORD &aWriteQuality, bool &aWriting)
{
if(flWait==1) {
aWriting=true;
aWriteValue=edUst->Text;
pnU->Visible=false;
flWait=0;
}
Если диспетчер хочет изменить уставку регулятора, то flWait==1 и aWriting=true и aWriteValue=edUst->Text, форма изменения уставки становится невидимой и flWait=0.
Подразумевается, что параметр Writing отвечает за установку признака динамики. Подскажите пожалуйста, как правильно выйти из данной ситуации.