- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi@ Krupashankar
I am Trying To Communicate with IMC101T-T038 by RX1 & TX1. Communication has Establish but Data is not as per Imotion Software reference manual. Motor Speed Should Received in Data word1? All Other command of Status code will Reply in same manner.
Other Command 1,2,3 will not get any Data. What I am doing wrong!
Data Sent Data Received
Node_adress infin = 0x01 1
Command infin = 0x00 80
data_world0_Lowb infin = 0x00 0
data_word0_Highb infin = 0x01 1
data_word1_Lowb infin = 0x00 0
data_word1_Highb infin = 0x00 0
check_sum_low infin = 0xFF FF
check_sum_High infin = 0xFE 7E
Thanks
Solved! Go to Solution.
- Tags:
- Krupashankar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @sohail,
Please refer to section 2.3.6 Checksum in document iMOTION – MCE – Software Reference Manual v1.3
First Step : 0x0501 + 0x7D01 + 0x0000 = 0x8202
Second Step: 2's Complement ( 0x8202) = 0x7DFE
Please let us know if any further details is required
Thanks,
Krupashankar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @sohail,
Possible cause of communication error:
-
This problem could be due to weak drive signal strength. Please use the RS232 line driver and receiver for UART communication.
-
Ques- 21 User UART Tx Delay Time is not 0. Please set User UART Tx Delay Time to Zero.
- Baud rate mismatch. Please ensure the same baud rate in transmitter and receiver.
Can you please try sending this command and let us know the reply:
Register_Read[] = { 0x01, 0x05, 0x01, 0x7D, 0x00, 0x00, 0xFE, 0x7D};
Register_Read :
0x01- Node address
0x05- Read Register
0x01 - App ID
0x7D- Register ID (125-MotorSpeed)
0x0000- Default
0x7DFE - Checksum ( -1 * ( 0x0301 + 0x0000 + ox 0101))
This command returns the value from register 125-MotorSpeed.
Can you please share the Configuration(.mc2) file, Schematics, and operating voltage of ESP32. This will help us to understand the issue.
Thanks,
Krupashankar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When I Transfer Register_Read[] = { 0x01, 0x05, 0x01, 0x7D, 0x00, 0x00, 0xFE, 0x7D};
I Received this Data.
0 data has Received=1
1 data has Received=85
2 data has Received=1
3 data has Received=7D
4 data has Received=36
5 data has Received=0
6 data has Received=C8
7 data has Received=FD
I think Problem is in calculation of Checksum Formula. As per your data
my understanding of formula
1st step = (ox0501+ox017D+ox0000) =067E
2nd step (FFFF- 067E)+1 = F982 is check sum
but you're check sum is 0xFE, 0x7D.
Kindly Explain what step I am doing wrong.
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @sohail,
Please refer to section 2.3.6 Checksum in document iMOTION – MCE – Software Reference Manual v1.3
First Step : 0x0501 + 0x7D01 + 0x0000 = 0x8202
Second Step: 2's Complement ( 0x8202) = 0x7DFE
Please let us know if any further details is required
Thanks,
Krupashankar