Это в любом случае не задача ОРС сервера.
Как правило сохранение значений производится в приборе, иногда - самой скадой.
Это в любом случае не задача ОРС сервера.
Как правило сохранение значений производится в приборе, иногда - самой скадой.
Спасибо.
Понял, спасибо!
Коллеги, добрый вечер!
У нашего заказчика почему-то не всегда при запуске ОРС-сервера выполняется скрипт OnInit. Сервер лицензионный, на 500 точек. Компьютер, правда, старенький, WinXP SP3, но в остальном сервер работает. Что может мешать выполнению этого скрипта? На всякий случай - конфигурация в прикреплении.
Укажите путь к данному скрипту
Спасибо.
Server->Программные->OnInit
Есть код на си для подсчета контрольной суммы
word CountCS(byte *Buff, byte Cnt)
{
dword cs1, cs2, m;
byte k;
k = 0;
cs1 = 0;
cs2 = 0;
while (Cnt){
m = *Buff;
cs1 += m;
m ^= 0x5A;
if (k) m = (m » k)|(m « (8-k));
k = (k+1) & 0x07;
cs2 += m;
Buff++;
Cnt--;
}
return (cs2 « 8)|(cs1 & 0xFF);
}
В си особо не шарю. Помогите преобразовать этот код в Lua
function CRCsum(SFrame,Length)
CS1=1
CS2=0
DAT=0
k = 0
Frame = server.StringToTable(SFrame);
for i =1,Length,1 do
DAT = Frame[i];
CS1=bit.BitAnd(CS1,DAT);
DAT=bit.BitXor(DAT,0x5A);
if k~=0 then
DAT=bit.BitOr(bit.BitRshift(DAT,k),bit.BitLshift(D AT,8-k));
else
k=bit.BitAnd(k+1,0x07);
CS2=bit.BitAnd(CS2,DAT);
end
end;
CS1 = bit.BitAnd(CS1,0xFF);
return CS1;
end
вот примерно что у меня получилось
Коллеги, добрый день!
Конечно, я понимаю что не очень корректно так делать, но прошу еще раз обратить внимание на посты #785-#787 текущей ветки форума. Хотелось бы получить ответ. А если я не правильно понял пост #786, то прошу разъяснить что значит "Укажите путь к данному скрипту"
Добрый вечер. Куплен новый пк, в связи с этим переношу opc server на него, возник вопрос по работе функции sleep.
Other.sleep(2000); на новом пк с той же ос(win7) вместо 2с, выполняется 32с, откуда могла появится задержка в 30с?