Уже так делал. Не работает.
На "лету" же не преобразуется? Маска для Send "byte" для всех символов.
Уже так делал. Не работает.
На "лету" же не преобразуется? Маска для Send "byte" для всех символов.
Заработало если просто отправить 21. Хотя точно помню что так делал. Где-то ошибка была у меня наверное.
Вопрос исчерпан.
Здравтвуйте! Поскажите пож-та.
Получаю время в timestamp!
server.Message(time.TimeStampToTime(time.TimeStamp Now()));
пишет число 1630483364305 (в миллесекундах как надо)
пишу
local TData = time.TimeStampToTime(time.TimeStampNow());
server.Message(TData);
получаю число 1630483364 (в секундах как не надо)
как получить TData в миллисекундах?? Спасибо!
Умножить на 1000 количество секунд.
Только зачем вам это?
Спасибо.
Запись в БД.
допустим высокоскоростной процесс записать:
1630483364305
1630483364615
1630483364720
за секунду до 20 выборок
если на 1000 умножу не получу N выборок на секунду!
Просто интересовал вопрос почему когда пишу server.Message(time.TimeStampToTime(time.TimeStamp Now())); в консоле выводит правильно в миллисек!
а когда присваиваю переменной time.TimeStampToTime(time.TimeStamp Now()) выводит в сек!
Решил пока так!
function unpackTime(TData)
local year = string.sub(TData, 0, 4);
local month = string.sub(TData, 6, 7);
local day = string.sub(TData, 9, 10);
local hour = string.sub(TData, 12, 13);
local min = string.sub(TData, 15, 16);
local sec = string.sub(TData, 18, 19);
local ms = string.format("%.3f", string.sub(TData, string.len(TData)-3, string.len(TData)));
return {year=year, month=month, day=day, hour=hour, min=min, sec=sec}, ms;
end
local Data, QData, TData = server.ReadTag("Node1.Device1.Tag1");
local tabTime, ms = unpackTime(TData)
local timeMs = (os.time(tabTime) + ms)*1000;
server.Message("метка = ",timeMs);
Добрый день. Вопрос, конечно, идиотский, но при подключении к MasterScada оборудования обнаружилось, что один из счетчиков СИ-8 не заменили на СИ-30. На SCADA универсальный МОДБАС ОРС на 500 тегов, протокола Овен, по которому работает СИ8, нет, ставить из-за одного счетчика еще один ОРС как то несерьезно. Кто нибудь выходил из такого положения ?
Счетчик заменят, но только после Нового года, работать нужно сейчас. Спрашиваю на всякий случай, так как временная альтернатива есть - поставить пока имеющийся в наличии модуль ввода со счетчиками, использовав один вход, но не будет индикации на месте.
Добрый день!
Можете временно использовать Owen OPC Server:
https://owen.ru/product/new_opc_server
Инженер группы технической поддержки компании "ОВЕН"
Да можно, конечно. Хотелось бы оставить один ОРС, но тогда нужно все теги снова связывать, а это много и долго. Но все таки придется вставлять сервер на один прибор. Все равно, спасибо за ответ.
Как выделить байт из 4х байтовой переменной, есть функция выделения байта у встроенного языка lua?