Просмотр полной версии : протокол тензо м syslibcom
Здравствуйте всем для обмена данными с весовым прибором тензо м использовал библиотеку syslibcom.
Данные правильно отправляет но не правильно читает в массив otvet
byte_wryte:=SysComWrite(port_number, command, len_command, 5);
byte_read:=SysComRead(port_number, ADR(buf_otvet), 8, 0);
IF byte_read>0 THEN
FOR i:=0 TO byte_read DO
otvet[i]:=buf_otvet[i];
END_FOR
END_IF
Обычно на клавиатурах ставят клавиши Print Screen (PrtSc). Нажимаете её, потом открываете Paint, нажимаете Ctrl+V, далее при желании обрезаете до нужного размера, и сохраняете в формате PNG или JPG. После этих действий картинки, вставленные в пост, смотрятся гораздо лучше, чем фото экрана, сделанное на тапочек.
если за основу брался первый пример из этого раздела https://owen.ru/forum/showthread.php?t=13585
то не стоит игнорировать использование кейсов, в каждом цикле и писать и читать одновременно не получится
если за основу брался первый пример из этого раздела https://owen.ru/forum/showthread.php?t=13585
то не стоит игнорировать использование кейсов, в каждом цикле и писать и читать одновременно не получится
Спасибо вам большое,разобрался что к чему нужно было сделать задержку после запроса delay=5mc. может кому то пригодится
CASE status OF
0:
T1;
byte_read:=SysComRead(port_number, ADR(buf_otvet), 16,0);
IF byte_read>0 THEN
FOR count1:=0 TO byte_read DO
otvet[count1]:=buf_otvet[count1+1];
END_FOR
END_IF
IF(T1.Q=TRUE AND T1.IN=TRUE )THEN
T1(IN:=FALSE, PT:=T#0s );
pr_byte:=otvet[2];
ves:=BCD_TO_INT(pr_byte);
CRC_R:=0;n:=0;
FOR n:=0 TO 6 DO
CRC_R:= Pre_CRC(otvet[n], CRC_R);
END_FOR
Resp_OK:= BYTE_TO_BOOL(SEL(CRC_R <> 0,1,0 ));
rez:=rez;
ready:=TRUE;
t_zapr(IN:=TRUE, PT:=t#100ms );
status:=2;
END_IF
1:
l:=0;
count1:=0;
byte_wryte:=SysComWrite(port_number, command, len_command,0);
IF byte_wryte=len_command THEN
T1(IN:=TRUE, PT:=delay );
ready:=FALSE;
END_IF;
status:=0;
2:
t_zapr;
IF t_zapr.Q=TRUE AND t_zapr.IN=TRUE THEN
status:=1;
t_zapr(IN:=FALSE, PT:=T#0s );
END_IF
END_CASE;
END_IF
этот код не то что не предлагать другим, его показывать не надо, кто же запускает таймеры внутри условия, которое срабатывает обычно раз в цикл
этот код не то что не предлагать другим, его показывать не надо, кто же запускает таймеры внутри условия, которое срабатывает обычно раз в цикл
Вообще то пример с запуском таймера внутри условия взять с сайта овен,где приводится пример SysLibCom
Сергей_оскол
25.12.2023, 21:41
Вообще то пример с запуском таймера внутри условия взять с сайта овен, где приводится пример SysLibCom
Здраствуйте, а не могли бы в личку скинуть свой проект ,что вы сделали общаясь с весовыми терминалами тензо-м
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot