Показано с 1 по 5 из 5

Тема: Com port выводит размазанные данные.

  1. #1

    По умолчанию Com port выводит размазанные данные.

    Хочу получить с контроллера на пк определённую информацию, использую библиотеку syslibcom. Информацию получить удалось но она неверная. Например отсылаю (_1234567890_), а получаю (_123451234_125...). Как отдавать информацию в верном порядке?
    Код:
    PROGRAM PLC_PRG
    
    VAR
    	com_num: PORTS;							(*Номер порта*)
    	Settings: COMSETTINGS;					(*Параметры порта*)
    	COM_SERVICE1: COM_SERVICE;			(*Блок открытия и настройки порта*)
    	com_ready: BOOL;						(*Переменная, разрешающая обмены*)
    	i: INT;
    	port_open:DWORD;
    	str:STRING[255];
    	str_dword:DWORD;
    
    END_VAR
    
    (*******************************************************
    	Открываем порт RS-485
    *******************************************************)
    
    IF COM_SERVICE1.ready=FALSE THEN
    (*
    	Номер порта (com_number):
    	0 - RS-485
    	1 - RS-232
    	4 - RS-232 DEBUG
    *)
    	com_num:=0;
    (*
    	Настройки порта (com_settings):
    	byParity         - Режим проверки четности 0 = нет, 1 = нечет, 2 = чет
    	byStopBits     - Кол-во стоповых бит 0 =один, 1=полтора , 2=два
    	dwBaudRate   - Скорость обмена 4800, 9600, 19200, 38400, 57600, 115200 бит/с.
    	dwBufferSize   - Не используется должно быть =0
    	dwScan          - Не используется должно быть =0
    	dwTimeout      - Не используется должно быть =0
    	Port                - Номер порта в формате перечисления PORTS (com_number)		
    *)
    	Settings.Port:=com_num;
    	Settings.dwBaudRate:=115200;
    	Settings.byParity:=2;
    	Settings.dwTimeout:=0;
    	Settings.byStopBits:=0;
    	Settings.dwBufferSize:=0;
    	Settings.dwScan:=0;
    (*
    	Настройка и открытие порта (COM_SERVICE)
    	Пока на выходе Ready не будет сигнал TRUE, стучимся в порт
    	Порт открывается с настройками, указанными в com_settings, 
    	а на вход Task подаются следующие значения:
    	
    	0 - Открытие и настройка порта в соответствии с настройками в структуре Settings
    	1 - Изменение настроек уже открытого порта на настройки указанные в Settings
    	2 - Закрытие порта, номер порта берется из Settings.Port																
    *)
    	COM_SERVICE1(Enable:=TRUE , Settings:=Settings , Task:=OPEN_TSK  );
    	com_ready:=FALSE;
    ELSE
    	COM_SERVICE1.Enable:=FALSE;
    	com_ready:=TRUE;
    END_IF
    
    
    IF com_ready=TRUE THEN
    	(*Порт открыт и инициализирован, теперь можно работать с портом*)
    	i:=i+1;
    	str:='_1234567890_';
    	str_dword:=SysComWrite(com_num,ADR(str), LEN(str), 0 );
    END_IF

  2. #2

    По умолчанию

    А как сделать одну отправку? Я с этим ещё не разобрался...

  3. #3

    По умолчанию

    Мне удалось сделать одну отправку, и я настроил порт на пк чтобы данные принимались корректно и вроде сработало. Но меня настораживает что когда принимаю пакет непрерывно то первые несколько десятков принятых пакетов правильные, а потом снова идут некорректные, это нормально? Не будет потом сбоев в работе на обьекте? Буфер который будет оправляться, в контроллере будет чиститься и заполняться заново после загрузки его на пк.

  4. #4

    По умолчанию

    По команде от пк который будет принимать буфер. Буфер скачается, будет возможно проверка и если всё в порядке буфер в контроллере сравняется нулю и заново заполнение буфера.

  5. #5

    По умолчанию

    По команде с пк: Контроллер подключён к компьютеру и общаются они с помощью последовательного порта rs-485. Через командную строку cmd я либо читаю данные с контроллера либо посылаю данные на контроллер.
    Сравняется нулю: Если скачанный буфер на компьютере будет такой же как на контроллере то буфер в контроллере очищается и заполняется заново.
    Что если не всё в порядке: если скачанный буфер будет равен буферу на контроллере.
    Извиняюсь за не внятное выражение.

Похожие темы

  1. Modbus Master Com Port
    от vijavi в разделе СПК1хх
    Ответов: 2
    Последнее сообщение: 22.08.2016, 08:05
  2. СПК 107 выводит на экран не те показания
    от Семен Корайкин в разделе СПК1хх
    Ответов: 0
    Последнее сообщение: 06.06.2016, 18:30
  3. Ответов: 5
    Последнее сообщение: 29.02.2016, 14:53
  4. N port 5130 на ПЛК 100
    от ksn33 в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 27.12.2014, 08:42
  5. Проблема с ПЛК-154, Debug port
    от Andy в разделе ПЛК1хх
    Ответов: 13
    Последнее сообщение: 04.09.2008, 18:31

Ваши права

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