Страница 1 из 1

Чтение аналовогово параметра

Добавлено: 14 ноя 2018, 12:08
petr2off
Добрый день.
Собрали тут у меня студенты стенд на CPU 319. C модулем SM331 (AI8x16). Задал им простенькую задачку, считать со 2-го канала сигнал 4-20мА, преобразовать его в -50 - +150 градусов.
Проблема подкралась там, где я ее не ждал. С %IW258 - устойчиво читается ноль, понятно - я с важным видом IW258 заменил на PIW258 и все пошло, но во всех мануалах пишут - не читайте с физических входов, читайте с образа процесса. Где косяк ? Упростил все до предела. в OB1 блок Move - c PIW258 - читает, с IW258 нет.

Re: Чтение аналовогово параметра

Добавлено: 14 ноя 2018, 14:57
POV
А на другом форуме вы на мой вопрос о том понимаете ли вы разницу между PIW256 и IW256 ответили утвердительно, а похоже что нет.
Увеличьте, если ЦПУ позволяет, размер области входов выходов так, чтобы адрес 256 в нее попал (в настройках ЦПУ). Или смените адрес модуля на попадающий в пространство образа входов выходов (вот например 0 или 4). И тогда читайте через IWххх. А так как у вас сейчас - только через PIWxxx.

Re: Чтение аналовогово параметра

Добавлено: 14 ноя 2018, 16:37
Михайло
В ТИА Портале в s7-1200, наоборот, не сработает PIW258. Почему, не знаю. Знаю, что такое образ процесса и физическая память, но что с этой голой теорией делать, непонятно. :dontknow:

Re: Чтение аналовогово параметра

Добавлено: 14 ноя 2018, 16:42
POV
А при чем тут 1200 если в исходном вопросе 319?

Re: Чтение аналовогово параметра

Добавлено: 15 ноя 2018, 03:37
petr2off
PIW256 - чтение с модуля
iW256 - чтения с образа процесса, в чем я не прав и чего не понимаю ?

Re: Чтение аналовогово параметра

Добавлено: 15 ноя 2018, 06:32
petr2off
Спасибо. В свойствах контроллера действительно стоял размер областей I и Q 256 байт. Соответственно - и шло обращение за границу. У меня была мысль на эту тему, но когда я тупо в проекте щелкнул propertis мне вежливо сообщили - что эти данные я могу только читать, и я там и не стал лазить. Щелкнуть надо было в конфигурации оборудования. Увеличил области I и Q до 1024 и все пошло.

Re: Чтение аналовогово параметра

Добавлено: 15 ноя 2018, 07:06
petr2off
Михайло писал(а):В ТИА Портале в s7-1200, наоборот, не сработает PIW258. Почему, не знаю. Знаю, что такое образ процесса и физическая память, но что с этой голой теорией делать, непонятно. :dontknow:
С этим я разобрался. Произошла смена синтаксиса. Если надо напрямую обратится, писать надо не PIW258, а %IW258:P

Re: Чтение аналовогово параметра

Добавлено: 15 ноя 2018, 09:14
Михайло
Кажется у меня такой метод обращения (IW258:P) не работал.

Re: Чтение аналовогово параметра

Добавлено: 15 ноя 2018, 09:20
POV
petr2off писал(а):чего не понимаю ?
Того что область IW это обычный кусок "Data memory" (его видно в Memory Information) и его размер можно менять, и того, что Step7 по умолчанию назначает адреса аналоговых модулей за пределы этой области.
Увеличив размер вы также увеличили время цикла - на чтение аналоговых модулей, что в принципе не надо, так как цикл короткой программы может быть менее 10 мс, а обработка в самом модуле новых значений сигнала > 200 мс.

Re: Чтение аналовогово параметра

Добавлено: 15 ноя 2018, 09:25
petr2off
Не понятно, почему Вы так решили, ну да ладно. Не суть, как говорится. Я просто избалован контроллерами с более приличным управлением памятью.
Увеличения цикла не заметил.

Re: Чтение аналовогово параметра

Добавлено: 15 ноя 2018, 09:38
POV
petr2off писал(а):Я просто избалован контроллерами с более приличным управлением памятью
А можно пример в студию с кратким комментарием по модели памяти и ее "приличности"

Re: Чтение аналовогово параметра

Добавлено: 15 ноя 2018, 10:25
petr2off
Да легко. берем IPC-DAS 8141. Isagraf. Там нет таких понятий как I область, Q область, M область и т.д. Есть словарь переменных, в котором мы заводим переменные. В атрибутах переменных нет такого понятия адрес, есть понятие типа переменной (Integer, Real, Boolean..), Есть описатель переменной (Input, Output, InOut). Связь с устройством осуществляется через модули, которые объединяются в подобии корзины S7. Работа идет так:
1) Заводишь 8 аналоговых переменных, например A_PAR0, A_PAR1....
2) Вставляешь "боард" чтения аналоговых сигналов
3) На каналах боарда мышью выбираешь и связываещь каналы с переменными 0 с A_PAR0, 1 A_PAR1 и т.д.

Все, работаешь. используешь эти данные для ввода. При этом:
1) - Память отводится только под поставленные модули, т.е. для аналового 8 канального модуля будет отведено 8 слов.
2) - Мне не нужны дополнительные заморочки по поводу значений адресов в I области и танцы с бубном по поводу то увеличения области I (при этом получая в нагрузку неиспользуемую память и увеличение цикла на ее опрос) или переназначении адресов на модуле ввода вывода.

Встречный вопрос, а Вы кроме сименса с чем нибуть еще работали ?

Re: Чтение аналовогово параметра

Добавлено: 15 ноя 2018, 13:17
petr2off
Михайло писал(а):Кажется у меня такой метод обращения (IW258:P) не работал.
У меня сработал.

Re: Чтение аналовогово параметра

Добавлено: 15 ноя 2018, 15:35
POV
Ну я могу парировать тем, что вы могли просто прочитать PIW слово и все, но вас это не устроило. Почему?
Вообще никаких танцев с бубном - далее вызываете библиотечный SCALE и имеете физические единицы.
Возможно покороче ваших танцев с "мышью выбираешь и связываешь" и т.д.
Да работал, OMRON, SE, A-B. Не сказал бы что в разы удобней SIEMENSа. Основная специализация именно SIEMENS, я и пишу в основном в темах по нему, если знаю, чем помочь. Но мне не очень нравится его критика на ровном месте.
Я думаю мы сильно отклоняемся от темы, а проблема вроде решена.

Re: Чтение аналовогово параметра

Добавлено: 15 ноя 2018, 16:03
petr2off
Пример в студию - это была Ваша инициатива. Я тоже считаю, что отклонение от темы лишнее. Хочу лишь заметить, что очень существенное изменение технологии в TIA портал возникла не на пустом месте. 80% того, что меня не устраивало в step 7 5.5 они убрали, как инструмент он мне в общем то понравился, если бы не некоторая глюкавость и ощущение сыроватости.

Re: Чтение аналовогово параметра

Добавлено: 16 ноя 2018, 04:31
Михайло
petr2off писал(а):Да легко. берем IPC-DAS 8141. Isagraf. Там нет таких понятий как I область, Q область, M область и т.д. Есть словарь переменных, в котором мы заводим переменные. В атрибутах переменных нет такого понятия адрес, есть понятие типа переменной (Integer, Real, Boolean..)
Кажется, вы говорите о том, что у Сименса называется Datablock. А если ещё взять датаблок с оптимизацией, то точно речь о них. Все нормальные люди пользуются ими, просто у S7-300 может и не быть оптимизированных датаблоков, в Step7 v5.x они (неоптимизированные, старые) очень коряво работали (плохо поддавались рефакторингу).
А области I, Q - это чисто физика или коммуникационный обмен. M практически не юзается.

Re: Чтение аналовогово параметра

Добавлено: 16 ноя 2018, 06:52
petr2off
У Isagraf нет понятия Datablock. DB в сименсе это создаваемый элемент и он элемент адресации. Словарь в ISAGRAF он присутствует изначально. Просто объект словаря может быть глобальным, тогда он виден все программным модулям или локальным тогда он виден только конкретным локальным модулем. Еще одна специфика. Так как DB блоков нет, то использование системных блоков (да и пользовательских тоже) не требует отдельного объявления экземплярных DB. Т.е. это разные технологии. Каждая имеет свои достоинства и недостатки, но то, что предлагает Isagraf - однозначно проще.
Я так считаю - FDB однозначно у Isagraf реализован лучше. STL - однозначно лучше у Сименса (он пожалуй вообще - лучший). SCL - Тут вопрос сложный, что то лучше если сравнивать Isagraf 3 и step 7, наверно у step 7 все таки получше будет. Если Isagraf 6 и TIA v14 - то наверно примерно одинаково.