Просмотр полной версии : Подскажите где ошибка в использовании библиотеки Modbus
a_gricaj
23.12.2016, 19:40
Здравствуйте, решил попробовать на СПК107 библиотеку Modbus для опроса модулей по документу:http://ftp.owen.ru/index.html/CoDeSys3/11_Documentation/01_SPK/SPK_Modbus_v.1.0.pdf
Но в разделе описания ФБ появляется ошибка:
28331
А библиотека вроде установлена:
28332
Подскажите где туплю, заранее СПС.
Евгений Кислов
23.12.2016, 20:57
Попробуйте так:
Settings_COM2: ComSerice.SysCom.COM_SETTINGS;
a_gricaj
23.12.2016, 22:04
Попробуйте так:
Settings_COM2: ComSerice.SysCom.COM_SETTINGS;
все ок, спс, но не понял этого прикола, почему тогда в методичке не так?????
Евгений Кислов
23.12.2016, 23:41
Опечатка. Поправим при ревизии.
a_gricaj
26.12.2016, 01:15
Опечатка. Поправим при ревизии.
СПС, а еще тут не подскажите где косячу, тот же документ (стр.119) вроде все сделал как в документе но значение реал не верно:
28351
28350
Код:
/ [1] настраиваем COM-порт
SettingsCOM2.sPort:=2;
SettingsCOM2.byStopBits:=1;
SettingsCOM2.byParity:=0;
SettingsCOM2.ulBaudrate:=9600;
SettingsCOM2.ulTimeout:=0;
SettingsCOM2.ulBufferSize:=0;
SettingsEXCOM2.byByteSize:=8;
// [2] открываем COM-порт
ComServiceCOM2(
Enable:=TRUE,
Settings:=SettingsCOM2,
Sets_Ex:=SettingsEXCOM2,
Task:=OPEN_TSK);
//ОПРОС
IF ComServiceCOM2.Ready THEN
CASE Step OF
0: IF MV110_8ABoks1 THEN Step:=1; ELSE Step:=2;END_IF
1: Enable:=TRUE;
MV110_8aAdr5(
Enable:= Enable,
Mode:= MB_RTU,
DevAddr:= 5,
FirstAddr:= 2,
Quantity:= 4,
ComHandle:= ComServiceCOM2.Handle,
TimeOut:= TimeOut,
Buffer:= Buffer,
Complete=> Complete,
Exception=> ErrorMV110_8aAdr5,
ByteCnt=> DataSize);
IF Complete (*если установлен признак завершения операции, то *)
THEN
IF ErrorMV110_8aAdr5=0
THEN
_2WORD_TO_REAL.Bytes[3]:=Buffer[8];
_2WORD_TO_REAL.Bytes[2]:=Buffer[9];
_2WORD_TO_REAL.Bytes[1]:=Buffer[10];
_2WORD_TO_REAL.Bytes[0]:=Buffer[11];
real1:=_2WORD_TO_REAL.Real_Value;
END_IF
IF ErrorMV110_8aAdr5<>0 AND AlarmMV110_8aAdr5=FALSE THEN AmountMV110_8aAdr5:=AmountMV110_8aAdr5+1; ELSE AmountMV110_8aAdr5:=0;END_IF
IF AmountMV110_8aAdr5>SetAmount THEN AlarmMV110_8aAdr5:=TRUE;END_IF
Enable:=FALSE;
Step:=2; (*переходим к выполнению следующего ФБ*)
END_IF
2: Step:=0;
Конфигуратором подключался к модулю - сигнал от датчика есть...
a_gricaj
26.12.2016, 02:09
Разобрался, подскажите за какое время опросится модуль МВ110-8a(все 8 входов) на скорости 9600?? У меня долго - 4-5сек - меняется значение...., правда это датчик температуры...
Евгений Кислов
26.12.2016, 09:39
Разобрался, подскажите за какое время опросится модуль МВ110-8a(все 8 входов) на скорости 9600?? У меня долго - 4-5сек - меняется значение...., правда это датчик температуры...
См. РЭ на модуль, страницы 7-8.
a_gricaj
26.12.2016, 12:13
См. РЭ на модуль, страницы 7-8.
спс, получается 5 сек это нормально...
Спорягин Кирилл
26.12.2016, 12:16
спс, получается 5 сек это нормально...
От того чем опрашивать (ПЛК или СПК) не важно: http://www.owen.ru/forum/showthread.php?t=25519
Другое дело, что сам модуль МВ110-8А обновляет свои данные медленно.
a_gricaj
27.12.2016, 13:36
От того чем опрашивать (ПЛК или СПК) не важно: http://www.owen.ru/forum/showthread.php?t=25519
Другое дело, что сам модуль МВ110-8А обновляет свои данные медленно.
СПС, еще вопрос:
подключил к СПК107 два модуля МВ110-8А и один МВ110-224.2АС
написал код:
// [1] настраиваем COM-порт
SettingsCOM2.sPort:=2;
SettingsCOM2.byStopBits:=1;
SettingsCOM2.byParity:=0;
SettingsCOM2.ulBaudrate:=9600;
SettingsCOM2.ulTimeout:=0;
SettingsCOM2.ulBufferSize:=0;
SettingsEXCOM2.byByteSize:=8;
// [2] открываем COM-порт
ComServiceCOM2(
Enable:=TRUE,
Settings:=SettingsCOM2,
Sets_Ex:=SettingsEXCOM2,
Task:=OPEN_TSK);
//ОПРОС
IF ComServiceCOM2.Ready THEN
CASE Step OF
0: IF MV110_8ABoks1 THEN Step:=1; ELSE Step:=2;END_IF
1: Enable:=TRUE;
MV110_8aAdr5(
Enable:= Enable,
Mode:= MB_RTU,
DevAddr:= 5,
FirstAddr:= 0,
Quantity:= 47,
ComHandle:= ComServiceCOM2.Handle,
TimeOut:= TimeOut,
Buffer:= Buffer,
Complete=> Complete,
Exception=> ErrorMV110_8aAdr5,
ByteCnt=> DataSize);
IF Complete (*если установлен признак завершения операции, то *)
THEN
IF ErrorMV110_8aAdr5=0 THEN BufferDataM1AI:=Buffer;END_IF
IF ErrorMV110_8aAdr5<>0 AND AlarmMV110_8aAdr5=FALSE THEN AmountMV110_8aAdr5:=AmountMV110_8aAdr5+1; ELSE AmountMV110_8aAdr5:=0;END_IF
IF AmountMV110_8aAdr5>SetAmount THEN AlarmMV110_8aAdr5:=TRUE;END_IF
Enable:=FALSE;
Step:=2; (*переходим к выполнению следующего ФБ*)
END_IF
2: IF MV110_8ABoks2 THEN Step:=3; ELSE Step:=4;END_IF
3: Enable:=TRUE;
MV110_8aAdr6(
Enable:= Enable,
Mode:= MB_RTU,
DevAddr:= 6,
FirstAddr:= 0,
Quantity:= 47,
ComHandle:= ComServiceCOM2.Handle,
TimeOut:= TimeOut,
Buffer:= Buffer,
Complete=> Complete,
Exception=> ErrorMV110_8aAdr6,
ByteCnt=> DataSize);
IF Complete (*если установлен признак завершения операции, то *)
THEN
IF ErrorMV110_8aAdr6=0 THEN BufferDataM2AI:=Buffer;END_IF
IF ErrorMV110_8aAdr6<>0 AND AlarmMV110_8aAdr6=FALSE THEN AmountMV110_8aAdr6:=AmountMV110_8aAdr6+1; ELSE AmountMV110_8aAdr6:=0;END_IF
IF AmountMV110_8aAdr6>SetAmount THEN AlarmMV110_8aAdr6:=TRUE;END_IF
Enable:=FALSE;
Step:=4; (*переходим к выполнению следующего ФБ*)
END_IF
4: IF MV110_2AC THEN Step:=5; ELSE Step:=6;END_IF
5: Enable:=TRUE;
MV110_8acAdr7(
Enable:= Enable,
Mode:= MB_RTU,
DevAddr:= 100,
FirstAddr:= 264,
Quantity:= 6,
ComHandle:= ComServiceCOM2.Handle,
TimeOut:= TimeOut,
Buffer:= Buffer,
Complete=> Complete,
Exception=> ErrorMV110_2acAdr7,
ByteCnt=> DataSize);
IF Complete (*если установлен признак завершения операции, то *)
THEN
IF ErrorMV110_2acAdr7=0 THEN BufferDataM3AI:=Buffer;END_IF
IF ErrorMV110_2acAdr7<>0 AND AlarmMV110_2acAdr7=FALSE THEN AmountMV110_8acAdr7:=AmountMV110_8acAdr7+1; ELSE AmountMV110_8acAdr7:=0;END_IF
IF AmountMV110_8acAdr7>SetAmount THEN AlarmMV110_2acAdr7:=TRUE;END_IF
Enable:=FALSE;
Step:=6; (*переходим к выполнению следующего ФБ*)
END_IF
6: Step:=0;
Enable:=FALSE;
END_CASE
END_IF
В итоге имею ситуацию когда один МВ110-8А или два вместе МВ110-8А опрашиваются все ок, один МВ110-224.2АС - опрашивается все ок, но если к опросу МВ110-224.2АС добавить хотя бы один МВ110-8А, то МВ110-224.2АС зависает (в онлайне выдает ошибку 255 - тайм аут), и его заставить можно работать только сбросом питания. Подобная ситуация у меня была с модулем МВ110-6у (только тогда он всю сеть садил - вылечилось новой прошивкой модуля) - поможет ли новая прошивка модуля МВ110-224.2АС (сейчас 1.05), и правильно ли у меня все в коде?
Схема собрана на столе, сеть собрана витой парой (длина на более 1 м), терминальные резисторы стоят....
Евгений Кислов
27.12.2016, 13:44
Вместо Enable:=FALSE; необходимо вызывать соответствующий ФБ в стиле
MV110_8acAdr7(Enable:= FALSE, Buffer:=Buffer);
a_gricaj
27.12.2016, 14:13
Вместо Enable:=FALSE; необходимо вызывать соответствующий ФБ в стиле
MV110_8acAdr7(Enable:= FALSE, Buffer:=Buffer);
Ситуация не изменилась, модуль 2АС зависает...
IF ComServiceCOM2.Ready THEN
CASE Step OF
0: IF MV110_8ABoks1 THEN Step:=1; ELSE Step:=2;END_IF
1: Enable:=TRUE;
MV110_8aAdr5(
Enable:= Enable,
Mode:= MB_RTU,
DevAddr:= 5,
FirstAddr:= 0,
Quantity:= 47,
ComHandle:= ComServiceCOM2.Handle,
TimeOut:= TimeOut,
Buffer:= Buffer,
Complete=> Complete,
Exception=> ErrorMV110_8aAdr5,
ByteCnt=> DataSize);
IF Complete (*если установлен признак завершения операции, то *)
THEN
IF ErrorMV110_8aAdr5=0 THEN BufferDataM1AI:=Buffer;END_IF
IF ErrorMV110_8aAdr5<>0 AND AlarmMV110_8aAdr5=FALSE THEN AmountMV110_8aAdr5:=AmountMV110_8aAdr5+1; ELSE AmountMV110_8aAdr5:=0;END_IF
IF AmountMV110_8aAdr5>SetAmount THEN AlarmMV110_8aAdr5:=TRUE;END_IF
MV110_8aAdr5(Enable:= FALSE, Buffer:=Buffer);
Step:=2; (*переходим к выполнению следующего ФБ*)
END_IF
2: IF MV110_8ABoks2 THEN Step:=3; ELSE Step:=4;END_IF
3: Enable:=TRUE;
MV110_8aAdr6(
Enable:= Enable,
Mode:= MB_RTU,
DevAddr:= 6,
FirstAddr:= 0,
Quantity:= 47,
ComHandle:= ComServiceCOM2.Handle,
TimeOut:= TimeOut,
Buffer:= Buffer,
Complete=> Complete,
Exception=> ErrorMV110_8aAdr6,
ByteCnt=> DataSize);
IF Complete (*если установлен признак завершения операции, то *)
THEN
IF ErrorMV110_8aAdr6=0 THEN BufferDataM2AI:=Buffer;END_IF
IF ErrorMV110_8aAdr6<>0 AND AlarmMV110_8aAdr6=FALSE THEN AmountMV110_8aAdr6:=AmountMV110_8aAdr6+1; ELSE AmountMV110_8aAdr6:=0;END_IF
IF AmountMV110_8aAdr6>SetAmount THEN AlarmMV110_8aAdr6:=TRUE;END_IF
MV110_8aAdr6(Enable:= FALSE, Buffer:=Buffer);
Step:=4; (*переходим к выполнению следующего ФБ*)
END_IF
4: IF MV110_2AC THEN Step:=5; ELSE Step:=6;END_IF
5: Enable:=TRUE;
MV110_8acAdr7(
Enable:= Enable,
Mode:= MB_RTU,
DevAddr:= 100,
FirstAddr:= 264,
Quantity:= 6,
ComHandle:= ComServiceCOM2.Handle,
TimeOut:= TimeOut,
Buffer:= Buffer,
Complete=> Complete,
Exception=> ErrorMV110_2acAdr7,
ByteCnt=> DataSize);
IF Complete (*если установлен признак завершения операции, то *)
THEN
IF ErrorMV110_2acAdr7=0 THEN BufferDataM3AI:=Buffer;END_IF
IF ErrorMV110_2acAdr7<>0 AND AlarmMV110_2acAdr7=FALSE THEN AmountMV110_8acAdr7:=AmountMV110_8acAdr7+1; ELSE AmountMV110_8acAdr7:=0;END_IF
IF AmountMV110_8acAdr7>SetAmount THEN AlarmMV110_2acAdr7:=TRUE;END_IF
MV110_8acAdr7(Enable:= FALSE, Buffer:=Buffer);
Step:=6; (*переходим к выполнению следующего ФБ*)
END_IF
6: Step:=0;
Enable:=FALSE;
END_CASE
END_IF
я бы за кейсом что то подобное написал,
MV110_8aAdr5(Enable:=Step=0);MV110_8aAdr6(Enable:= Step=2);MV110_8acAdr7(Enable:=Step=4);а внутри MV110_8aAdr5(Enable:=MV110_8aAdr5.Enable...
a_gricaj
27.12.2016, 14:36
я бы за кейсом что то подобное написал, а внутри MV110_8aAdr5(Enable:=MV110_8aAdr5.Enable...
Не пойму, что это будет...
А тут еще и это:
28383
Да и два модуля 8А - опрашиваются одновременно, все же нормально...
Такое впечатление, что модуль 2АС читает данные которые ему не предназначены.... и зависает...
на всякий случай раздел описания:
FUNCTION_BLOCK Com2
VAR_INPUT
END_VAR
VAR_OUTPUT
END_VAR
VAR
ComServiceCOM2: COM_SERVICE;
SettingsCOM2: ComSerice.SysCom.COM_SETTINGS;
SettingsEXCOM2: ComSerice.SysCom.COM_SETTINGSex; // Cтруктура расширенных настроек порта COM3
Complete,Enable: BOOL;
TimeOut: TIME:=T#1000MS; (*таймаут*)
DataSize: WORD;
SetAmount:INT:=2;
Step: INT; // Переменные начала цикла опроса
MV110_8aAdr5,MV110_8aAdr6,MV110_8acAdr7,MV110_16Dn Adr9: MB_RD_HOLD_REGS; // ФБ опроса модуля МВ110-16Д
MU110_16R: MB_WR_REGS; // ФБ опроса модуля МУ110-16Р
Buffer: ARRAY [0..255] OF BYTE;
AmountMV110_8aAdr5,AmountMV110_8aAdr6,AmountMV110_ 8acAdr7,AmountMV110_16DnAdr9:INT;
END_VAR
a_gricaj
27.12.2016, 14:54
я бы за кейсом что то подобное написал, а внутри MV110_8aAdr5(Enable:=MV110_8aAdr5.Enable...
А понял, но у меня же все равно модуль опрашивается на соответствующем шаге, и с шага не сойдет пока Complete не станет TRUE, и одновременный опрос двух модулей исключен. Или нет???
главное ни когда наступит Complete а когда сбрасываете переменную запуска ФБ Enable. Я обычно такие вещи делаю за пределами диспетчера, либо если есть какое то условие в котором Вы выполняете какой то алгоритм, тогда надо предусмотреть и выполнение некоего алгоритма и после ELSE, чтоб работали различные варианты. А то если комплит не наступает, то как раз и получается ситуация зависания на опросе какого то модуля
a_gricaj
27.12.2016, 15:11
главное ни когда наступит Complete а когда сбрасываете переменную запуска ФБ Enable. Я обычно такие вещи делаю за пределами диспетчера, либо если есть какое то условие в котором Вы выполняете какой то алгоритм, тогда надо предусмотреть и выполнение некоего алгоритма и после ELSE, чтоб работали различные варианты. А то если комплит не наступает, то как раз и получается ситуация зависания на опросе какого то модуля
Но в моем случае Complete наступает и Step бегает 0-6-0, модуль 8А опрашивеется, а 2ас висит....
И насколько я понял Complete наступет всегда в независимости от ошибки, а только от таймаута - получается задержка его появления...
сделайте паузу между опросами
a_gricaj
27.12.2016, 15:20
сделайте паузу между опросами
Читаете мои мысли), но тогда потеря времени будет при опросе...А сколько мс порекомендуете?? И опять же, два 8А опрашиваются и все ок
начните с 4 мс и добавляйте по одной пока связь не появится. Можно еще вместо паузы записать что нибудь не существенное, потом вернутся к чтению, тоже помогает
a_gricaj
27.12.2016, 15:52
начните с 4 мс и добавляйте по одной пока связь не появится. Можно еще вместо паузы записать что нибудь не существенное, потом вернутся к чтению, тоже помогает
Добавление таймера (задержка 1 секунда) ситуацию не изменило:
IF ComServiceCOM2.Ready THEN
CASE Step OF
0: IF MV110_8ABoks1 THEN Step:=1; ELSE Step:=2;END_IF
1: TON(IN:= Step=1, PT:=T#1000MS , Q=> Enable, ET=> );
MV110_8aAdr5(
Enable:= Enable,
Mode:= MB_RTU,
DevAddr:= 5,
FirstAddr:= 0,
Quantity:= 47,
ComHandle:= ComServiceCOM2.Handle,
TimeOut:= TimeOut,
Buffer:= Buffer,
Complete=> Complete,
Exception=> ErrorMV110_8aAdr5,
ByteCnt=> DataSize);
IF Complete (*если установлен признак завершения операции, то *)
THEN
IF ErrorMV110_8aAdr5=0 THEN BufferDataM1AI:=Buffer;END_IF
IF ErrorMV110_8aAdr5<>0 AND AlarmMV110_8aAdr5=FALSE THEN AmountMV110_8aAdr5:=AmountMV110_8aAdr5+1; ELSE AmountMV110_8aAdr5:=0;END_IF
IF AmountMV110_8aAdr5>SetAmount THEN AlarmMV110_8aAdr5:=TRUE;END_IF
MV110_8aAdr5(Enable:= FALSE, Buffer:=Buffer);
TON(IN:=FALSE);
Step:=2; (*переходим к выполнению следующего ФБ*)
END_IF
2: IF MV110_8ABoks2 THEN Step:=3; ELSE Step:=4;END_IF
3: TON(IN:= Step=3, PT:=T#1000MS , Q=> Enable, ET=> );
MV110_8aAdr6(
Enable:= Enable,
Mode:= MB_RTU,
DevAddr:= 6,
FirstAddr:= 0,
Quantity:= 47,
ComHandle:= ComServiceCOM2.Handle,
TimeOut:= TimeOut,
Buffer:= Buffer,
Complete=> Complete,
Exception=> ErrorMV110_8aAdr6,
ByteCnt=> DataSize);
IF Complete (*если установлен признак завершения операции, то *)
THEN
IF ErrorMV110_8aAdr6=0 THEN BufferDataM2AI:=Buffer;END_IF
IF ErrorMV110_8aAdr6<>0 AND AlarmMV110_8aAdr6=FALSE THEN AmountMV110_8aAdr6:=AmountMV110_8aAdr6+1; ELSE AmountMV110_8aAdr6:=0;END_IF
IF AmountMV110_8aAdr6>SetAmount THEN AlarmMV110_8aAdr6:=TRUE;END_IF
MV110_8aAdr6(Enable:= FALSE, Buffer:=Buffer);
TON(IN:=FALSE);
Step:=4; (*переходим к выполнению следующего ФБ*)
END_IF
4: IF MV110_2AC THEN Step:=5; ELSE Step:=6;END_IF
5: TON(IN:= Step=5, PT:=T#1000MS , Q=> Enable, ET=> );
MV110_8acAdr7(
Enable:= Enable,
Mode:= MB_RTU,
DevAddr:= 100,
FirstAddr:= 264,
Quantity:= 6,
ComHandle:= ComServiceCOM2.Handle,
TimeOut:= TimeOut,
Buffer:= Buffer,
Complete=> Complete,
Exception=> ErrorMV110_2acAdr7,
ByteCnt=> DataSize);
IF Complete (*если установлен признак завершения операции, то *)
THEN
IF ErrorMV110_2acAdr7=0 THEN BufferDataM3AI:=Buffer;END_IF
IF ErrorMV110_2acAdr7<>0 AND AlarmMV110_2acAdr7=FALSE THEN AmountMV110_8acAdr7:=AmountMV110_8acAdr7+1; ELSE AmountMV110_8acAdr7:=0;END_IF
IF AmountMV110_8acAdr7>SetAmount THEN AlarmMV110_2acAdr7:=TRUE;END_IF
MV110_8acAdr7(Enable:= FALSE, Buffer:=Buffer);
TON(IN:=FALSE);
Step:=6; (*переходим к выполнению следующего ФБ*)
END_IF
6: Step:=0;
Enable:=FALSE;
END_CASE
END_IF
Варианты кончились....., осталась только прошивка модуля......
Евгений Кислов
27.12.2016, 15:56
Еще вариант - у модуля 2АС последняя прошивка - 1.07. Уточните у техподдержки - возможно, в ней были как раз внесены изменения в обмене по RS.
a_gricaj
27.12.2016, 16:24
Еще вариант - у модуля 2АС последняя прошивка - 1.07. Уточните у техподдержки - возможно, в ней были как раз внесены изменения в обмене по RS.
СПС, так и сделаю.
a_gricaj
28.12.2016, 02:04
К двум 8А добавлено один 6У, один 16ДН, один 16р - все опрашиваются, а 2ас в зависает подлец))), прошивка СПК результата не дала, 2 ас пока не перепрошивал на вер. 1.07...
Если конфигурация 6У+16р+16ДН+2АС - все ок - отсюда вывод 8а и 2 АС мешают друг другу...
Евгений Багаев
28.12.2016, 17:18
2 ас пока не перепрошивал на вер. 1.07...
Необходимо прошить. Взять прошивку можно здесь: http://www.owen.ru/soft/32494142
a_gricaj
28.12.2016, 20:15
Необходимо прошить. Взять прошивку можно здесь: http://www.owen.ru/soft/32494142
Быстро работаете), вчера еще не было...
a_gricaj
01.01.2017, 15:25
Прошил, 2 АС на прошивку 1.07 - модуль перестал вообще опрашиватся.... ОРС-сервером опрашивается без проблем....
Также к своей схеме добавил 8р , МДВВ и частотник ОВЕН - опрашиваются отлично.
Частотник LENZE SMD работать отказался, вроде с него слово статуса читаю и записываю слово управления, заданную частоту и команду разблокирования но работать он не хочет.
Может кто сможет подсказать:
читаю слово статуса с регистра №26 -имею "13"
слово управления пишу в регистр №1
задание частоты в регистр №40
в регистр №48 пишу "0" для разблокирования привода - но статус все равно "13"
В чем тут еще может быть проблема??
a_gricaj
10.01.2017, 23:17
Прошил, 2 АС на прошивку 1.07 - модуль перестал вообще опрашиватся.... ОРС-сервером опрашивается без проблем....
Также к своей схеме добавил 8р , МДВВ и частотник ОВЕН - опрашиваются отлично.
Частотник LENZE SMD работать отказался, вроде с него слово статуса читаю и записываю слово управления, заданную частоту и команду разблокирования но работать он не хочет.
Может кто сможет подсказать:
читаю слово статуса с регистра №26 -имею "13"
слово управления пишу в регистр №1
задание частоты в регистр №40
в регистр №48 пишу "0" для разблокирования привода - но статус все равно "13"
В чем тут еще может быть проблема??
С LENZE разобрался, но при наладке вылез прикол ПЧВ+8а с 48 регистрами (ПЧВ уходил в ручной СТОП) - пришлось делить запрос, в общем осталась проблема 2ас и наверное ноги растут тоже от 8а....(модуль вернут -попробую)
a_gricaj
20.01.2017, 18:38
Чтобы закрыть тему: 2АС заработал, отсюда вывод, что проблема с опросом проявляется при опросе 8А(48 регистров). Всем СПС.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot