Страница 946 из 1058 ПерваяПервая ... 4468468969369449459469479489569961046 ... ПоследняяПоследняя
Показано с 9,451 по 9,460 из 10575

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

  1. #9451
    Пользователь
    Регистрация
    01.11.2022
    Адрес
    <7924127@mail.ru> Минск
    Сообщений
    489

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Это плохая привычка и вам когда нибудь выйдет боком. Вот и пример уже есть выше.
    Держать под контролем написанный код,
    а не пользоваться шаблоном - что не так с примером?
    Переноса не получается без бубна,
    технология CoDeSys этого не позволяет.
    Всё надо руками переписывать (прописывать заново).
    А всякие "примочки" - потеря времени на их изучение...

    ПЛК110 и ПЛК160 v1_9 Программирование программируемых логических контроллеров.pdf

    стр. 61 При этом, если предполагается переход от одного типа контроллера
    к другому, то переменные следует задавать в режиме («ресурсе») «Глобальные пе-
    ременные (Global Variables)». Связано это с тем, что при задании стандартной кон-
    фигурации («Standard Configuaration») переменные, заданные в редакторе «Конфи-
    гурация ПЛК (PLC Configuration)», пропадают, и ранее созданное распределение и
    именование переменных теряется. При объявлении глобальных переменных их
    имена не будут потеряны, и при переходе к другому Target-файлу достаточно только
    скорректировать адреса.

    Полез в таргет PLC160, нашёл там знакомы буквочки:
    Channel1=Section=BitInput,Comment='Discrete input 1'
    Channel2=Section=BitInput,Comment='Discrete input 2'
    Channel3=Section=BitInput,Comment='Discrete input 3'
    Channel4=Section=BitInput,Comment='Discrete input 4'
    И добавил строку:
    Channel5=Section=BitInput,Comment='Discrete input 5'

    Отключил таргет в None, и опять подключил PLC160-M v2.

    Прописал имя Inp5 и использовал в программе:
    Out380:=Inp5; (понятно, что такого нет в железяке)
    Всё работает.

    Осталось разобраться, как прописать сетевые переменные.

    P.S. Да, я знаю что это вредно и опасно.
    Но только не для тех, кто раньше писал на асме.

    Кто разбирался с архитектурой ПЛК - с кем поговорить?
    Последний раз редактировалось ПавелП; 05.03.2023 в 01:06.

  2. #9452

    По умолчанию

    Цитата Сообщение от ПавелП Посмотреть сообщение
    ...

    Полез в таргет PLC160, нашёл там знакомы буквочки:
    Channel1=Section=BitInput,Comment='Discrete input 1'
    Channel2=Section=BitInput,Comment='Discrete input 2'
    Channel3=Section=BitInput,Comment='Discrete input 3'
    Channel4=Section=BitInput,Comment='Discrete input 4'
    И добавил строку:
    Channel5=Section=BitInput,Comment='Discrete input 5'

    Отключил таргет в None, и опять подключил PLC160-M v2.

    Прописал имя Inp5 и использовал в программе:
    Out380:=Inp5; (понятно, что такого нет в железяке)
    Всё работает.

    Осталось разобраться, как прописать сетевые переменные.

    ....?
    В отличие от физических входов/выходов, сетевых переменных - нет в новой конфигурации.
    Для того чтобы "прописать" сетевые переменные, надо просто добавить в конфигурацию Modbus(slave) и наполнить его сетевыми переменными в том порядке, в котором они расположены у вас в объявлении (если например, копировали это объявление из другого проекта).
    При этом конечно может не совпасть номер блока Modbus(slave) (идент. узла - например, это "8" в адресе AT %QD8.1....), т.к. эти идентификаторы присваиваются последовательно, и поэтому его значение зависит от того, каким по порядку расположен блок Modbus(slave) в конкретной конфигурации.

  3. #9453
    Пользователь
    Регистрация
    01.11.2022
    Адрес
    <7924127@mail.ru> Минск
    Сообщений
    489

    По умолчанию

    Цитата Сообщение от 1exan Посмотреть сообщение
    В отличие от физических входов/выходов, сетевых переменных - нет в новой конфигурации.
    Для того чтобы "прописать" сетевые переменные, надо просто добавить в конфигурацию Modbus(slave) и наполнить его сетевыми переменными в том порядке, в котором они расположены у вас в объявлении (если например, копировали это объявление из другого проекта).
    При этом конечно может не совпасть номер блока Modbus(slave) (идент. узла - например, это "8" в адресе AT %QD8.1....), т.к. эти идентификаторы присваиваются последовательно, и поэтому его значение зависит от того, каким по порядку расположен блок Modbus(slave) в конкретной конфигурации.
    Плохо дело.
    Эти посредники создают софт-прослойку между железом и пользователями.
    Громкие сочные рассказы о пользе - реклама денег заработать.

    Не так часто надо переползать на другие ПЛК - раз можно и прописать...

    Out1P1 AT %QW6.1.3.0 :WORD; (* первый ПР200 вых 1 *)
    Out2P1 AT %QW6.1.4.0 :WORD; (* первый ПР200 вых 2 *)

    Если не указано в конфигурации - сетевые не объявить как глобальные переменные.
    Не объявить их сетевой адрес. Только долбать таблицу...

  4. #9454

    По умолчанию

    P.S. Да, я знаю что это вредно и опасно.
    Но только не для тех, кто раньше писал на асме.
    Кто разбирался с архитектурой ПЛК - с кем поговорить?
    Плохо дело.
    Эти посредники создают софт-прослойку между железом и пользователями.
    вот почему, когда все работают, допустим с фотошопом, автокадом, другими программами - никому не приходит в голову пытаться переделать интерфейс и сами принципы работы программы.
    Все спокойно изучают юзер интерфейс и делают свою работу
    Но как только заходит речь про плк, все классические программисты упорно пытаются использовать все те же самые свои классические представления и использовать привычные "шаблоны" из других программ

  5. #9455

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Неправильно, вы поставили вход и через точку добавили Denisa.Y1.
    То есть обратились к переменной Y1, не вызвав программу.
    А надо добавить квадратик элемент, назвать его Denisa, это вызов вашей программы. Вложение 66015
    А уже с выхода Y1, соединить в верхним выводом Sel.
    Спасибо большое, все заработало! Мне нужно подключить "кнопку" для вкл/выкл Do1-3. Подскажите, пожалуйста, как связать переменную X1 со входом Di1 в CFC
    CFC_Di.jpg

  6. #9456

    По умолчанию

    Цитата Сообщение от Denisa Посмотреть сообщение
    Спасибо большое, все заработало! Мне нужно подключить "кнопку" для вкл/выкл Do1-3. Подскажите, пожалуйста, как связать переменную X1 со входом Di1 в CFC
    CFC_Di.jpg
    Можно просто поставить их на поле и соединить связью, но лучше всё-же через блок MOVE.

  7. #9457

    По умолчанию

    Цитата Сообщение от Denisa Посмотреть сообщение
    Спасибо большое, все заработало! Мне нужно подключить "кнопку" для вкл/выкл Do1-3. Подскажите, пожалуйста, как связать переменную X1 со входом Di1 в CFC
    На вход нельзя ничего присвоить, можно включить вход в эмуляции, нажав на квадратик у входа Di1 .

    А на выход можно присвоить, соединив вход (переменную) с выходом , посмотрите видео https://www.youtube.com/watch?v=w5cxmVMUwdU

    и лучше все 10-15 шт. видео посмотреть, каждое по 1-2 минуты всего https://www.youtube.com/watch?v=w5cx...cxmVMUwdU&t=13
    Последний раз редактировалось kondor3000; 05.03.2023 в 16:18.

  8. #9458
    Пользователь
    Регистрация
    01.11.2022
    Адрес
    <7924127@mail.ru> Минск
    Сообщений
    489

    По умолчанию

    Цитата Сообщение от In_Da_Cher_A Посмотреть сообщение
    вот почему, когда все работают, допустим с фотошопом, автокадом, другими программами - никому не приходит в голову пытаться переделать интерфейс и сами принципы работы программы.
    Все спокойно изучают юзер интерфейс и делают свою работу
    Но как только заходит речь про плк, все классические программисты упорно пытаются использовать все те же самые свои классические представления и использовать привычные "шаблоны" из других программ
    Не надо путать обработку и тупую логику.
    Алгоритмы обработки будут совершенствоваться бесконечно.

    А ПЛК иногда выполняют настолько простые операции,
    что эти "умные прослойки" что серпом по...

    Типа, "помогают пользователям".

    Вот "почему".

  9. #9459

    По умолчанию

    вы опять мыслите прежними шаблонами
    нет никакой прослойки
    есть программа со своим UI и есть конкретный ПЛК, со своими "принципами" работы с ним

  10. #9460
    Пользователь
    Регистрация
    01.11.2022
    Адрес
    <7924127@mail.ru> Минск
    Сообщений
    489

    По умолчанию

    Цитата Сообщение от In_Da_Cher_A Посмотреть сообщение
    вы опять мыслите прежними шаблонами
    нет никакой прослойки
    есть программа со своим UI и есть конкретный ПЛК, со своими "принципами" работы с ним
    >> вы опять мыслите прежними шаблонами

    Большая просьба - не переходите на личности.

    >> нет никакой прослойки
    >> есть программа


Страница 946 из 1058 ПерваяПервая ... 4468468969369449459469479489569961046 ... ПоследняяПоследняя

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

Ваши права

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