Стартовая страница › Форумы › Понять, как работает ПО › Использование формул › Использование формул
- В этой теме 83 ответа, 10 участников, последнее обновление 1 месяц назад сделано
a80808.
-
АвторСообщения
-
09.06.2023 в 13:15 #28842
MikhailМодераторЭта функция увеличивает счётчик при переключении с 0 на положительное значение. Если нужно наоборот, то напишите аналогичную функцию.
09.06.2023 в 19:16 #28844Sem13@nxt.ru
УчастникСпасибо за формулу FTrig и примеры, Работает как мне нужно.
Есть формула Counters, но как ей пользоваться? Нет примера применения, если я спрашиваю как использовать формулы, значит не умею без примера. Для меня проще разработать и спаять радиоэлектронную схему которая аппаратно будет считать импульсы, а в этой сфере я мягко говоря слабоват.09.06.2023 в 20:45 #28846Sem13@nxt.ru
УчастникЕсли вот так CountPulse (803), то пока 1 прибавляется +1, пока не переключится на 0.
12.06.2023 в 12:49 #28855
MikhailМодераторПо формуле CountPulse немного подробнее:
1. Создать новый канал Расчётного типа.
2. Указать для него входную формулуCountPulse(101), где 101 — номер канала, переключения которого нужно посчитать.
Если не заработает, присылайте информацию об ошибке.13.06.2023 в 19:01 #28866Sem13@nxt.ru
УчастникЯ так и пробовал.
Если вот так CountPulse(803), то пока 1 прибавляется +1, пока не переключится на 0.
То есть работает как Val(803) >0 ? Val(804)+1 : Val(804)-
Ответ изменён 2 года, 4 месяца назад пользователем
Sem13@nxt.ru.
15.06.2023 в 09:29 #28897
MikhailМодераторПроверю, напишу в эту тему.
15.06.2023 в 10:06 #28898
MikhailМодераторВ таблице Скрипты измените скрипт Counters:
// The previous channel data used by the counters. // Предыдущие данные каналов, используемые счётчиками. protected Dictionary
CounterPrevData = new Dictionary (); // Counts a pulse of the specified channel. // Подсчитывает импульс заданного канала. public double CountPulse(int cnlNum) { int cntrCnlNum = CnlNum; // channel of the formula double cntrVal = Val(); CnlData cnlData = Data(cnlNum); if (CounterPrevData.TryGetValue(cntrCnlNum, out CnlData prevCnlData) && cnlData.IsDefined && prevCnlData.IsDefined && cnlData.Val > 0 && prevCnlData.Val <= 0) { cntrVal++; } CounterPrevData[cntrCnlNum] = cnlData; return cntrVal; } 14.08.2023 в 21:33 #29409Sem13@nxt.ru
УчастникИзменил, сервер перестал запускаться. Удалил, запустился.
Подскажите, может кто уже делал.
Есть дата время Unix 1692037364, как отобразить в 14.08.2023, 21:29:02?15.08.2023 в 08:09 #29410
JurasskParkУчастникСоздайте формулу
public static DateTime UnixTimeStampToDateTime( double unixTimeStamp ) { // Unix timestamp is seconds past epoch DateTime dateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); dateTime = dateTime.AddSeconds( unixTimeStamp ).ToLocalTime(); return dateTime; }15.08.2023 в 11:52 #29420
MikhailМодераторЕсть дата время Unix 1692037364, как отобразить в 14.08.2023, 21:29:02?
Какая версия Rapid SCADA?
15.08.2023 в 12:32 #29423
a80808УчастникДля версии 5 в канале поставьте формулу EncodeDate(1692037364) или EncodeDate(Номер_канала_с_Unix_TimeStamp) или EncodeDate(DateTime.Now) для текущего времени.
Для в6 с правильным смещением текущее время
UtcNow()07.09.2023 в 23:03 #29688MZ
УчастникДобрый день! в 6ой версии перестала работать формула Ftrig.
В журнале сервера:
(936,57): error CS0122: ‘Scripts.Ftrig(double)’ is inaccessible due to its protection level07.09.2023 в 23:29 #29689
manjey73Участникможет нужно адаптировать формулу для 6-й версии.
08.09.2023 в 13:24 #29706
MikhailМодераторФункции в таблице Скрипты должны быть объявлены public.
08.02.2024 в 09:45 #30989
manjey73Участник// Конвертирование времени Unix в DateTime UTC public static double UnixTimeStampToDateTime( double unixTimeStamp ) { // Unix timestamp is seconds past epoch DateTime dateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); dateTime = dateTime.AddSeconds( unixTimeStamp ).ToUniversalTime(); return dateTime.ToOADate(); }Формула перевода времени UnixTime в формат DateTime UTC для 6-й версии.
Если использовать ToLocalTime() то время будет показывать плюсом от UTC в зависимости от часового пояса. -
Ответ изменён 2 года, 4 месяца назад пользователем
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.