Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 13

Тема: ФБ MB_WR_COILS библиотеки ModBus.lib

  1. #1
    Пользователь Аватар для mummy117
    Регистрация
    16.05.2015
    Адрес
    Харьков
    Сообщений
    31

    По умолчанию ФБ MB_WR_COILS библиотеки ModBus.lib

    Добрый день. Не получаеться записать биты с помощью ФБ MB_WR_COILS.
    Есть панель ИП320, в ней создаю 12 индикаторов с адресами 0-11.
    Есть ПЛК63. В КДС пишу программу для передачи в панель битов.
    ФБ MB_WR_SNG_COIL (передача одного бита) работает, а MB_WR_SNG_COIL нет.
    Вот то что у меня в коде:

    VAR
    send_coil_s:MB_WR_COILS;
    Buffer_yat: ARRAY[0..255] OF BYTE;
    END_VAR

    3:
    Buffer_yat[0] :=1;
    Buffer_yat[1] :=0;
    Buffer_yat[2] :=1;
    Buffer_yat[3] :=0;
    Buffer_yat[4] :=1;
    Buffer_yat[5] :=0;
    Buffer_yat[6] :=1;
    Buffer_yat[7] :=0;

    send_coil_s(
    Enable:=enabl,
    Mode:=MB_RTU,
    DevAddr:=1,
    FirstAddr:=0,
    Quantity:=12,
    ComHandle:=Settings.Port,
    Complete=>cmpl ,
    Buffer:=BOOL_TO_BYTE(Buffer_yat), вот тут ругаеться, не знаю как загнать в байтовый масив биты.
    пробывал Buffer:=Buffer_yat - не работает. записывает тлько первый бит.
    TimeOut:=TimeOut);

    IF cmpl THEN
    master1:=4;
    END_IF

  2. #2
    Пользователь Аватар для mummy117
    Регистрация
    16.05.2015
    Адрес
    Харьков
    Сообщений
    31

    По умолчанию

    Не хочет.
    BYTE ARRAY.png
    Даже если все таки Buffer_yat:ARRAY[0..255]OF BYTE;
    ARR.jpg

  3. #3
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,246

    По умолчанию

    а может имеет смысл доки прочесть, вдруг указатель на массив надо подавать
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  4. #4
    Пользователь Аватар для mummy117
    Регистрация
    16.05.2015
    Адрес
    Харьков
    Сообщений
    31

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    а может имеет смысл доки прочесть, вдруг указатель на массив надо подавать
    Вы умеете отвечать загадками......

  5. #5
    Пользователь Аватар для mummy117
    Регистрация
    16.05.2015
    Адрес
    Харьков
    Сообщений
    31

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    а может имеет смысл доки прочесть, вдруг указатель на массив надо подавать
    Уважаемый capzap Вы это имели ввиду?

    Buffer: ARRAY[0..255] OF BYTE;

    f2:REAL:=12.7;
    ptr_f2:POINTER TO BYTE;

    ptr_f2:=ADR(f2);
    buffer[5] := ptr_f2^;
    ptr_f2:=ptr_f2+1;
    buffer[4] := ptr_f2^;
    ptr_f2:=ptr_f2+1;
    buffer[7] := ptr_f2^;
    ptr_f2:=ptr_f2+1;
    buffer[6] := ptr_f2^;

  6. #6
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,246

    По умолчанию

    нет, я имелл ввиду аргумент функции buffer
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  7. #7
    Пользователь Аватар для mummy117
    Регистрация
    16.05.2015
    Адрес
    Харьков
    Сообщений
    31

    По умолчанию

    Все таки, подскажите хоть кто-нибудь, как записать несколько бит с помощью ФБ MB_WR_COILS.

  8. #8
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,246

    По умолчанию

    попробуйте такой пример битов у меня используется много, а передаю не битовой функцией http://www.owen.ru/forum/showthread....l=1#post143448
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  9. #9
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,841

    По умолчанию

    Цитата Сообщение от mummy117 Посмотреть сообщение
    Все таки, подскажите хоть кто-нибудь, как записать несколько бит с помощью ФБ MB_WR_COILS.
    VAR
    send_coil_s:MB_WR_COILS;
    Buffer_yat: ARRAY[0..255] OF BYTE;
    END_VAR

    3:
    Buffer_yat[0].0 :=1;
    Buffer_yat[0].1 :=0;
    Buffer_yat[0].2 :=1;
    Buffer_yat[0].3 :=0;
    Buffer_yat[0].4 :=1;
    Buffer_yat[0].5 :=0;
    Buffer_yat[0].6 :=1;
    Buffer_yat[0].7 :=0;



    send_coil_s(
    Enable:=enabl,
    Mode:=MB_RTU,
    DevAddr:=1,
    FirstAddr:=0,
    Quantity:=12,
    ComHandle:=Settings.Port,
    Complete=>cmpl,
    Buffer:=Buffer_yat,
    TimeOut:=TimeOut);


    IF cmpl THEN
    master1:=4;
    END_IF

    ЗЫ. Ну или так для наглядности
    Buffer_yat[0]:=PACK(1,0,1,0,1,0,1,0); (*Для первых восьми Coils*)
    и для последующих COILs
    Buffer_yat[1]:=PACK(1,0,1,0,1,0,1,0);
    Buffer_yat[2]:=PACK(1,0,1,0,1,0,1,0);
    и т.д до 2000 шт. Coils по 8 в каждом Buffer_yat[ххх]
    Последний раз редактировалось petera; 05.11.2015 в 15:03.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  10. #10
    Пользователь Аватар для mummy117
    Регистрация
    16.05.2015
    Адрес
    Харьков
    Сообщений
    31

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    VAR
    send_coil_s:MB_WR_COILS;
    Buffer_yat: ARRAY[0..255] OF BYTE;
    END_VAR

    3:
    Большое спасибо, так работает. Когда я создал тему, в ней вторым сообщением ответил человек, только он написал вместо:
    Buffer_yat[0].0 :=1;
    вот так
    Buffer_yat.0 :=1;.

    Я попробывал - оно не работает, отписался в теме, а он удалил свое сообщение

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. PID_FUNCTION библиотеки PID_Regulators.lib
    от nvtech в разделе ПЛК1хх
    Ответов: 24
    Последнее сообщение: 04.08.2022, 08:43
  2. Библиотеки MODBUS.LIB и OWENNET.LIB
    от desperadoes в разделе ПЛК1хх
    Ответов: 7
    Последнее сообщение: 30.01.2014, 20:15
  3. Эксплуатация библиотеки "ModBus.lib"
    от Gans в разделе ПЛК1хх
    Ответов: 8
    Последнее сообщение: 04.03.2012, 11:55
  4. Свои библиотеки CoDeSys .lib
    от Gus в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 02.03.2009, 18:18
  5. PID_Regulators.lib - какой ФБ использовать?
    от Ден в разделе ПЛК1хх
    Ответов: 0
    Последнее сообщение: 28.05.2008, 07:19

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •