Обмен и обработка информации по коммуникационным сетям в распределенных системах управления ASCII и Modbus, страница 2

b) Конфигурирование Ethernet TCP/IP адресса

*Для Slave:

a) Кофигурирование порта 1:

-ASCII:

-Modbus:

b) Конфигурирование Ethernet TCP/IP адресса

IV.2. Пример читания одного бита от Slave:

Программа обеспечивает читать значение одного бита в адрессе памяти %M0 у Slave в контроллер Master, используя язык IL:

Программа в Slave:

LD                1

ST                %M0                  //Бит %MW0 всегда 1

Программа в Master:

LD                1                              // Смысл кода:

[ %MW0 := 16#0106 ]            //%MW0 :  01- передача / приема, 06 – 6 байтов  запроса(от  %MW2 до    

//    %MW4)

[ %MW1 := 16#0300 ]           //%MW1 :  03 - смещения для полученных данных – будет %MW7

//                  00- удалить нулевой байт запроса во время передачи

[ %MW2 := 16#0101 ]           //%MW2:   01 – адресс Slave 01; 01 – код функции 01 (читать биты)

[ %MW3 := 16#0000 ]          //%MW3:   0000 – адресс бита в Slave, который надо читать 

[ %MW4 := 16#0001 ]          //%MW4:   0001 – количество битов : 1

[ %MW5 := 16#0002 ]

[ %MW6 := 16#0001 ]

LD                1

AND            %MSG3.D            // Если есть связь между котроллерами,

[ EXCH3 %MW0:10]             //то делаем инструкцию обмена и передачи EXCH. Таблица инструкции  

// состоит из 10 слов от %MW0 до %MW9, где 5 первых слов            //используется в коде команде. Бит, который читан, будет записыватся в

// третьем слове после %MW4 – то есть %MW7

LD                %MSG3.E             // Если ошиька

ST                %Q0.0                  //то бит %Q0.0=1

При запуске программ:  В %MW7 у Master будет 0100, где Старший значимый байт 01, читается от %M0 в Slave.

IV.3. Примерзаписи многих слов в Slave:

Программа обеспечивает записать слова в адрессах памяти %MW6,%MW7  у Master в адрессы %MW16, %MW17, соответственно, в контроллере Slave, используя язык IL:

Программа в Slave:

LD                1

[ %MW18 := 16#FFFF ]

Программа в Master:

LD                1                            //Смысл кода:

[ %MW0 := 16#010C ]          //%MW0:  01- код передачи/приема, 0C -12 байтов запроса (от %MW2

//до %MW7)

[ %MW1 := 16#0007 ]          //%MW1: 00 – нет смещения для полученных данных.

//07 – удалить седьмой байт запроса во время передачи

[ %MW2 := 16#0110 ]          //%MW2:  01 – адресс Slave; 10 – код функции 16 (записать многие

//слова)

[ %MW3 := 16#0010 ]          //%MW3 : 0010=16 – адресс %M16 в Slave, куда записать

[ %MW4 := 16#0002 ]          // %MW4: 0002=2 - Количество слов надо записать

[ %MW5 := 16#0004 ]          // %MW5: 0004=4 – Количество байтов надо записат (всегда больше

//количества слов в 2 раза)

[ %MW6 := 16#6566 ]          //Первое слово надо записать

[ %MW7 := 16#6768 ]          //Второе слово надо записать

LD                1

AND            %MSG3.D            //Если есть связь между контроллами

[EXCH3       %MW0:11]          // то делаем инструкцию обмена и передачи EXCH. Таблица инструкции  

// состоит из 11 слов от %MW0 до %MW10, где 8 первых слов            //используется в коде команде. Cлова будут записывать в адрессы //%MW16 и %MW17 в Slave.

LD                %MSG2.E

ST                %Q0.0

При запуске программ: В Slave: %MW16=6566 (Hex), %MW17=6768 (Hex)

IV.4. Таблица поддерживаемых кодов функций инструкции EXCH:

Часть 2: Задача «Автостоянка»

I.Задание

С помощью среды TwidoSuite создать программу на для управления автостоянкой. В качестве вычислительного устройства использовать 2 контроллера TWDL, один из них (Slave) является приемопередатчиком сигналов, другое (Master) обрабатывает информации сигналов.

II.Описание:

Гараж оборудован гаражной дверью, входным шлагбаумом, и датчиками въезда-выезда (всего три датчика). На въезде и внутри гаража установлены светофоры (красный и зелёный цвета).

Работа гаража происходит по следующему принципу: