Профиль должен быть заполнен на русском языке кириллицей. Заполнение профиля заведомо ложными или некорректными данными - причина возможного отказа в регистрации на форуме.

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

PLC, прочие контроллеры, промышленные компьютеры, операторские панели

Автор темы
Vorox
здесь недавно
здесь недавно
Сообщения: 15
Зарегистрирован: 29 июн 2015, 16:46
Ф.И.О.: Андрей

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

Сообщение Vorox » 29 июн 2015, 20:55

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

Аватара пользователя

megavolt86
специалист
специалист
Сообщения: 627
Зарегистрирован: 14 ноя 2013, 19:35
Ф.И.О.: Анатолий Сергеевич
Откуда: Башкортостан
Благодарил (а): 3 раза
Поблагодарили: 6 раз

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

Сообщение megavolt86 » 30 июн 2015, 06:01

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


Автор темы
Vorox
здесь недавно
здесь недавно
Сообщения: 15
Зарегистрирован: 29 июн 2015, 16:46
Ф.И.О.: Андрей

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

Сообщение Vorox » 30 июн 2015, 07:54

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


Меня интересует возможность обращения непосредственно к ячейки памяти например в Quantum в FBD можно написать так:

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

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


А в M580 уже тот же код не прокатит, т.к. функция GET_4x там не поддерживается. И нужен нужен ее аналог.


leon78
завсегдатай
завсегдатай
Сообщения: 565
Зарегистрирован: 25 июл 2008, 09:06
Ф.И.О.: U.L.A.
Благодарил (а): 1 раз
Поблагодарили: 4 раза
Контактная информация:

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

Сообщение leon78 » 30 июн 2015, 10:07

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


Автор темы
Vorox
здесь недавно
здесь недавно
Сообщения: 15
Зарегистрирован: 29 июн 2015, 16:46
Ф.И.О.: Андрей

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

Сообщение Vorox » 30 июн 2015, 15:39

leon78 писал(а):Если не внутри DFB, то можно так:
%MW0[индекс]


В том то и дело что ищу способ писать в регистр именно в FBD


leon78
завсегдатай
завсегдатай
Сообщения: 565
Зарегистрирован: 25 июл 2008, 09:06
Ф.И.О.: U.L.A.
Благодарил (а): 1 раз
Поблагодарили: 4 раза
Контактная информация:

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

Сообщение leon78 » 30 июн 2015, 16:25

Vorox писал(а):В том то и дело что ищу способ писать в регистр именно в FBD

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


Автор темы
Vorox
здесь недавно
здесь недавно
Сообщения: 15
Зарегистрирован: 29 июн 2015, 16:46
Ф.И.О.: Андрей

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

Сообщение Vorox » 30 июн 2015, 16:36

leon78 писал(а):
Vorox писал(а):В том то и дело что ищу способ писать в регистр именно в FBD

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

Про М340 я ошибся, каюсь.
Так как шнайдер выпустил М580 с поддержкой STANDBY встал вопрос с переносом всего софта с Quantum на эту линейку, вот и я решил что если в более поздней версии линейки не работает то и в ранних М340 тоже не будет, но не убедился в этом.


leon78
завсегдатай
завсегдатай
Сообщения: 565
Зарегистрирован: 25 июл 2008, 09:06
Ф.И.О.: U.L.A.
Благодарил (а): 1 раз
Поблагодарили: 4 раза
Контактная информация:

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

Сообщение leon78 » 30 июн 2015, 17:05

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


leon78
завсегдатай
завсегдатай
Сообщения: 565
Зарегистрирован: 25 июл 2008, 09:06
Ф.И.О.: U.L.A.
Благодарил (а): 1 раз
Поблагодарили: 4 раза
Контактная информация:

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

Сообщение leon78 » 30 июн 2015, 17:15

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


Автор темы
Vorox
здесь недавно
здесь недавно
Сообщения: 15
Зарегистрирован: 29 июн 2015, 16:46
Ф.И.О.: Андрей

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

Сообщение Vorox » 30 июн 2015, 18:23

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

Да выпустили, проводим их тестирование и новой версии Unity, их поддерживаемой.


Автор темы
Vorox
здесь недавно
здесь недавно
Сообщения: 15
Зарегистрирован: 29 июн 2015, 16:46
Ф.И.О.: Андрей

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

Сообщение Vorox » 30 июн 2015, 18:27

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

Поддержку озадачил, пока молчит. Есть идея написать на С аналог и интегрировать ее в Unity. Посмотрим что ответит поддержка.
На счет буфера - будет не очень красиво и затратно по времени выполнения из - за таскания ее в каждой FBD


leon78
завсегдатай
завсегдатай
Сообщения: 565
Зарегистрирован: 25 июл 2008, 09:06
Ф.И.О.: U.L.A.
Благодарил (а): 1 раз
Поблагодарили: 4 раза
Контактная информация:

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

Сообщение leon78 » 30 июн 2015, 19:00

Vorox писал(а):Поддержку озадачил, пока молчит. Есть идея написать на С аналог и интегрировать ее в Unity. Посмотрим что ответит поддержка.
На счет буфера - будет не очень красиво и затратно по времени выполнения из - за таскания ее в каждой FBD

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


leon78
завсегдатай
завсегдатай
Сообщения: 565
Зарегистрирован: 25 июл 2008, 09:06
Ф.И.О.: U.L.A.
Благодарил (а): 1 раз
Поблагодарили: 4 раза
Контактная информация:

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

Сообщение leon78 » 08 июл 2015, 12:06

Vorox писал(а):Поддержку озадачил, пока молчит.

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


Автор темы
Vorox
здесь недавно
здесь недавно
Сообщения: 15
Зарегистрирован: 29 июн 2015, 16:46
Ф.И.О.: Андрей

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

Сообщение Vorox » 19 июл 2015, 13:40

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


leon78
завсегдатай
завсегдатай
Сообщения: 565
Зарегистрирован: 25 июл 2008, 09:06
Ф.И.О.: U.L.A.
Благодарил (а): 1 раз
Поблагодарили: 4 раза
Контактная информация:

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

Сообщение leon78 » 20 июл 2015, 10:33

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


Автор темы
Vorox
здесь недавно
здесь недавно
Сообщения: 15
Зарегистрирован: 29 июн 2015, 16:46
Ф.И.О.: Андрей

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

Сообщение Vorox » 20 июл 2015, 14:29

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

На ToolKit.


Вернуться в «Средний уровень автоматизации»



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость