Страница 243 из 1044 ПерваяПервая ... 143193233241242243244245253293343743 ... ПоследняяПоследняя
Показано с 2,421 по 2,430 из 10436

Тема: ВОПРОС-ОТВЕТ (отвечаем на простые вопросы от новичков)

  1. #2421
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Если мастерить динамическую - нужно сразу все варианты предусматривать, что не всегда реально. И перегружать при любой доработке
    Таки да, Учитель! Стою на этих граблях уже 3+ года. И думаю, что просто так устроена земля, что ходить нужно по граблям
    То есть, вот, посмотрел мысленным взором на историю своих пепепрошивок панелей - бляха-муха! да почти все связано исключительно с тем, что изменяется список в динамическом тексте! В силу того, что проект развивается, в основном, в других модулях системы (ПЛК, АЦП), панель рассматривается как всего лишь мелочь. Но эту мелочь приходится перешивать, когда изменение программы в ПЛК коснется текстов...
    Надо с этой мыслью переспать. Я в шоке. Пошел спать

  2. #2422

    По умолчанию

    Цитата Сообщение от drvlas Посмотреть сообщение
    Да, достаточно.
    При открытии проекта отрезалась конфигурация ПЛК. Но карта памяти все отражает.
    Установка таргета на ПЛК110-30.Р.М вам поможет
    Есть возможность вывести на экран ИП320 произвольную информацию в виде строк до 16 символов (откуда она берется, я не вник)
    В моем случае на экран выводится портянка из динамического (с натяжкой) массива строк и далее кнопками вверх вниз организован скроллинг на 4х строках панели. По идее можно вывести текст любой длины пока в ПЛК память не закончится. Поскольку сам массив к теме отношения не имеет то я его выкинул кажется из примера.
    Вы делаете:
    1) строку обрезаете-дополняете всегда до 16 символов
    2) начиная с 54-го адреса регистра (для строки 1) укладываете в регистр по 2 символа, доставая их из строки через обычную функцию MID. Собственно, укладываете в область обмена, откуда оно полетит в ИП320.
    Именно так, в ModBus Slave Создаете много переменных типа "2 байта" и заполняете их. Есть ньюанс - байты в слове надо местами менять (кажется так).
    Остальное ИП320 умеет делать сама (благодаря Вам, я обнаружил у нее тип данных ASCII-текст)
    Я ничего не упустил?
    Да остальное панель сама делает
    И еще вопросик, чисто из любопытства: так как я не понял, откуда у Вас в программе берутся произвольные строки, то интересно, они действительно по жизни произвольные? Или можно было бы обойтись и динамическим текстом, а Вы просто из любви к искусству сделали универсально?
    Вы меня прямо озадачили вопросом. Просто проект делался с общим кодом для ПЛК73 и ПЛК110. Вот и пришлось сделать максимально схожим - соответственно с выводом строк. А строки у меня на самом деле фиксированные. Но если задуматься то можно например выводить тексты SMS или еще что-то такое.

  3. #2423
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Цитата Сообщение от RV9WFJ Посмотреть сообщение
    Вы меня прямо озадачили вопросом. ... А строки у меня на самом деле фиксированные. Но если задуматься то можно например выводить тексты SMS или еще что-то такое.
    Хех, мы друг друга озадачили
    Поясню развернуто, глядишь, кому и сгодится.
    У меня есть "долгоиграющий" проект, мелкосерийное производство весовых дозаторов. И одна из наиболее стабильных частей - панель ИП320. То ли хорошо продумано, то ли как-то повезло (не хотелось бы себе слишком льстить), но все в ней устаканилось очень быстро, а дальше изменялось ПО ПЛК, модули ввода-вывода (в вариантах проекта), да модуль АЦП (самодельный). И единственное, из-за чего и панель приходилось менять - разные названия параметров (специальный экран работы с параметрами, где они просматриваются и редактируются). То есть, добавилось параметров - править ИП320, изменилось название или порядок следования - править ИП320... Особенно доставало, когда на объекте решил перепрошить ПО ПЛК - это можно и дистанционно делать, научился, а панель с ее RS-232 не так просто, аборигены теряются.
    Разместив же у ПЛК таблицу текстов, связанных с номером параметра, я могу на экране работы с параметрами панели ИП320 оставить просто необходимые поля - и загружать туда от ПЛК что угодно. И прошивка ПЛК получается "условно вечная".
    Вот только все версии ДО этой революции станут полностью несовместимые с ПОСЛЕреволюционными. Ну, революция, она такая... Впрочем, не будем о политике, а то меня понесет, еще и забанят

  4. #2424

    По умолчанию

    Добрый день! Помогите пожалуйста разобраться, как перевести контроллер ТРМ133М02 в дежурный режим и как запустить из программы на C#
    С чтением данных разобрался. Пробовал записать значение в "STAT", не получается.

    [DllImportAttribute("owen_io.dll", EntryPoint = "OpenPort", CallingConvention = CallingConvention.StdCall)]
    public static extern int OpenPort(int n, int sped, int part, int bits, int stop, int vid);

    [DllImportAttribute("owen_io.dll", EntryPoint = "ClosePort", CallingConvention = CallingConvention.StdCall)]
    public static extern int ClosePort();

    [DllImportAttribute("owen_io.dll", EntryPoint = "ReadIEEE32", CallingConvention = CallingConvention.StdCall)]
    public static extern int ReadIEEE32(int adr, int adr_type, System.IntPtr command, ref float value, ref int time, int index);

    [DllImportAttribute("owen_io.dll", EntryPoint = "SetMaxRetriesGlobal", CallingConvention = CallingConvention.StdCall)]
    public static extern void SetMaxRetriesGlobal(int n);

    [DllImportAttribute("owen_io.dll", EntryPoint = "ReadFloat24", CallingConvention = CallingConvention.StdCall)]
    public static extern int ReadFloat24(int adr, int adr_type, System.IntPtr command, ref float value, int index);

    [DllImportAttribute("owen_io.dll", EntryPoint = "ReadSInt", CallingConvention = CallingConvention.StdCall)]
    public static extern int ReadSInt(int adr, int adr_type, IntPtr command, ref int param, int index);

    [DllImportAttribute("owen_io.dll", EntryPoint = "WriteWord", CallingConvention = CallingConvention.StdCall)]
    public static extern int WriteWord(int adr, int adr_type, IntPtr command, int value, int index);
    Импорт dll выполнен так.

    а вод так пытаюсь изменить режим
    int adr = Convert.ToInt32(textBox1.Text); // адрес прибора
    IntPtr command = Marshal.StringToCoTaskMemAnsi("STAT");
    int value = Convert.ToInt32(textBox3.Text); // величина, которую будем записывать

    try
    {
    int result = RS485.WriteWord(adr, 0, command, value, -1);
    MessageBox.Show("процесс " + result.ToString() + "\n" + "значение " + value.ToString());
    }
    catch
    {
    MessageBox.Show("ошибка чтения данных");
    }


    при попытке записи возвращает 104-ю ошибку.

    Может, есть еще какой нибудь способ запускать\останавливать вентмашину дистанционно?

  5. #2425
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,841

    По умолчанию

    Цитата Сообщение от drvlas Посмотреть сообщение
    Хех, мы друг друга озадачили
    Поясню развернуто, глядишь, кому и сгодится.
    У меня есть "долгоиграющий" проект, мелкосерийное производство весовых дозаторов. И одна из наиболее стабильных частей - панель ИП320. То ли хорошо продумано, то ли как-то повезло (не хотелось бы себе слишком льстить), но все в ней устаканилось очень быстро, а дальше изменялось ПО ПЛК, модули ввода-вывода (в вариантах проекта), да модуль АЦП (самодельный). И единственное, из-за чего и панель приходилось менять - разные названия параметров (специальный экран работы с параметрами, где они просматриваются и редактируются). То есть, добавилось параметров - править ИП320, изменилось название или порядок следования - править ИП320... Особенно доставало, когда на объекте решил перепрошить ПО ПЛК - это можно и дистанционно делать, научился, а панель с ее RS-232 не так просто, аборигены теряются.
    Разместив же у ПЛК таблицу текстов, связанных с номером параметра, я могу на экране работы с параметрами панели ИП320 оставить просто необходимые поля - и загружать туда от ПЛК что угодно. И прошивка ПЛК получается "условно вечная".
    Вот только все версии ДО этой революции станут полностью несовместимые с ПОСЛЕреволюционными. Ну, революция, она такая... Впрочем, не будем о политике, а то меня понесет, еще и забанят
    Ну так можно предложить услугу своим клиентам по апгрейду ПО панели и ПЛК, под каким-либо предлогом, можно даже за умеренную оплату. Будет даже дополнительный доход.
    А если не согласятся, то "отключим газ...", в смысле техподдержка с Вашей стороны прекратится.
    А идея реализации такого динамического изменения текстов в панели мне тоже нравится.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  6. #2426
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    можно даже за умеренную оплату
    Та ладно... Я люблю своих клиентов. Апгрейд делаю на шару, если присылают оборудование. В долгой перспективе это выгодно.

  7. #2427

    По умолчанию

    Помогите, расскажите! Многое уже научился делать в CoDeSyS, но вот одно то, что нигде не нашел. Имеется ОВЕН ПЛК 100 на работе, необходимо посмотреть в нем программу и изменить там несколько параметров. К ПЛК подключаюсь через Ethernet, всё хорошо ноут видит ПЛК. Но я не могу понять как скачать (посмотреть) на ПЛК старую программу. Могу только загрузить свой новый проект в ПЛК, а вот как это сделать из ПЛК? Объясните пожалуйста

  8. #2428
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,841

    По умолчанию

    Цитата Сообщение от lenusan Посмотреть сообщение
    Помогите, расскажите! Многое уже научился делать в CoDeSyS, но вот одно то, что нигде не нашел. Имеется ОВЕН ПЛК 100 на работе, необходимо посмотреть в нем программу и изменить там несколько параметров. К ПЛК подключаюсь через Ethernet, всё хорошо ноут видит ПЛК. Но я не могу понять как скачать (посмотреть) на ПЛК старую программу. Могу только загрузить свой новый проект в ПЛК, а вот как это сделать из ПЛК? Объясните пожалуйста
    Прежде чем открыть проект из ПЛК нужно его туда поместить.
    Вложение 11716
    После этого можно будет его открыть.
    Меню "Файл-Открыть" и на появившемся окошке нажать кнопку "ПЛК"
    Вложение 11717
    Только если проект будет изменен, то его текст опять "ручками" нужно будет загрузить в ПЛК.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  9. #2429

    По умолчанию

    Уважаемые специалисты, дайте совет. Есть два транспортера, с двух сторон, к центру. Как реализовать алгоритм поочередного сброса предметов. На языке LD или CFC

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

    По умолчанию

    ни как, нужны как минимум еще два датчика ... и избавиться от навязчивого требования поделиться кодом на каком то определенном языке
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

Страница 243 из 1044 ПерваяПервая ... 143193233241242243244245253293343743 ... ПоследняяПоследняя

Метки этой темы

Ваши права

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