Не победил SFC 81 (UBLKMOV). Не могу по входу задать P-area

Промышленные Логические Контроллеры SIMATIC S7-200/300/400
Post Reply
volotovskyd
Posts: 79
Joined: Mon Aug 13, 2012 2:23 pm

Не победил SFC 81 (UBLKMOV). Не могу по входу задать P-area

Post by volotovskyd » Wed Dec 23, 2020 7:47 pm

Друзья, выручайте.
Добавил в код вышеуказанный блок. Судя по описанию ему на вход можно подавать данные из области памяти Р от входной переферии (мне нужно PIW). Тип данных по данному входу ANY, соответственно сразу попробовал на входе указать P#I268.0 BYTE 16. Не сработало, но скомпилировалось и ошибки на соответствующем блоке нет, как нет и данных в DB. Попробовал P#P268.0 BYTE 16 - то же не читает. Задача следующая - нужно в DB записать одним махом 16 байт (данные с 8 аналоговых входов). Скрины:
Image
Image

POV_PDA
Posts: 97
Joined: Mon Apr 26, 2010 7:02 pm
Location: Н.Новгород

Re: Не победил SFC 81 (UBLKMOV). Не могу по входу задать P-area

Post by POV_PDA » Wed Dec 23, 2020 8:32 pm

Что значит "не сработало"?
А RET_VAL какой?
Если что-то записать в ДБ, нулями перепишет сверху?

Тут вот еще интересно, для blkmov тоже указана p область, но
https://support.industry.siemens.com/cs ... 0&lc=en-WW

Получается надо писать P#PI200.0 byte 2 (в допортальной нотации), но не дает. Тогда как P#I это же I область, а P#P какая? но точно не PI.

CoMod
Site Admin
Posts: 3969
Joined: Thu Feb 16, 2006 3:25 pm
Location: Russia
Contact:

Re: Не победил SFC 81 (UBLKMOV). Не могу по входу задать P-area

Post by CoMod » Thu Dec 24, 2020 5:31 am

что хочешь прочитать ?
Локальную корзину ЦПУ с аналоговыми входами или удалённую периферию ?
  • With SFC 81 "UBLKMOV" you can copy the following memory areas:
    Marker
    DB contents
    Process image of the inputs
    Process image of the outputs
то есть только образ процесса, который можно расширить на локальную периферию корзины ЦПУ.

Для чтения периферии Профибус/Профинет
(sfaq) https://support.industry.siemens.com/cs ... t/21848242
How do you read consistent data from a DP standard slave/PROFINET IO device and write it consistently to a DP standard slave/PROFINET IO device?
SFC 14 "DPRD_DAT"
SFC 15 "DPWR_DAT"

P.S. В портале, в отличии от классики, аналоговые входа по умолчанию попадают в образ процесса, т.е. надо писать: P#I268.0

volotovskyd
Posts: 79
Joined: Mon Aug 13, 2012 2:23 pm

Re: Не победил SFC 81 (UBLKMOV). Не могу по входу задать P-area

Post by volotovskyd » Fri Dec 25, 2020 3:01 pm

Корзина ЦПУ - это его RACK и три дополнительных? Я правильно понял?

Задача стоит следующая. Есть два расположенных на расстоянии ЦПУ (назовем их условно ЦПУ1 и ЦПУ2), у каждого из которых есть несколько модулей AI и AO. Часть полевых устройств, которые должны были быть подключены к ЦПУ2 временно придется подключить к ЦПУ1. Связь Ethеrnet между ними в наличии. Необходимо опросить соответствующие AI ЦПУ1 и передать данные в ЦПУ2, который будет с ними работать. В дальнейшем при поэтапном переподключении "поля" к ЦПУ2 данные из DB будут заменены на PIW. План пока такой. Хочется примерно три десятка AI прочитать как-то компактно в коде, чтобы не городить кучу MOVE-блоков. Аналогичная ситуация с АО.

CoMod
Site Admin
Posts: 3969
Joined: Thu Feb 16, 2006 3:25 pm
Location: Russia
Contact:

Re: Не победил SFC 81 (UBLKMOV). Не могу по входу задать P-area

Post by CoMod » Sat Dec 26, 2020 2:14 pm

выложи картинки HWConfig в конфигурации с одним ЦПУ и последующем варианте с двумя ЦПУ.
не понятно как модули ввода/вывода болтаются сами по себе без головы.

Post Reply