Показано с 1 по 10 из 17

Тема: Плк63, 485-й мастер. Открытие порта и опрос.

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Пример опроса МВ110-8AC:
    Код:
    VAR
       MB_Get : MB_RD_HOLD_REGS;
       ComService : COM_SERVICE;
       Settings : COMSETTINGS;
       ComPortState : BYTE := 0;
       ES : BOOL := TRUE;
       MBTimeOut : TIME := T#100ms; //например
       Buffer : ARRAY[0..255] OF BYTE;
    END_VAR
    
    //настраиваем и открываем порт, например так:
    IF ComPortState = 0 THEN
       Settings.Port := 0;
       Settings.dwBaudRate := 19200;
       Settings.byParity := 0;
       Settings.dwTimeout := 5;
       Settings.byStopBits := 1;
       Settings.dwBufferSize := 0;
       Settings.dwScan := 0;
    END_IF
    
    ComService(ENABLE := ComPortState = 0, SETTINGS := Settings, TASK := OPEN_TASK);
    
    IF ComService.Ready THEN
       ComPortState := 2;
    END_IF
    
    //по готовности порта "работаем" с ним
    IF ComPortState = 2 THEN
    MB_Get(
       Enable := ES,
       Mode := MB_RTU,
       DevAddr := 1, //например
       FirstAddr := 280, //для МВ110-8AC
       Quantity := 32, //"выгоднее" читать из МВ110-8AC всю пачку значений регистров сразу, вместе со статусами каналов
       ComHandle := Settings.Port,
       TimeOut := MBTimeOut,
       Buffer := Buffer);
    ES := FALSE;
    IF MB_Get.Complete THEN
       IF MB_Get.Exception = 0 THEN
       ...//разбираем Buffer
       END_IF
       ES := TRUE;
    END_IF
    Для работы нужны Modbus.lib, ComService.lib, SysLibCom.lib. Буфер, надеюсь, сами сможете разобрать.
    Последний раз редактировалось Spawn; 14.04.2022 в 01:10.

  2. #2

    По умолчанию

    Я, за сегодня, чему только не научился. Третью ночь не сплю. И с массивами разобрался и с тем, как их выдергивать... На данный момент есть только одна проблема - хз как работает опрос. И я не могу сообразить что с этим делать. То есть у меня банально из ФБ опроса по модбасу только изредка выходит "тру" на статусе. В те моменты когда это проскакивает, я в переменной вижу свои заветные циферки, которые мне и нужны. Я вроде добрый кусок форума перерыл, в том числе нашел топик, где достопочтимый Валенок рассказывает про пьяных реализаторов Овена. Но это не связанно с моей проблемой. Я пятой точкой чую что загвоздка где-то в другом, возможно в проверке успешности опроса блока модбаса, но пробовал реализовать его как смог в CFC, ситуацию это не поменяло. Грешил бы на связь - так с ПЛК100 все без проблем с той же конфигурацией. Игрался с таймингом на входе блока опроса - при ноле и рядом - вообще выдает хз что, при 30 и выше ситуация которую описываю. При 150 и выше ничего не меняется, кроме чатсоты появления "успешного" опроса. Вот я в конечном итоге и не пойму, почему блок опроса работает не стабильно.

    ЗЫ: А откуда адрес 280? Это же статус вроде?
    Вложения Вложения

Похожие темы

  1. Ответов: 11
    Последнее сообщение: 23.08.2021, 10:20
  2. Ответов: 27
    Последнее сообщение: 10.09.2020, 10:33
  3. ПЛК63 опрос аналоговых входов
    от nevii в разделе ПЛК63/73
    Ответов: 3
    Последнее сообщение: 14.04.2018, 11:18
  4. плк63(мастер)+мва8+сп270
    от AVit в разделе ПЛК63/73
    Ответов: 15
    Последнее сообщение: 15.09.2011, 11:32
  5. МСД-100 + ПЛК63(мастер)/OwenPoolMaster
    от pt200 в разделе ПЛК63/73
    Ответов: 7
    Последнее сообщение: 28.09.2010, 11:48

Метки этой темы

Ваши права

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