Страница 33 из 1050 ПерваяПервая ... 23313233343543831335331033 ... ПоследняяПоследняя
Показано с 321 по 330 из 10495

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

  1. #321

    По умолчанию

    Объясните плиз, как у Вас на второй картинке, в разделе элементов отображается состояние битов? По мануалу надо использовать директиву pragma, но как, не пойму...

  2. #322

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    запишите как на наших картинках в структуре, этого достаточно
    Да вроде так и делал, а что то не получалось.

    Цитата Сообщение от Валенок Посмотреть сообщение
    Держи.
    Нужны еще глоб.конст :
    мотор1:байт:=0
    ..
    + галка замены констант
    В мануале все ясно написано.
    Мануал то читал, но ясность при большом объеме входной информации в мозг, параметр относительный.
    1) Галочку замены констант сделал сразу.
    2) В глобальные константы пробовал добавлять (по мануалу), но т.к.. результата не нашел, то убрал сначала.
    3) Сейчас все в кучу свел и получилось. Я просто структуру объявил в глобальных. Поэтому и не мог понять скрины, где в PLC_PRG отображаются биты... Устал уже видать за день
    4) Без объявления констант действительно выдает "Некорректное выражение".

    Еще вопросы.
    1) Правильно ли я понимаю, что bitaccess мне дает только (по мануалу) возможность мониторить побитно переменную?

    Сейчас ПЛК рядом нет, попробовать заново не могу(ведь как я понял SysLibMem.lib выполняется в ПЛК), но все же.
    2) Почему у меня при копировании SysMemCpy(ADR(MDVV),ADR(MV110_32DN),4);
    все копировалось в первую переменную?

    (*Создал структуру MV110DN*)
    TYPE MV110DN
    STRUCT
    Motor0: BOOL ;
    Motor1: BOOL ;
    -------//------------
    Motor31: BOOL ;
    END_STRUCT
    END_TYPE

    (*Объявил*)
    VAR_GLOBAL
    MDVV:MV110DN;
    END_VAR
    (*Копирую из MV110_32DN в MDVV - 4 байта (DWORD)*)
    SysMemCpy(ADR(MDVV),ADR(MV110_32DN),4);

    (* Запускаю исполнение *)
    (* Изменяю данные в MV110_32DN, они копируются почему то в mdvv.Motor0 *)
    (* и при значении выше 7 (т.к. bool занимает byte без прямой адресации, естественно выдает ошибку INVALID:16#*)
    mdvv.Motor0;
    mdvv.Motor1;
    mdvv.Motor2;
    mdvv.Motor3;
    3) Как пользоваться директивой "pragma"?
    4) Ну и напоследок: А Вы, как работаете с именами переменных?
    Думаю, что вряд-ли с помощью Pack-Unpack...

    Прошу прощения за настойчивость.
    Спасибо всем за помощь.

  3. #323

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Смешались в кучу кони, люди..
    Ну есть чуть чуть...
    1.А где тип MDVV ? (100 пудов - это все и объяснит)
    Наверное речь идет о самой железяке?
    MV110_32DN - 32bit input module. Объявлена в конфигурации.
    А если MDVV структуре, то я ее объявил так:
    MDVV:MV110DN;
    Задумывался о типе структуры, но посчитал, что ее тип, это сумма переменных которые она включает в себя...
    2.для syslibmem в эмуляции не сложно сделать подставку. Главное понимать - что оно делает
    Пока еще не понимаю, к сожалению. Но мы идем вперед
    3.И на кой вооще здесь syslibmem ?
    Не знаю. Суть вопроса, как рациональней передать данные полученные (отправляемые) с модулей ввода-вывода (и не только) в переменные с названиями имеющими более доступный логический смысл.
    Но данная тема ускорила мое понимание смысла syslibmem и структур в целом. За что не устаю говорить спасибо!

  4. #324

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    ёх. Не заметил. Но каково !
    Опель:ТФольксваген
    Сорри, названия были от балды..
    Ну и так попорядку :
    Что есть тип МДВВ у Вас - тоже что и array[0..31] of bool (byte)
    А тип MV110_32DN ? - dwоrd, ну или array[0..3] of byte;
    В 32 стакана положили 4 ведра.
    Примерно рядом мысли и кружили, но как же быть?
    Ведь входное значение DWORD, а в структуре вроде как 32 bool.
    Но на практике выходит, что 32 byte. А прямые адреса в структурах использовать нельзя.
    Совет-на время забудте про syslibmem.
    Ок. Но со структурами то надо разобраться?
    ЗЫ
    Или я что-то пропустил, но у МДВВ 12 входов. (маска - word)
    МДВВ-тоже образное название - Модуль В/В (отголосок прошлых проектов). А железка МВ110-32ДН - 32 входа, как я понимаю DWORD.

  5. #325

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Ну и получили пачку. Зачем теребить-то.
    6 банок в упаковке проще тащить чем в россыпью.
    Наделали процессов с входными красивоименоваными булями, и на верхнем уровне передали нужные биты нужным булям - сразу видно кто к чему привязан. И комментарии не нужны, и понятно кто на чем висит.
    МДВВ - 12Di/8Do
    На этом уровне наглядно видно что 2 насоса на МДВВ и 1 на своих входах/выходах
    Понятно. Спасибо. Так и делаю в общем. Просто интересовало как дела с этим обстоят у других. Вопрос закрыт.

  6. #326

    По умолчанию Подключение через один модем OPC сервером и CodeSys

    Новый вопрос
    Возможно ли организовать связь ПЛК с OPC сервером и CodeSys через один GSM/GPRS модем-порт? Если можно, то подсказку в студию пожалуйста. Собственно экспериментально пробовал через CSD - не получилось. Если в конфигурации присутствует модем и тот же порт указан в CoDeSys.cfg, то КДС выдает сообщение, что модуль не будет инициализирован. Но уверенности нет, т.к. соединение через CSD CodeSys у меня и так проходило через раз. Поиск ответов не дал..

  7. #327

    По умолчанию

    По связи через модем есть отдельные слова в РП и РЭ на ПЛК (На ПЛК110 точно есть).
    Надо понимать, что Gateway очень тяжелый, и полезной информации несет в 5-10 раз меньше, чем сопутствующей.
    СОответственно время...

    Если OPC Gateway, то не стоит - CoDeSys не рекомендует обращение несколькими устройствами к одному контроллеру по Gateway одновременно.

  8. #328

    По умолчанию

    Цитата Сообщение от Николаев Андрей Посмотреть сообщение
    По связи через модем есть отдельные слова в РП и РЭ на ПЛК (На ПЛК110 точно есть).
    Пролистал РЭ ПЛК110. Упоминания о использовании одного порта для подключения средой CodeSys и для связи с внешним миром - OPC сервером там нет (как и в других РП и РЭ по ПЛК и ПМ01).
    Если OPC Gateway, то не стоит - CoDeSys не рекомендует обращение несколькими устройствами к одному контроллеру по Gateway одновременно.
    Есть OPC Lectus и ПЛК100.. Имелось ввиду не одновременное обращение несколькими устройствами, а в разное время: периодический опрос OPC сервером, а при необходимости корректировки программы соединиться средой CodeSys.
    Подсознательно я понимаю, что указав порт в codesys.cfg, ПЛК наверняка зарезервирует его для связи по протоколу Gateway и поэтому проигнорирует модуль Modem в конфигурации, настроенный на этот же порт... Но может есть варианты?

  9. #329

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    судя по пункту 7.2.8 либо по протоколу КДС либо другие протоколы, в том числе и с помощью ОРС
    Прошу прощения, пункт 7.2.8 в каком документе?

  10. #330

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    РЭ_ПЛК110.pdf
    Чего то не пойму.
    В http://www.owen.ru/uploads/rie_plk110.pdf
    7.2 Технический осмотр контроллера проводится обслуживающим персоналом не реже........

    Далее....

    7.3 Проверку функционирования аккумулятора необходимо производить

Страница 33 из 1050 ПерваяПервая ... 23313233343543831335331033 ... ПоследняяПоследняя

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

Ваши права

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