Страница 855 из 1044 ПерваяПервая ... 355755805845853854855856857865905955 ... ПоследняяПоследняя
Показано с 8,541 по 8,550 из 10436

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

  1. #8541
    Пользователь
    Регистрация
    31.01.2019
    Адрес
    РФ/РБ
    Сообщений
    917

    По умолчанию

    Цитата Сообщение от vsa Посмотреть сообщение
    Можно ли на языке ST обращаться к регистрам, предназначенных для внешнего компьютера, по индексам (как в массиве)?
    У меня в проекте 22 регистра, распределенные в Modbus(slave) осуществляют сохранность в RETAIN памяти 22 значения от внешнего ПК.
    Можно при конфигурации обмена расположить регистры мастера последовательно, и при опросе их, организовать цикл.

  2. #8542

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Всё, что в слейве и так ретайн по умолчанию. Не надо их второй раз в ретайн пихать)

    Для внешнего компа переменные в слейве будут Тег0 адрес [0], Тег1 адрес [1], Тег2 адрес [2] и т. д.
    В программе вы обращаетесь к переменным слейва по имени.
    Зачем вы их ещё в массив хотите запихать?
    А как мне объявить 22 слова VAR RETAIN? По отдельности - выходит много. В программе никак я их не использую. Только для сохранения регистров в память.

  3. #8543

    По умолчанию

    Цитата Сообщение от vsa Посмотреть сообщение
    А как мне объявить 22 слова VAR RETAIN? По отдельности - выходит много. В программе никак я их не использую. Только для сохранения регистров в память.
    Ваши переменные или по отдельности вписать в VAR RETAIN, либо добавить в слейве в конце.
    Последний раз редактировалось kondor3000; 28.01.2022 в 20:42.

  4. #8544

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Всё, что в слейве и так ретайн по умолчанию. Не надо их второй раз в ретайн пихать)

    Для внешнего компа переменные в слейве будут Тег0 адрес [0], Тег1 адрес [1], Тег2 адрес [2] и т. д.
    В программе вы обращаетесь к переменным слейва по имени.
    Зачем вы их ещё в массив хотите запихать?
    Забыл спросить, а что значит в моем случае тег? Например, Loading_Position_1[2] не прокатывает. Компилятор ругается.

  5. #8545

    По умолчанию

    Цитата Сообщение от vsa Посмотреть сообщение
    Забыл спросить, а что значит в моем случае тег? Например, Loading_Position_1[2] не прокатывает. Компилятор ругается.
    Как вы читаете? Я написал Для внешнего компа , на котором стоит программа чтения со слейва

  6. #8546

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Ваши переменные или по отдельности вписать в VAR RETAIN, либо добавить в слейве в конце.
    Ну вот и ответ: отдельно объявлять в VAR RETAIN это 22 записи. А если массив, то одна запись. В слейв записывать в конец это , значит, что Вы не поняли моей задачи. В слейве уже объявлены 22 регистра. А слова в RETAIN , это слова для долгострочного хранения значений регистров. Или можно регистры в слайве, как-то объявить RETAIN/

  7. #8547

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Как вы читаете? Я написал Для внешнего компа , на котором стоит программа чтения со слейва
    Извините, не внимательно прочитал. Я думал про сою проблему - индексное обращение к регистрам в программе ПЛК

  8. #8548

    По умолчанию

    Цитата Сообщение от vsa Посмотреть сообщение
    Ну вот и ответ: отдельно объявлять в VAR RETAIN это 22 записи. А если массив, то одна запись. В слейв записывать в конец это , значит, что Вы не поняли моей задачи. В слейве уже объявлены 22 регистра. А слова в RETAIN , это слова для долгострочного хранения значений регистров. Или можно регистры в слайве, как-то объявить RETAIN/
    Как одна запись? Вам надо сначала присвоить все переменные в массив, это 44 раза записать имена переменных, и ещё одна запись в RETAIN. Где вы одну нашли ?
    А в RETAIN вам надо вписать 22 переменных. Что быстрее?
    Последний раз редактировалось kondor3000; 28.01.2022 в 21:02.

  9. #8549

    По умолчанию

    Т.е. Вы хотите сказать, что после обесточивания ПЛК и нового включения в регистрах Slave будут оставаться значения , которые были до выключения ПЛК? Если, да, то все меняется на 180 градусов! Спасибо! Меняю эту часть программы. Все упрощается радикально.
    Последний раз редактировалось vsa; 28.01.2022 в 21:04.

  10. #8550

    По умолчанию

    Цитата Сообщение от vsa Посмотреть сообщение
    Т.е. Вы хотите сказать, что после обесточивания ПЛК и нового включения в регистрах Slave будут оставаться значения , которые были до выключения ПЛК? Если, да, то все меняется на 180 градусов! Спасибо! Меняю эту часть программы. Все упрощается радикально.
    Значения будут оставаться, уже 4 раза написал. Главное, чтобы при включении они не перезаписались. Это вы уже смотрите по программе.

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

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

Ваши права

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