I'm using script into IMC102T.
I use a global variable which is read via serial communication.
This variable is refreshed in Task1 via many line into the script code.
So I place it under EnableCoherentUpdate /DoCoherentUpdate section.
This seems work when the the Task1 Number of instruction is < #SET SCRIPT_TASK1_EXECUTION_STEP .
Since I configure #SET SCRIPT_TASK1_EXECUTION_STEP < Task1 Number of instruction, this coherent update seems not work because some time, some bits are not yet refreshed and pass to 0 value without any reason.
I try the following code where I force bit 0x2000 to be set... but sometime, I read this bit to 0...
It seems the coherent update is also flush RAM to Variable on each slice of execution of task1 ???
Modbus_Status is a global variable..
Task 1 Number of instruction: 103
#SET SCRIPT_TASK1_EXECUTION_PERIOD (40)
/*Defines number of lines to be executed every 10ms in Task1*/
#SET SCRIPT_TASK1_EXECUTION_STEP (10)
[.... Some code here ....]
/* Motor Speed Status */
if ( SwFaults == 0)
Modbus_Status = (abs_MotorSpeed / 60);
Modbus_Status = 0x8000; /* Motor fault Bit 15 */
/* ----- Bit 9 : Start/Stop -------*/
if (FSM_State == FSM_ON)
Modbus_Status = Modbus_Status | 0x0200;
/* ------ Bit 10 : Direction -------*/
Modbus_Status = Modbus_Status | CurrentDirection;
/* ------ Bit 11 : RBrake over load capacity -------*/
if (VDCBus_RBrakeState == VDCBUS_RBRAKE_STATE_FAULT)
Modbus_Status = Modbus_Status | 0x0800;
/* ------ Bit 12 : Temp Motor error -------*/
if (GPIO7_IN == MOTOR_TEMPERATURE_NOK)
Modbus_Status = Modbus_Status | 0x1000;
/* ------ Bit 13 : E9 24V (input Enable) -------*/
// commented for test if (GPIO15_IN == E24V_OK)
Modbus_Status = Modbus_Status | 0x2000;
/* ------ Bit 14 : PFC error -------*/
if (PFC_SwFaults > 0)
Modbus_Status = Modbus_Status | 0x4000;
I'm using the IMC102T.
I configured to detect the AC under Voltage (180V)
According the user manual, §22.214.171.124, it is say that in case of under or over votlage, the PFC goes to Fault State.
THis is the case.
But when voltage return back over 180V, the fault is acknowledged and the PFC state leaves FAULT to STOP.. Anf the PFC_FaultFlag return to 0!
The UM indicate we must make PFC_FaultClear.
I think the need of clear ourself the fault is a correct behavior.
CUrrently, if a brief under voltage occurs, the PFC goes to fault, then to stop without any means to know what append!
PLease could you check that?
This is example Uart Command for IMC101-102T
Example Uart Command for IMC101-102T
1- What is inconsistent with the current version of RM is that starting the motor through the serial port not only requires writing targetspeed, but also setting the command register to 1, and setting the command register to 0 for shutdown (in the current version of the manual, it is stated that targetspeed is not zero to start and set to zero. If it stops), the actual situation, the zero setting will work in minspd.
2- The Wizard sets UART1 for users by default, and UART0 is used for MCEDesigner communication, and both can be carried out at the same time. If you change the wizard question 2 and the User Uart Function definition is UART0, then MCEDesigner cannot be connected and can only be controlled by sending serial commands through UART0.
3- The command is sent in hex format, the return packet is displayed in hex format, and the baud rate is set according to the wizard setting value.
Common fixed instructions
Command set to 1
01 06 01 78 01 00 FD 81
Command is set to 0
01 06 01 78 00 00 FE 81
01 01 00 00 00 00 ff fe
01 00 00 00 00 00 ff ff
Using the IMD111 eval board, my motor runs fine when I load the default parameter file and default firmware file into the part.
However, if I then go back to MCE Wizard, create a new System Configuration file for my part and motor, or just use all the default settings in the configuration, I always get the GATEKILL message on the bottom Motor Status Fault as soon as I have re-programmed the IMD111.
It seems the default parameter file and the "create new system configuration file' are not the same. How can I figure out how to get rid of this GATEKILL message?
Thank you!Show Less
I need to get in touch with someone able to identify and solve a problem occurred to an italian distribuiton MM customer with IMC301 and the MultiCAN+ trying to connect to the can bus to exchange messages.
Let me know if I can share this community with distributor, so that I'll keep you in touch with disti FAE following this customer.Show Less
I am testing the drive and control of our own IPM motor using the evaluation board (EVAL-M1-IM828A) and control board (EVAL-M1-101T, IC used: IMC101T) to evaluate the IPM of IM828-XCC.
The goal of the test is to investigate the heat generation of the IM828 when the IPM motor is driven at the rated torque and rated speed.
Therefore, a load equivalent to the rated torque of the motor is connected to the load side, and "speed control" of the rated speed (3000 rpm) is performed on the evaluation board side.
First, we drove the IPM motor at the rated torque of 2000 rpm and confirmed that it continued to operate without any problems.
However, when we increased the speed, the following problems became apparent.
When we set the motor speed to 2500 rpm, the control diverged, causing the motor to stall and generate abnormal noise.
In order to determine the cause of the problem, we conducted a similar test using the same motor with our own inverter that we have used in the past.
We think the problem lies in the sensorless control settings or the control board (EVAL-M1-101T).
Also, when we changed from "speed control" to "current control" and adjusted to the same conditions (rated torque/2500 rpm), we confirmed that the control still diverged when the speevd exceeded 2500 rpm.
Please advise me which parameter is affecting the problem.