Страница 983 из 1044 ПерваяПервая ... 4838839339739819829839849859931033 ... ПоследняяПоследняя
Показано с 9,821 по 9,830 из 10436

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

  1. #9821

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Сначала я тоже так думал. После подумал и решил что at% 1 (один) раз - норм.
    -код чище : Slave.чтото vs PSlave^.чтото
    -код быстрее : Slave.чтото - прямое обращение, PSlave^.чтото - предварительное обращение к PSlave
    Да, чёрт побери, ты прав! Это красивее и логичнее! Я попробую сделать первый проект так, как начал, а потом, если это будет повторяться - подумаю и перейду на прямые адреса.
    Я ещё не переболел универсальностью. Может, под самую старость доболею. Хз! =)
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

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

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    -код чище : Slave.чтото vs PSlave^.чтото
    -код быстрее : Slave.чтото - прямое обращение, PSlave^.чтото - предварительное обращение к PSlave
    вот уж совершенно не факт, если кто то работает дальше со всеми переменными структуры через указатель да еще и в одной портянке, то наверное дольше, а если указатель передать в функцию, которая и обрабатывает логический блок на основе данных, то в объявлении тип данных структура и нет ни каких галочек
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

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

    По умолчанию

    Цитата Сообщение от Cs-Cs Посмотреть сообщение
    .. и перейду на прямые адреса..
    прямой адрес (1 штука)
    Прямые адреса в общем случае - зло. Исключения редки. Это тот редкий случай.

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

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    а если указатель передать в функцию...
    Вот например :

    SysMemCmp(adr(Slave), ...)
    vs
    SysMemCmp(PSlave, ...)

    Редкий случай когда 1-й вариант длинее в написании. Исполнении самой функции - одинаково. Но :
    1. Когда-то вы выполнили хотя бы 1 раз инициализацию PSlave
    2. Постоянно проверяете какой-то флажок init
    3. И-и-и ... 1-й вариант все равно быстрее в вызове )) Аdr - это не совсем функция. Имя и есть адрес. Константный адрес. А к памяти по адресу "PSlave" еще нужно обратится что оттуда достать адрес для передачи))

    --
    И да. В кач-ве рыбки под темное:
    Под указателем Вы не поменяете данные ручками ))

  5. #9825

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Двумя скрепками соедините A1-A2, B1-B2
    Сделайте по одному RS пяток одинаковых слейвов с разными адресами, по другому RS мастера и опрашивайте слейвы, руками пробуйте - все вопросы снимутся.
    Пробую понять азы на простом примере без использования циклов. Соединил проводами RS1 и RS2, соответственно как на скринах сделал Modbas Master с пятью UMD в которых есть String всего с двумя регистрами.
    Так же Modbas Slave добавил переменные на каждое устройство. Адреса их 16,17,18,19,20.
    Проект прилагаю, таргет от ПЛК110-24-30PM(M02)
    Помогите пожалуйста понять и найти в чем я ошибаюсь.1-1.jpg
    1-2.jpg
    Вложения Вложения

  6. #9826

    По умолчанию

    Цитата Сообщение от senkos Посмотреть сообщение
    Пробую понять азы на простом примере без использования циклов. Соединил проводами RS1 и RS2, соответственно как на скринах сделал Modbas Master с пятью UMD в которых есть String всего с двумя регистрами.
    Так же Modbas Slave добавил переменные на каждое устройство. Адреса их 16,17,18,19,20.
    Проект прилагаю, таргет от ПЛК110-24-30PM(M02)
    Помогите пожалуйста понять и найти в чем я ошибаюсь.
    [
    Зачем вам 5 слейвов 485-2 ? Вы хоть читали, что тут обсуждалось?
    Бедный ПЛК сойдёт с ума от такого)))
    Последний раз редактировалось kondor3000; 18.08.2023 в 15:35.

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

    По умолчанию

    Да нормуль все. В рамках одного проекта видеть все концы - для тренинга самое то


    to senkos
    проект, если сами не разберетесь или кто посмотрит, гляну позже. Обычно - настройки
    Последний раз редактировалось Валенок; 19.08.2023 в 10:14.

  8. #9828

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Да нормуль все. В рамках одного проекта видеть все концы - для тренинга самое то
    Да не нормуль, он сам написал есть структура compressors AT%QD7.1.0 : ARRAY [1..8] OF COMPRESSOR;, которую надо передать на панель,
    структура из 12 регистров * 8 =96 регистров
    В слейв добавляем 48 шт 4 байт или 96 шт 2 байт, и всю структуру кладём по адресу первого регистра слейва. Адрес слейва для панели 1.

    Вот примерно так, у меня в ПЛК только другие адреса, с начальными значениями в структуре всё видно, если по 2 байт сделать. 1 компрессор.jpg
    Вот в работе по 2 байта, целочисленные видны правильно 1 Компрессор 2 байт.jpg
    По байтам включён 0 бит (1) и 8 бит (256) регистра WORD =257
    Последний раз редактировалось kondor3000; 18.08.2023 в 16:36.

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

    По умолчанию

    Да суть этого - потренироваться без панели изобразив панель в самом плк
    Получится с плк - получится с панелью без вариков))

    Из себя же прочитать как из 8АС, в себя же отправить обработанные данные, изобразив панель собой, и в себе же как в панели увидеть что отправили себе из себя. Просто же. Это если панель-слейв.
    А если она мастер так и читать из себя как 8ас, и получая в себя, обработать в сразу в слейве.
    Последний раз редактировалось Валенок; 18.08.2023 в 16:16.

  10. #9830

    По умолчанию

    Жесть какая, по моему я зря это затеял
    У меня есть ПЛК, есть модуль ввода, но к нему жду конвертор чтобы сконфигурировать, есть и панель, но не хочу пока ее использовать без четкого понимания основ.
    Думал просто соединив два RS и задав на слейвах значения, смогу получить их на Мастере, тем самым эмулировать модули ввода. Каждый слейв это условный модуль ввода как бы (тут я просто указал одну переменную Real)/

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

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

Ваши права

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