Я совсем начинающий в этой сфере.
Взялся управлять частотником по Modbus из Twido.
Аппарат : TWDLCAE40DRF
Частотник: Altivar 312
связь: modbus RTU
Инструкцию по програамированию Twido осилил, как настривать частотник тоже вроде понял.
Имеем:
Частотник настроен, через modbus poll команды идут и получается частотником стартонуть двигатель.
В Twido попробовал через EXCH нет отклика, решил попрбовать с макросами.
С использованием макросов получается следующие:
Первая запись идет, за ней чтение тоже проходит
Следующая запись молчок. Пробовал ставить таймер(%TM0 1 ms) - результата ноль.
Подскажите, где я что-то не учел при программировании.
Буду признателен.
Спасибо.
Код тестовой программы
Цитата
SECTION 0
(*SECTTITLE:*)
(*SECTCOMMENT:*)
(* RESET THE COMMUNICATION ON THE FIRST SCAN *)
BLK %MSG2
LD %S13
R
END_BLK
(* Симофор *)
LD %S13
S %M0
R %M1
(* Altivar clear error*)
LD %M0
AND %MSG2.D
[ %MW23 := 8501 ]
[ %MW26 := 16#0080 ]
[ C_WRNW 0 1 ]
R %M0
S %M1
SECTION 0
(*SECTTITLE:*)
(*SECTCOMMENT:*)
(* C_RDNW - Чтение ETA)
LD %M1
AND %MSG2.D
[ %MW3 := 3201 ]
[ C_RDNW 0 1 ]
[ %MW200 := %MW7 ]
R %M1
S %M0
(* Write ACC *)
LD %M0
AND %MSG2.D
[ %MW23 := 9001 ]
[ %MW26 := 16#0025 ]
[ C_WRNW 0 1 ]
R %M0
S %M1
(* READ ACC *)
LD %M1
AND %MSG2.D
[ %MW3 := 9001 ]
[ C_RDNW 0 1 ]
[ %MW201 := %MW7 ]
R %M1
S %M0
(*SECTTITLE:*)
(*SECTCOMMENT:*)
(* RESET THE COMMUNICATION ON THE FIRST SCAN *)
BLK %MSG2
LD %S13
R
END_BLK
(* Симофор *)
LD %S13
S %M0
R %M1
(* Altivar clear error*)
LD %M0
AND %MSG2.D
[ %MW23 := 8501 ]
[ %MW26 := 16#0080 ]
[ C_WRNW 0 1 ]
R %M0
S %M1
SECTION 0
(*SECTTITLE:*)
(*SECTCOMMENT:*)
(* C_RDNW - Чтение ETA)
LD %M1
AND %MSG2.D
[ %MW3 := 3201 ]
[ C_RDNW 0 1 ]
[ %MW200 := %MW7 ]
R %M1
S %M0
(* Write ACC *)
LD %M0
AND %MSG2.D
[ %MW23 := 9001 ]
[ %MW26 := 16#0025 ]
[ C_WRNW 0 1 ]
R %M0
S %M1
(* READ ACC *)
LD %M1
AND %MSG2.D
[ %MW3 := 9001 ]
[ C_RDNW 0 1 ]
[ %MW201 := %MW7 ]
R %M1
S %M0