Страница 1 из 16 12311 ... ПоследняяПоследняя
Показано с 1 по 10 из 153

Тема: Ну и что хоть планируется-то?

  1. #1
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,046

    По умолчанию Ну и что хоть планируется-то?

    Чуть конкретней. Без буклетно-рекламных "быстрее-выше-сильней"
    ?

  2. #2
    Пользователь
    Регистрация
    02.04.2025
    Адрес
    Рабочее место где я делаю ALTA IDE
    Сообщений
    8

    По умолчанию

    Привет! Если чуть конкретней, без букетно-рекламных - Сейчас ведется разработка новой среды программирования ПЛК под названием ALTA IDE.

    Среда полностью написанная с нуля, не базируется на Codesys, Беремис и пр. В начале следующего года планируем выпустить бета версию, совместно с выпуском обновленного ПЛК110.
    В среде будут поддержаны языки МЭК. В начале будет ST, далее будем добавлять по "популярности" - FBD, CFC, LD и т.д.
    То же самое с протоколами комм. Сначала Modbus, далее OPC UA, SNMP, MQTT и пр.
    Будем понемногу добавлять в поддержку устройства ОВЕН, это наши ПЛК и старшие модели ПР, хотя так же планируем сотрудничать и с другими производителями ПЛК. Поддержка будет внедрятся по мере развития среды и добавления нового функционала в нее.

    Среда заточена под удобство и простоту (извиняюсь за маркетинговый сленг), но мы действительно хотим сделать среду более понятной для пользователей которые еще не такие матерые в АСУ ТП и приблизить удобство пром. программирования к уровню современных редакторов верхнеуровневых ЯП.

    А так, надеюсь через небольшое время уже сможем провести презентацию и рассказать чуть более подробно и показать над чем мы работаем уже довольно давно!

  3. #3
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,982

    По умолчанию

    на чем реализация среды? язык?
    Кроссплатформенность среды ?

  4. #4
    Пользователь
    Регистрация
    02.04.2025
    Адрес
    Рабочее место где я делаю ALTA IDE
    Сообщений
    8

    По умолчанию

    C# с Avalonia.
    Кроссплатформенность среды - Win, Linux, как популярные самые дистрибутивы так и под ру ОСи тестируем

  5. #5
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,982

    По умолчанию

    Интересно... надо будет тестировать... смотрел в строну Avalonia, но какой вообще ужас делать окошки даже в WindowsForm не ожидал, что потребуется столько логики писать. А там вообще мрак полный как по мне....
    Видел один продукт на Avalonia, не впечатлило... Опять же проблема в том, что пытаетесь все впихнуть в одно общее окно для работы.

    Поставьте себе CAD программы для примера как это должно выглядеть, ну хотя бы NanoCAD наш в триал варианте на месяц. Поймите наконец что требуется при работе с интерфейсом. (CAD программы максимально заточены на работу, когда требуется большой холст, слева часть окна Свойства. Все остальное поверх, с возможностью перетягивания на второй монитор, максимум пространства для рабочего пространства).
    Не делайте пожалуйста убогое подобие MasterScada, где впихнули все и вся в одно окно....
    Ну хотя вам сама VisualStudio прекрасно показывает, как это должно выглядеть тоже.

    з.ы. и пожалста, не применяйте ср... json, он требует полного повторения структуры для сериализации, стоит стереть параметр из файла и привет... xml тут гораздо гибче, можно атрибуты в игнор ставить и не писать по чем зря...
    Последний раз редактировалось melky; 12.08.2025 в 13:14.

  6. #6
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,569

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Интересно... надо будет тестировать... смотрел в строну Avalonia, но какой вообще ужас делать окошки даже в WindowsForm не ожидал, что потребуется столько логики писать. А там вообще мрак полный как по мне....
    Видел один продукт на Avalonia, не впечатлило... Опять же проблема в том, что пытаетесь все впихнуть в одно общее окно для работы.

    Поставьте себе CAD программы для примера как это должно выглядеть, ну хотя бы NanoCAD наш в триал варианте на месяц. Поймите наконец что требуется при работе с интерфейсом. (CAD программы максимально заточены на работу, когда требуется большой холст, слева часть окна Свойства. Все остальное поверх, с возможностью перетягивания на второй монитор, максимум пространства для рабочего пространства).
    Не делайте пожалуйста убогое подобие MasterScada, где впихнули все и вся в одно окно....
    Ну хотя вам сама VisualStudio прекрасно показывает, как это должно выглядеть тоже.

    з.ы. и пожалста, не применяйте ср... json, он требует полного повторения структуры для сериализации, стоит стереть параметр из файла и привет... xml тут гораздо гибче, можно атрибуты в игнор ставить и не писать по чем зря...
    когда Вас уже забанят, ежедневный бред несете, свое личное мнение выдаете за общепринятое, что вот за пурга про json и xml, ну для начала изучите документацию, посмотрите примеры, если Вы слабы в программировании то не надо здесь давать советы как программы писать
    Код:
    using System;
    using Newtonsoft.Json;
    using Newtonsoft.Json.Serialization;
    using System.Reflection;
    
    public class User
    {
        public string Name { get; set; }
        public int Age { get; set; }
        public string Email { get; set; }
    }
    
    public class CustomContractResolver : DefaultContractResolver
    {
        protected override JsonProperty CreateProperty(MemberInfo member, MemberSerialization memberSerialization)
        {
            var property = base.CreateProperty(member, memberSerialization);
            
            // Установка значений по умолчанию для всех свойств
            if (property.PropertyType == typeof(int))
                property.DefaultValue = 10;
            else if (property.PropertyType == typeof(string))
                property.DefaultValue = "не указано";
                
            // Важно: включаем обработку значений по умолчанию
            property.DefaultValueHandling = DefaultValueHandling.Populate;
            
            return property;
        }
    }
    
    class Program
    {
        static void Main()
        {
            var options = new JsonSerializerSettings
            {
                ContractResolver = new CustomContractResolver(),
                ObjectCreationHandling = ObjectCreationHandling.Replace,
                NullValueHandling = NullValueHandling.Include
            };
    
            string json = @"{ ""Name"": ""Иван"" }";
            User user = JsonConvert.DeserializeObject<User>(json, options);
            Console.WriteLine($"Имя: {user.Name}");      // выведет: Иван
            Console.WriteLine($"Возраст: {user.Age}");   // выведет: 10
            Console.WriteLine($"Email: {user.Email}");    // выведет: не указано
        }
    }
    или
    Код:
    using System;
    using System.Text.Json;
    
    public class User
    {
        public string? Name { get; set; }
        public int Age { get; set; } //= 25;
        public string Email { get; set; } //= "Не указано";
    }
    class Program
    {
        static void Main()
        {
            string json = @"{ ""Name"": ""Иван"" }";
            var options = new JsonSerializerOptions
            {
                IncludeFields = true,
        		PropertyNameCaseInsensitive = true
            };
    
            User user = JsonSerializer.Deserialize<User>(json, options);
            Console.WriteLine($"Имя: {user.Name}");      // выведет: Иван
            Console.WriteLine($"Возраст: {user.Age}"); // выведет: 0
            Console.WriteLine($"Email: {user.Email}");    // выведет: (null)
        }
    }
    рашают эту задачу так же как парсер xml
    Последний раз редактировалось capzap; 12.08.2025 в 16:04.
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  7. #7
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,046

    По умолчанию

    Цитата Сообщение от servod Посмотреть сообщение
    ...
    В начале будет ST,
    Расширенный?
    при объявлении переменой - вызов функций?
    union, property, указатели, adrinst()? эквивалент syslibmem?
    ФБ как структуры в КДС2 или как "более объекты" КДС3?
    Тип - функция? //для человеческого колбэка?

    Код:
    Сначала Modbus, далее OPC UA, SNMP, MQTT и пр
    Самостоятельный доступ к портам? эквиваленты syslibcom, syslibsocket? синхрон/асинхрон?

    эквивалент syslibfile? синхрон/асинхрон? флеш (ресурс) - тот же?

    Прогнозируемое время цикла при проекте из ";"?
    Доступ к прерываниям?
    Увидеть из проекта первый и особенно(!!) последний выдох проекта перед отключением?
    Программное чтение/запись для ip/маска/гейт и т.п...?

    C#
    Возможность самостоятельных либ на c# ...?
    Возможность прикрепить к чужому проекту свою уже компилированную либу?
    Возможность загрузки компилированного проекта без среды (а-ля "plc_io.exe")?
    Последний раз редактировалось Валенок; 12.08.2025 в 15:32.

  8. #8
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,982

    По умолчанию

    capzap сохраните файл сериализацией. А потом делаем пасы руками: заходите в файл, удаляете нафик любую переменную (например у вас переменная с пустой строкой занимает место в файле), потом попробуйте десериализовать обратно.

    Если у вас получится такое с json, покажите как и я возьму свои слова обратно.

    Чтобы было понятнее, вот примитивный пример

    Код:
    <DevTemplate Bus="M4" Address="0" Name="SPT941-20" Descriptor="" readLastErr="false" RemindEvery="true" TimeCode="Time" DateCode="Date">
    Код:
    <DevTemplate Bus="M4" Address="0" Name="SPT941-20" RemindEvery="true" TimeCode="Time" DateCode="Date">
    Во втором примере отсутствует запись Descriptor и readLastErr - xml сериализатор даже не поперхнется от их отсутствия и выдаст пустую строку и false для данных переменных.

    Так что пожалуйста - покажите такой же фокус с json. Мне очень надо и для него то же самое...

    На счет json я использовал System.Text.Json а не Newtonsoft.Json (его пробовал ранее, те же, только в профиль)
    з.ы. я почему собственно за подобный вариант? - он позволяет организовать структуру так, что при добавлении новых полей продолжать использовать ПО старой версии, если изменения не касались этой старой версии. Некоторая обратная совместимость сохраняется, пока полностью не перелопатишь классы.
    Последний раз редактировалось melky; 12.08.2025 в 15:21.

  9. #9
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,569

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Если у вас получится такое с json, покажите как и я возьму свои слова обратно..
    Screenshot 2025-08-12 153040.png на сколько это возможно, у меня работает
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  10. #10
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,982

    По умолчанию

    capzap покажите результирующий файл (txt или во что вы сохраняете?)

    Еще раз, вы тестируете код прямо так. Вы в файле удалите переменную и потом десериализуйте. Это первое. А второе, при сериализации в файл если строка null сделайте так, чтобы она просто не записалась в файл. Я не знаю, как еще объяснить этот фокус. Для XML есть такая штука как

    [XmlIgnore]
    public bool readLastErrSpecified { get { return readLastErr == true; } }

    То есть если у нас переменная false - то в файл даже записи не произойдет. Только если она true. И при обратном чтении из файла никто никуда не выпадет в осадок (Исключение)
    Я не нашел подобной реализации для json. И если вы посмотрите, сколько записей в файле ОЛ по типу uuid="00000000000000000000000000000" (нули тут от балды) а еще если их все удалите из файла, то поймете, на сколько можно было сократить этот самый файл...
    Последний раз редактировалось melky; 12.08.2025 в 15:43.

Страница 1 из 16 12311 ... ПоследняяПоследняя

Похожие темы

  1. Ответов: 13
    Последнее сообщение: 28.08.2025, 21:00
  2. Ответов: 2
    Последнее сообщение: 07.02.2022, 14:18
  3. Планируется ли выпуск обновленного СПК105?
    от Anton441 в разделе СПК210, СПК1xx [М01]
    Ответов: 7
    Последнее сообщение: 04.02.2019, 09:35

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •