А электросчетчики с чего бы медленно отвечали ? отвечают так же быстро, просто с ними возни больше на получение данных....
Валенок ну, трактовать поллинг да, может не совсем корректно, как я написал, но вот то, что timeout должен выдерживаться на ожидание тут факт, даже если опрос циклический с поллинг = 0. Устройство должно либо получить ответ, либо дождаться окончания таймаута... а тут фигня какая-то.
короче, переделал я обмен полностью на код.....
стало быстрее, за секунду опрашивает каждое устройство 3-4 раза
ну более менее, но все равно не приятный отклик на ручное управление дискретными выходами...……..
теперь новая проблема.
почему не работает моя функция?
я конечно пока пользуюсь DW_TO_REAL (DWORD_OF_BYTE(1,2,3,4)) из oscat, но хочется то свою!Код:FUNCTION b_to_r : REAL VAR_INPUT b1: BYTE; b2: BYTE; b3: BYTE; b4: BYTE; END_VAR VAR pnt: POINTER TO REAL; END_VAR pnt:=ADR(b_to_r); pnt^:=b4; pnt:=pnt+1; pnt^:=b3; pnt:=pnt+1; pnt^:=b2; pnt:=pnt+1; pnt^:=b1;
Последний раз редактировалось Валенок; 11.08.2020 в 20:34.
На выходе ? Так обратную задачу сделайте - что как дитя-то. Посмотрите 4 байта от пи. Их и пихните. Только с порядком байт разберитесь.всегда разные НО целые числа
Последний раз редактировалось Валенок; 11.08.2020 в 21:26.
из реала сделайте 4 байта.как из низ сделать риал