Страница 1017 из 1044 ПерваяПервая ... 175179179671007101510161017101810191027 ... ПоследняяПоследняя
Показано с 10,161 по 10,170 из 10436

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

  1. #10161

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Не раскрыта тема D1 = D3 = TRUE
    В нашем случае D1 никогда не равно D3. У нас транспортная тележка перемещается по рельсам. И на технологических позициях расположены бесконтактные датчики. Каждый датчик заведен на свой дискретный вход контроллера. Мне и приходится опрашивать каждый новый цикл ПЛК входы и определять какой датчик активный. Если активный, то данная технологическая позиция находится на пути следования тележки. Если ни один из входов позиционных датчиков не активны, то тележка находится между позициями. Я описал рабочую ситуацию в моей рабочей программе. Просто я решил немного упростить этот фрагмент программы. Поэтому я захотел уйти от вереницы IF на что-то попроще.

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

    По умолчанию

    Цитата Сообщение от vsa Посмотреть сообщение
    В нашем случае D1 никогда не равно D3..
    1.Только сейчас стала раскрыватся тема про "ваш случай"
    2.Надеюсь вы никогда не будете стоять перед тележкой когда капнет капля кондесата или таракан решит подергать жилки Но у эльфов такого не бывает))

  3. #10163

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    1.Только сейчас стала раскрыватся тема про "ваш случай"
    2.Надеюсь вы никогда не будете стоять перед тележкой когда капнет капля кондесата или таракан решит подергать жилки Но у эльфов такого не бывает))
    Что-то я не совсем понял по поводу пункта 2?
    Если есть желание, то подскажите красивый способ, как выполнить нумерацию активного дискретного входа, как значение переменной типа WORD. Например, имеем 13 дискретных входов (нумерация с самого начала ПЛК) и имеется переменная, например, Poz. Как можно компактно (без 13 операторов IF) формировать значение переменной Poz в зависимости, какой вход активный? Например, если активный вход 5, то переменная Poz:=5. Если нет активных входов, то Poz := 0. По условию задачи несколько входов одновременно не могут быть активными. Буду признателен, если Вы поможете советом.

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

    По умолчанию

    Что-то я не совсем понял по поводу пункта 2?
    Вариант "не должно" не канает если не нужны неожиданности.

    Как можно компактно
    никак

    (без 13 операторов IF)
    Делаете маску см. #10154 kondor3000
    Ищете первый значимый бит - номер
    Считаете кол-во битов - отработка тараканов

    Муть с байтами из конфигурации ничего не даст в плане выигрыша. Редкий случай оптимальности копи-пасте 4 раза + правка 26 номеров. Наглядно и модифицируемо.
    Последний раз редактировалось Валенок; 28.11.2023 в 20:47.

  5. #10165

    По умолчанию

    Спасибо. Вопрос закрыт.

  6. #10166

    По умолчанию

    Подскажите пожалуйста, как на ПЛК110 поменять адрес и скорость по RS-485. Ну никогда с ними не работал. Контроллер работает совместно с панелью оператора.(Управление вент установкой).
    В меню панели оператора смены адреса и скорости нет. Библиотека с адресами есть. Захожу по RS-485 через MasterOPC Universal Modbus Server. Для смены адреса указан регистр 300. По умолчанию стоит 1. Для смены скорости указан регистр 301 (0-4800, 1-9600, 2-19200 ну и т.д). Меняю значения. Выключаю питание контроллера и заново включаю.
    Вижу, что в MasterOPC Universal Modbus Server значение поменялось. Но на самом деле сервак видет ПЛК-110. Хотя в настройках самого сервера я ни адрес ни скорость не менял.
    Получается в сервере выставлен адрес 1 и скорость 9600. А в котроллере стоит адрес 2 и скорость 19200. (Это я вижу в регистре 300 и 301).


    Спасибо...

  7. #10167

    По умолчанию

    Доброго дня всем! Подскажите пожалуйста по такому вопросу:
    Как правильно связать типы если:
    - в программе переменная X : DINT;
    - в UMD переменная например Y : WORD (или какую нужно сделать чтобы правильно было?)
    - в панели ИП320 это Z : DEC 1 регистр без нулей после запятой.

    в коде нужно типа таких вычислений:
    Код:
     Z := X;
     Z := Y;

  8. #10168

    По умолчанию

    Цитата Сообщение от mkv Посмотреть сообщение
    Подскажите пожалуйста, как на ПЛК110 поменять адрес и скорость по RS-485. Ну никогда с ними не работал. Контроллер работает совместно с панелью оператора.(Управление вент установкой).
    В меню панели оператора смены адреса и скорости нет. Библиотека с адресами есть. Захожу по RS-485 через MasterOPC Universal Modbus Server. Для смены адреса указан регистр 300. По умолчанию стоит 1. Для смены скорости указан регистр 301 (0-4800, 1-9600, 2-19200 ну и т.д). Меняю значения. Выключаю питание контроллера и заново включаю.
    Вижу, что в MasterOPC Universal Modbus Server значение поменялось. Но на самом деле сервак видет ПЛК-110. Хотя в настройках самого сервера я ни адрес ни скорость не менял.
    Получается в сервере выставлен адрес 1 и скорость 9600. А в котроллере стоит адрес 2 и скорость 19200. (Это я вижу в регистре 300 и 301).
    В контроллере ПЛК110 нельзя поменять адрес и скорость через регистры. Это делается только изменением проекта, и обязательно нужен исходник.
    Иначе придётся переписывать проект заново.

  9. #10169

    По умолчанию

    Цитата Сообщение от senkos Посмотреть сообщение
    Доброго дня всем! Подскажите пожалуйста по такому вопросу:
    Как правильно связать типы если:
    - в программе переменная X : DINT;
    - в UMD переменная например Y : WORD (или какую нужно сделать чтобы правильно было?)
    - в панели ИП320 это Z : DEC 1 регистр без нулей после запятой.
    Всё зависит от того, до скольких надо считать. Типы переменных можно посмотреть в справке по F1 в самом Codesys.
    Если пределы -32768 ..... +32767, то можно всё конвертировать в один тип INT, если больше, то в один тип DINT
    Последний раз редактировалось kondor3000; 01.12.2023 в 15:30.

  10. #10170

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    В контроллере ПЛК110 нельзя поменять адрес и скорость через регистры. Это делается только изменением проекта, и обязательно нужен исходник.
    Иначе придётся переписывать проект заново.
    Это плохо. Чего я и боялся. А нам исходники прошивки контроллера и панели оператора они не дали. Просто хотел новые приточки в скада систему внести. Будем подрядчика долбить, чтобы адреса и скорости поменяли.


    Спасибо...

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

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

Ваши права

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