- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
EFB GET_4x() и PUT_4x() в M340 и M580 линейке
Модераторы: Глоб.модераторы, Специалисты SE
-
- здесь недавно
- Сообщения: 20
- Зарегистрирован: 29 июн 2015, 16:46
- Имя: Андрей
- Страна: Россия
- город/регион: Нижегородская
EFB GET_4x() и PUT_4x() в M340 и M580 линейке
Приветствую завсегдатаев данного форума.
Столкнулся с проблемой что в линейке Modicon BMX M340 и BME M580 нет явного обращения к регистру памяти как в линейки Quantum (там эти возможности реализованы через EFB GET_4x() и PUT_4x() ). Так же отсутствует возможность обращаться к регистр напрямую в DFB секции.
Есть ли у кого код данных EFB - с помощью него можно попытаться реализовать свою DFB, или кто уже решал данный вопрос - поделитесь советом или примером :)
Столкнулся с проблемой что в линейке Modicon BMX M340 и BME M580 нет явного обращения к регистру памяти как в линейки Quantum (там эти возможности реализованы через EFB GET_4x() и PUT_4x() ). Так же отсутствует возможность обращаться к регистр напрямую в DFB секции.
Есть ли у кого код данных EFB - с помощью него можно попытаться реализовать свою DFB, или кто уже решал данный вопрос - поделитесь советом или примером :)
-
- эксперт
- Сообщения: 1172
- Зарегистрирован: 14 ноя 2013, 20:35
- Имя: Анатолий Сергеевич
- Страна: Россия
- город/регион: Башкортостан
- Благодарил (а): 13 раз
- Поблагодарили: 68 раз
Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке
В м-серии даже проще, чем в квантум адресация, на мой взгляд - 40001=%m0.
Для сайтекта адресация сквозная, а вот для других систем считал придется)
Для сайтекта адресация сквозная, а вот для других систем считал придется)
-
- здесь недавно
- Сообщения: 20
- Зарегистрирован: 29 июн 2015, 16:46
- Имя: Андрей
- Страна: Россия
- город/регион: Нижегородская
Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке
Меня интересует возможность обращения непосредственно к ячейки памяти например в Quantum в FBD можно написать так:megavolt86 писал(а):В м-серии даже проще, чем в квантум адресация, на мой взгляд - 40001=%m0.
Для сайтекта адресация сквозная, а вот для других систем считал придется)
Код: Выделить всё
Count := GET_4x(32001); (*считываем значение индекса текущего сообщения*)
dop_mili := GET_4x(32002); (*счетчик в пределах секунды*)
SaveSec := GET_4x(32003); (*сохраненное значение секунды*)
-
- эксперт
- Сообщения: 1146
- Зарегистрирован: 25 июл 2008, 10:06
- Имя: Леонид
- Страна: РФ
- Благодарил (а): 49 раз
- Поблагодарили: 134 раза
Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке
Если не внутри DFB, то можно так:
%MW0[индекс]
%MW0[индекс]
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.
-
- здесь недавно
- Сообщения: 20
- Зарегистрирован: 29 июн 2015, 16:46
- Имя: Андрей
- Страна: Россия
- город/регион: Нижегородская
Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке
В том то и дело что ищу способ писать в регистр именно в FBDleon78 писал(а):Если не внутри DFB, то можно так:
%MW0[индекс]
-
- эксперт
- Сообщения: 1146
- Зарегистрирован: 25 июл 2008, 10:06
- Имя: Леонид
- Страна: РФ
- Благодарил (а): 49 раз
- Поблагодарили: 134 раза
Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке
Посмотрел, для M340 оба EFB работают. Unity 8.0Vorox писал(а):В том то и дело что ищу способ писать в регистр именно в FBD
Почему вы решили, что не работают?
PS Проблема может быть в том, что в этих контроллерах для типов данных, занимающих 2 регистра (REAL, UDINT, DINT), разрешена адресация только с четных регистров (%MW1, %MW3 и т.д. запрещены)
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.
-
- здесь недавно
- Сообщения: 20
- Зарегистрирован: 29 июн 2015, 16:46
- Имя: Андрей
- Страна: Россия
- город/регион: Нижегородская
Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке
Про М340 я ошибся, каюсь.leon78 писал(а):Посмотрел, для M340 оба EFB работают. Unity 8.0Vorox писал(а):В том то и дело что ищу способ писать в регистр именно в FBD
Почему вы решили, что не работают?
PS Проблема может быть в том, что в этих контроллерах для типов данных, занимающих 2 регистра (REAL, UDINT, DINT), разрешена адресация только с четных регистров (%MW1, %MW3 и т.д. запрещены)
Так как шнайдер выпустил М580 с поддержкой STANDBY встал вопрос с переносом всего софта с Quantum на эту линейку, вот и я решил что если в более поздней версии линейки не работает то и в ранних М340 тоже не будет, но не убедился в этом.
-
- эксперт
- Сообщения: 1146
- Зарегистрирован: 25 июл 2008, 10:06
- Имя: Леонид
- Страна: РФ
- Благодарил (а): 49 раз
- Поблагодарили: 134 раза
Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке
offtop
Последний раз редактировалось leon78 30 июн 2015, 17:16, всего редактировалось 1 раз.
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.
-
- эксперт
- Сообщения: 1146
- Зарегистрирован: 25 июл 2008, 10:06
- Имя: Леонид
- Страна: РФ
- Благодарил (а): 49 раз
- Поблагодарили: 134 раза
Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке
Посмотрел помощь, M580 многие EFB не поддерживает. Замены GET_4x() и PUT_4x() не нашел. Служба поддержки ШЭ ничего не посоветовала?
Придется, наверное, буфер сообщений вам сделать как структуру, и ее подавать на вход-выход DFB.
Придется, наверное, буфер сообщений вам сделать как структуру, и ее подавать на вход-выход DFB.
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.
-
- здесь недавно
- Сообщения: 20
- Зарегистрирован: 29 июн 2015, 16:46
- Имя: Андрей
- Страна: Россия
- город/регион: Нижегородская
Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке
Да выпустили, проводим их тестирование и новой версии Unity, их поддерживаемой.leon78 писал(а):offtop
-
- здесь недавно
- Сообщения: 20
- Зарегистрирован: 29 июн 2015, 16:46
- Имя: Андрей
- Страна: Россия
- город/регион: Нижегородская
Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке
Поддержку озадачил, пока молчит. Есть идея написать на С аналог и интегрировать ее в Unity. Посмотрим что ответит поддержка.leon78 писал(а):Посмотрел помощь, M580 многие EFB не поддерживает. Замены GET_4x() и PUT_4x() не нашел. Служба поддержки ШЭ ничего не посоветовала?
Придется, наверное, буфер сообщений вам сделать как структуру, и ее подавать на вход-выход DFB.
На счет буфера - будет не очень красиво и затратно по времени выполнения из - за таскания ее в каждой FBD
-
- эксперт
- Сообщения: 1146
- Зарегистрирован: 25 июл 2008, 10:06
- Имя: Леонид
- Страна: РФ
- Благодарил (а): 49 раз
- Поблагодарили: 134 раза
Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке
Наоборот, решения с косвенной адресацией выглядят не очень красиво. Стараемся этим не пользоваться.Vorox писал(а):Поддержку озадачил, пока молчит. Есть идея написать на С аналог и интегрировать ее в Unity. Посмотрим что ответит поддержка.
На счет буфера - будет не очень красиво и затратно по времени выполнения из - за таскания ее в каждой FBD
PS. В Unity 8.1 появился тип данных REF_TO. Работает пока очень криво (самый большой косяк - нельзя выгрузить проект из контроллера, если есть переменные такого типа), но, возможно, пригодится.
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.
-
- эксперт
- Сообщения: 1146
- Зарегистрирован: 25 июл 2008, 10:06
- Имя: Леонид
- Страна: РФ
- Благодарил (а): 49 раз
- Поблагодарили: 134 раза
Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке
Есть результат?Vorox писал(а):Поддержку озадачил, пока молчит.
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.
-
- здесь недавно
- Сообщения: 20
- Зарегистрирован: 29 июн 2015, 16:46
- Имя: Андрей
- Страна: Россия
- город/регион: Нижегородская
-
- эксперт
- Сообщения: 1146
- Зарегистрирован: 25 июл 2008, 10:06
- Имя: Леонид
- Страна: РФ
- Благодарил (а): 49 раз
- Поблагодарили: 134 раза
Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке
В EFB Toolkit? Или получилось стандартными средствами?
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.
-
- здесь недавно
- Сообщения: 20
- Зарегистрирован: 29 июн 2015, 16:46
- Имя: Андрей
- Страна: Россия
- город/регион: Нижегородская
Re: EFB GET_4x() и PUT_4x() в M340 и M580 линейке
На ToolKit.leon78 писал(а):В EFB Toolkit? Или получилось стандартными средствами?