Адресация переменных в контроллере

<< Click to Display Table of Contents >>

Navigation:  Modbus Universal MasterOPC Server > Руководства по подключению различных контроллеров > Подключение ОВЕН ПЛК1xx > Добавление Modbus переменных >

Адресация переменных в контроллере

Контроллеры ОВЕН могут передавать по Modbus переменные следующих типов – Byte (1 байт), Word (2 байта), DWord (4 байта), Real (4 байта). В контроллерах ОВЕН все Modbus переменные находятся в одном сегменте памяти, доступ к которой осуществляется с помощью следующих функций:

0x01 – чтение битов, 0x05 – запись бита, регион Coils.

0x03 – чтение регистров, 0x10 – запись регистров, регион Holding Registers.

Память контроллера можно представить в виде следующей таблицы:

Адрес контроллера

Адрес Modbus бита (регион Coils)

Адрес Modbus регистра (регион Holding Registers)

0x0000

0

1

2

3

4

5

6

7

0x0000

0x0001

8

9

10

11

12

13

14

15

0x0002

16

17

18

19

20

21

22

23

0x0001

0x0003

24

25

26

27

28

29

30

31

0x0004

32

33

34

35

36

37

38

39

0x0002

0x0005

40

41

42

43

44

45

46

47

0x0006

48

49

50

51

52

53

54

55

0x0003

0x0007

56

57

58

59

60

61

62

63

Таким образом, к байтам памяти контроллера обращаться через регион Holding Registers, или обратится через конкретный бит – используя регион Coils.

Кроме того, при добавлении переменных используется выравнивание области памяти. Выравнивание можно описать следующими правилами:

1-байтовая переменная (Byte) может располагаться в любом адресе памяти контроллера;

2-байтовая переменная (Word) может располагаться только в четных адресах памяти контроллера;

4-байтовая переменная (DWord и Real) может располагаться только адресах памяти кратных четырем.

Таким образом возможна ситуация, когда отдельные адреса памяти контроллера не будут использоваться.

Подробнее про выравнивание памяти можно прочитать в специальной документации компании ОВЕН. Кроме того, далее, мы разберем несколько примеров добавления различных типов переменных.