Код:
BOOL CH1_Avto,CH1_Pusk,CH1_Stop; WORD MU16[16];
//CH1
Read(HMI_LOCAL_MCH, 0, TYPE_PSW, 301, 0, TYPE_BIT, &CH1_Avto);
Read(HMI_LOCAL_MCH, 0, TYPE_PSW, 301, 4, TYPE_BIT, &CH1_Pusk);
Read(HMI_LOCAL_MCH, 0, TYPE_PSW, 301, 8, TYPE_BIT, &CH1_Stop);
if(CH1_Avto==0){
if(CH1_Pusk==1)MU16[4]=1000; else MU16[4]=0;
if(CH1_Stop==1)MU16[8]=1000; else MU16[8]=0;}
if(CH1_Avto==1)MU16[4]=0;MU16[8]=0;
//CH2
Writes(HMI_LOCAL_MCH, 0, TYPE_PSW, 400, 16, MU16);
return;
Сделал по вашему примеру предыдущего проекта, в ФО добавите копировать регистр из PSW400 в 4x0 релейного модуля укажете 16 регистров, да и сам макрос укажите первым в ФО, думаю дальше сами разберетесь.
Касаемо вашего проекта, что нужно знать и с чем столкнетесь.
На основном экране у вас ФО которое непрерывно будет вести запрос на чтение и на запись, это немного не правильно, записывать нужно только в том случае когда будут изменения с кнопок, это вам даст устойчивость системы, неплохо контролировать состояния МУ16.
Когда тестировал модули МВ_8а и МУ16 с СП307, пришёл к выводу, что связь должна идти с одного ФО либо полностью с макроса, я сделал выбор на макрос, почему сейчас объясню.
Дело в том, что в панели весь процесс обрабатывается по очереди, когда вы заполняете объектами экран, формируется та самая очередь, ее можно посмотреть в расширенном режиме если выделить все элементы на экране и с группировать в один объект. Кстати там можно и редактировать порядок выполнения. Есть тонкость и с кнопкой, когда вы нажмете и удерживаете ее процесс выполнения прекращается, не факт, что макрос не отработает, так как у кнопки имеется 4 сценария выполнения, и на момент нажатого то состояния будет циклически выполнятся, как только вы отпустите кнопку, сработает другой сценарий на отпускание кнопки и только потом дойдет очередь до следующих объектов в том числе и ФО (смотрим и эксперементируем с выполнением макроса параллельно либо последовательно). Можно в него и включить макрос. Но честно сказать в этом случае макрос может правильно не отработать я уже с этим сталкивался, и я пришёл к выводу, что с кнопками нужно работать тупо как включил либо выключил, надежно и практично, собственно и исходя этого нужно уже и разрабатывать схемы управления. ФО желательно сделать одно на 65535 экране, но оно появится только в расширенном режиме, но чтобы не углубляться глубже желательно опрос модулей сделать на матросе там же и все контролировать, но как все будет работать через шлюз сказать не могу, нужно все проверять.