Цитата Сообщение от Дмитрий Артюховский Посмотреть сообщение
а вот определение в программе...

#define in_reg R29
#define out_reg R28

Вы пытаетесь писать в регистр для чтения... а регистр можно использовать для обмена либо в одну, либо в другую сторону...
Это всё ерунда.
Я же говорил какая у меня программа:
Цитата Сообщение от vladimirisitnikov Посмотреть сообщение
Для примера, вот так выглядит pulse.p -- т.е. просто вызов одного моего ФБ.
Код:
;include "target.trg"
FBDECL
#defFB PRU_PULSE PRU_PULSE
/FBDECL

SYNCLIST
IN=R25
IN=R26
IN=R27
OUT=R28
OUT=R29
/SYNCLIST
PROGRAMM
PRU_PULSE
/PROGRAMM
Я вообще 3 регистра на вход и 2 на выход использую.


Скорее всего, проблема в том, что PRU не даёт отмашку "данные переданы/прочитаны", поэтому на ПЛК стороне операции PRU_FB_SetParameter/PRU_FB_GetParameter зависают (похоже, они ждут) и в конце концов ПЛК перегружается по watchdog'у.

Поправлю программу, чтобы были отмашки, и, наверняка заработает.