1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

EFB GET_4x() и PUT_4x() в M340 и M580 линейке

Unity Pro (Control Expert), Quantum, Premium, M340, M580, Hybrid DCS, Process Expert, Zelio, Twido, M17*, M2**, SCADAPACK, SoMachine, MachineExpert, ZelioSoft, TwidoSoft, TwidoSuite, TelePace

Модератор: Специалисты SE

Ответить

Автор темы
Vorox
здесь недавно
здесь недавно
Сообщения: 20
Зарегистрирован: 29 июн 2015, 16:46
Имя: Андрей
Страна: Россия
город/регион: Нижегородская

EFB GET_4x() и PUT_4x() в M340 и M580 линейке

Сообщение Vorox »

Приветствую завсегдатаев данного форума.
Столкнулся с проблемой что в линейке Modicon BMX M340 и BME M580 нет явного обращения к регистру памяти как в линейки Quantum (там эти возможности реализованы через EFB GET_4x() и PUT_4x() ). Так же отсутствует возможность обращаться к регистр напрямую в DFB секции.
Есть ли у кого код данных EFB - с помощью него можно попытаться реализовать свою DFB, или кто уже решал данный вопрос - поделитесь советом или примером :)
Аватара пользователя

megavolt86
эксперт
эксперт
Сообщения: 1172
Зарегистрирован: 14 ноя 2013, 20:35
Имя: Анатолий Сергеевич
Страна: Россия
город/регион: Башкортостан
Благодарил (а): 13 раз
Поблагодарили: 65 раз

Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке

Сообщение megavolt86 »

В м-серии даже проще, чем в квантум адресация, на мой взгляд - 40001=%m0.
Для сайтекта адресация сквозная, а вот для других систем считал придется)
:ext_secret:

Автор темы
Vorox
здесь недавно
здесь недавно
Сообщения: 20
Зарегистрирован: 29 июн 2015, 16:46
Имя: Андрей
Страна: Россия
город/регион: Нижегородская

Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке

Сообщение Vorox »

megavolt86 писал(а):В м-серии даже проще, чем в квантум адресация, на мой взгляд - 40001=%m0.
Для сайтекта адресация сквозная, а вот для других систем считал придется)
Меня интересует возможность обращения непосредственно к ячейки памяти например в Quantum в FBD можно написать так:

Код: Выделить всё

Count    := GET_4x(32001); (*считываем значение индекса текущего сообщения*)
dop_mili := GET_4x(32002); (*счетчик в пределах секунды*)
SaveSec  := GET_4x(32003); (*сохраненное значение секунды*)
А в M580 уже тот же код не прокатит, т.к. функция GET_4x там не поддерживается. И нужен нужен ее аналог.

leon78
эксперт
эксперт
Сообщения: 1019
Зарегистрирован: 25 июл 2008, 10:06
Имя: Леонид
Страна: РФ
Благодарил (а): 27 раз
Поблагодарили: 103 раза

Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке

Сообщение leon78 »

Если не внутри DFB, то можно так:
%MW0[индекс]
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.

Автор темы
Vorox
здесь недавно
здесь недавно
Сообщения: 20
Зарегистрирован: 29 июн 2015, 16:46
Имя: Андрей
Страна: Россия
город/регион: Нижегородская

Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке

Сообщение Vorox »

leon78 писал(а):Если не внутри DFB, то можно так:
%MW0[индекс]
В том то и дело что ищу способ писать в регистр именно в FBD

leon78
эксперт
эксперт
Сообщения: 1019
Зарегистрирован: 25 июл 2008, 10:06
Имя: Леонид
Страна: РФ
Благодарил (а): 27 раз
Поблагодарили: 103 раза

Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке

Сообщение leon78 »

Vorox писал(а):В том то и дело что ищу способ писать в регистр именно в FBD
Посмотрел, для M340 оба EFB работают. Unity 8.0
Почему вы решили, что не работают?
PS Проблема может быть в том, что в этих контроллерах для типов данных, занимающих 2 регистра (REAL, UDINT, DINT), разрешена адресация только с четных регистров (%MW1, %MW3 и т.д. запрещены)
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.

Автор темы
Vorox
здесь недавно
здесь недавно
Сообщения: 20
Зарегистрирован: 29 июн 2015, 16:46
Имя: Андрей
Страна: Россия
город/регион: Нижегородская

Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке

Сообщение Vorox »

leon78 писал(а):
Vorox писал(а):В том то и дело что ищу способ писать в регистр именно в FBD
Посмотрел, для M340 оба EFB работают. Unity 8.0
Почему вы решили, что не работают?
PS Проблема может быть в том, что в этих контроллерах для типов данных, занимающих 2 регистра (REAL, UDINT, DINT), разрешена адресация только с четных регистров (%MW1, %MW3 и т.д. запрещены)
Про М340 я ошибся, каюсь.
Так как шнайдер выпустил М580 с поддержкой STANDBY встал вопрос с переносом всего софта с Quantum на эту линейку, вот и я решил что если в более поздней версии линейки не работает то и в ранних М340 тоже не будет, но не убедился в этом.

leon78
эксперт
эксперт
Сообщения: 1019
Зарегистрирован: 25 июл 2008, 10:06
Имя: Леонид
Страна: РФ
Благодарил (а): 27 раз
Поблагодарили: 103 раза

Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке

Сообщение leon78 »

offtop
[+]
Разве контроллеры М580 с поддержкой STANDBY уже выпустили? ООО "Синтек" решил изменить структурную схему проекта до изменений ТУ вендора?
Последний раз редактировалось leon78 30 июн 2015, 17:16, всего редактировалось 1 раз.
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.

leon78
эксперт
эксперт
Сообщения: 1019
Зарегистрирован: 25 июл 2008, 10:06
Имя: Леонид
Страна: РФ
Благодарил (а): 27 раз
Поблагодарили: 103 раза

Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке

Сообщение leon78 »

Посмотрел помощь, M580 многие EFB не поддерживает. Замены GET_4x() и PUT_4x() не нашел. Служба поддержки ШЭ ничего не посоветовала?
Придется, наверное, буфер сообщений вам сделать как структуру, и ее подавать на вход-выход DFB.
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.

Автор темы
Vorox
здесь недавно
здесь недавно
Сообщения: 20
Зарегистрирован: 29 июн 2015, 16:46
Имя: Андрей
Страна: Россия
город/регион: Нижегородская

Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке

Сообщение Vorox »

leon78 писал(а):offtop
[+]
Разве контроллеры М580 с поддержкой STANDBY уже выпустили? ООО "Синтек" решил изменить структурную схему проекта до изменений ТУ вендора?
Да выпустили, проводим их тестирование и новой версии Unity, их поддерживаемой.

Автор темы
Vorox
здесь недавно
здесь недавно
Сообщения: 20
Зарегистрирован: 29 июн 2015, 16:46
Имя: Андрей
Страна: Россия
город/регион: Нижегородская

Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке

Сообщение Vorox »

leon78 писал(а):Посмотрел помощь, M580 многие EFB не поддерживает. Замены GET_4x() и PUT_4x() не нашел. Служба поддержки ШЭ ничего не посоветовала?
Придется, наверное, буфер сообщений вам сделать как структуру, и ее подавать на вход-выход DFB.
Поддержку озадачил, пока молчит. Есть идея написать на С аналог и интегрировать ее в Unity. Посмотрим что ответит поддержка.
На счет буфера - будет не очень красиво и затратно по времени выполнения из - за таскания ее в каждой FBD

leon78
эксперт
эксперт
Сообщения: 1019
Зарегистрирован: 25 июл 2008, 10:06
Имя: Леонид
Страна: РФ
Благодарил (а): 27 раз
Поблагодарили: 103 раза

Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке

Сообщение leon78 »

Vorox писал(а):Поддержку озадачил, пока молчит. Есть идея написать на С аналог и интегрировать ее в Unity. Посмотрим что ответит поддержка.
На счет буфера - будет не очень красиво и затратно по времени выполнения из - за таскания ее в каждой FBD
Наоборот, решения с косвенной адресацией выглядят не очень красиво. Стараемся этим не пользоваться.
PS. В Unity 8.1 появился тип данных REF_TO. Работает пока очень криво (самый большой косяк - нельзя выгрузить проект из контроллера, если есть переменные такого типа), но, возможно, пригодится.
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.

leon78
эксперт
эксперт
Сообщения: 1019
Зарегистрирован: 25 июл 2008, 10:06
Имя: Леонид
Страна: РФ
Благодарил (а): 27 раз
Поблагодарили: 103 раза

Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке

Сообщение leon78 »

Vorox писал(а):Поддержку озадачил, пока молчит.
Есть результат?
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.

Автор темы
Vorox
здесь недавно
здесь недавно
Сообщения: 20
Зарегистрирован: 29 июн 2015, 16:46
Имя: Андрей
Страна: Россия
город/регион: Нижегородская

Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке

Сообщение Vorox »

Аналоги EFB написаны. Тему можно закрыть.

leon78
эксперт
эксперт
Сообщения: 1019
Зарегистрирован: 25 июл 2008, 10:06
Имя: Леонид
Страна: РФ
Благодарил (а): 27 раз
Поблагодарили: 103 раза

Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке

Сообщение leon78 »

В EFB Toolkit? Или получилось стандартными средствами?
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.

Автор темы
Vorox
здесь недавно
здесь недавно
Сообщения: 20
Зарегистрирован: 29 июн 2015, 16:46
Имя: Андрей
Страна: Россия
город/регион: Нижегородская

Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке

Сообщение Vorox »

leon78 писал(а):В EFB Toolkit? Или получилось стандартными средствами?
На ToolKit.
Ответить

Вернуться в «ПЛК»