Функция SysComRead возвращает количество байт прочитанных в буфер RS,
т.е. можно вызвать SysComRead() с размером буфера в 255 байт и получить реальное количество байт
Функция SysComRead возвращает количество байт прочитанных в буфер RS,
т.е. можно вызвать SysComRead() с размером буфера в 255 байт и получить реальное количество байт
Часто задаваемые вопросы по кодесис
1) Почему программа не работает - Следует выполнить "Онлайн ->Старт"
2) Где скачать CoDeSys, таргеты, прошивки, библиотеки - http://www.owen.ru/catalog/codesys_v3/opisanie
Щас попробую. Просто Филоненко Владислав здесь советует читать по одному байту.
заменил цикл repeat
sost:=SysComRead(Open_Com.com_num,ADR(mas1[1]),255,0);
стало только хуже. Опять ПЛК стал зависать
читать по одному байту надо всегда. вы не можете ожидать всю пачку. может быть больше или меньше. читать по одному, анализировать и складывать.
Ну вот я читаю по одному. В результате в 75% случаях теряется первый байт, иногда (но уже реже) теряются два байта. Есть какие-либо варианты исправить это? уйти от этого.
Вот здесь еще нашел про паузу в 0,347 мс. По всей видимости она влияет? Я так понимаю эту паузу убрать или уменьшить нельзя?
можеть быть программно хотя бы что-нить посоветуете?
повысить скорость
Часто задаваемые вопросы по кодесис
1) Почему программа не работает - Следует выполнить "Онлайн ->Старт"
2) Где скачать CoDeSys, таргеты, прошивки, библиотеки - http://www.owen.ru/catalog/codesys_v3/opisanie
demon:
Начиная с версии xx.27 в приборе М0803 появился байтовый параметр "Задержка ответа" (0...100 мс).
Задает временной интервал задержки перед началом ответа на полученную команду или между посылками в режиме постоянной передачи.
P.S. Доступны для заказа приборы с протоколом Modbus-RTU.
Так же можно обратиться на предприятие-изготовитель для запроса обновления прошивки, чтобы обновить существующий прибор,
в том числе и изменить протокол обмена.
Последний раз редактировалось richie; 14.01.2011 в 12:43.