added twincat plotting
This commit is contained in:
parent
1230e96c1f
commit
58bba21ef3
|
@ -65,12 +65,15 @@ void initialize_ads()
|
||||||
|
|
||||||
/* Write Config Registers */
|
/* Write Config Registers */
|
||||||
ADS1299_WREG(CONFIG1,0x94); // Set Config 1 Register
|
ADS1299_WREG(CONFIG1,0x94); // Set Config 1 Register
|
||||||
ADS1299_WREG(CONFIG2,0xC0); // Set Config 2 Register
|
//ADS1299_WREG(CONFIG2,0xC0); // Set Config 2 Register - Standard
|
||||||
|
ADS1299_WREG(CONFIG2,0xD4); // Set Config 2 Register - internal test signal, pulsed
|
||||||
|
//ADS1299_WREG(CONFIG2,0xD7); // Set Config 2 Register - internal test signal, DC
|
||||||
ADS1299_WREG(CONFIG3,0xEC); // Set Config 3 Register
|
ADS1299_WREG(CONFIG3,0xEC); // Set Config 3 Register
|
||||||
ADS1299_WREG(LOFF,0x02); // Set LOFF Register
|
ADS1299_WREG(LOFF,0x02); // Set LOFF Register
|
||||||
for(uint8_t i=CH1SET; i<=CH4SET; i++) // set up to modify the 4 channel setting registers
|
for(uint8_t i=CH1SET; i<=CH4SET; i++) // set up to modify the 4 channel setting registers
|
||||||
{
|
{
|
||||||
ADS1299.regData[i] = 0x68; // the regData array mirrors the ADS1299 register addresses
|
ADS1299.regData[i] = 0x68; // the regData array mirrors the ADS1299 register addresses
|
||||||
|
//ADS1299.regData[i] = 0x6D; // Test signal
|
||||||
}
|
}
|
||||||
ADS1299_WREGS(CH1SET,3); // write new channel settings
|
ADS1299_WREGS(CH1SET,3); // write new channel settings
|
||||||
ADS1299_WREG(BIAS_SENSP,0xFF); // Set BIAS_SENSP Register
|
ADS1299_WREG(BIAS_SENSP,0xFF); // Set BIAS_SENSP Register
|
||||||
|
|
|
@ -81,18 +81,18 @@ void enable_NVIC_IRQ(void)
|
||||||
NVIC_EnableIRQ(DMAC_0_IRQn);
|
NVIC_EnableIRQ(DMAC_0_IRQn);
|
||||||
NVIC_EnableIRQ(DMAC_1_IRQn);
|
NVIC_EnableIRQ(DMAC_1_IRQn);
|
||||||
NVIC_SetPriority(DMAC_0_IRQn, 1);
|
NVIC_SetPriority(DMAC_0_IRQn, 1);
|
||||||
NVIC_SetPriority(ADC1_0_IRQn, 3);
|
NVIC_SetPriority(ADC1_0_IRQn, 2);
|
||||||
NVIC_EnableIRQ(TCC0_0_IRQn);
|
NVIC_EnableIRQ(TCC0_0_IRQn);
|
||||||
NVIC_EnableIRQ(TCC1_0_IRQn);
|
NVIC_EnableIRQ(TCC1_0_IRQn);
|
||||||
NVIC_EnableIRQ(EIC_2_IRQn);
|
NVIC_EnableIRQ(EIC_2_IRQn);
|
||||||
NVIC_SetPriority(EIC_2_IRQn, 3);
|
//NVIC_SetPriority(EIC_2_IRQn, 3);
|
||||||
//NVIC_SetPriority(TCC0_0_IRQn, 3);
|
//NVIC_SetPriority(TCC0_0_IRQn, 3);
|
||||||
//NVIC_EnableIRQ(EIC_5_IRQn);
|
//NVIC_EnableIRQ(EIC_5_IRQn);
|
||||||
}
|
}
|
||||||
|
|
||||||
void APPLICATION_StateMachine(void)
|
void APPLICATION_StateMachine(void)
|
||||||
{
|
{
|
||||||
Motor1.timerflags.current_loop_tic = false;
|
//Motor1.timerflags.current_loop_tic = false;
|
||||||
|
|
||||||
if (applicationStatus.fault)
|
if (applicationStatus.fault)
|
||||||
{
|
{
|
||||||
|
@ -177,10 +177,11 @@ int main(void)
|
||||||
angle_sensor_init();
|
angle_sensor_init();
|
||||||
initialize_ads();
|
initialize_ads();
|
||||||
/* External IRQ Config */
|
/* External IRQ Config */
|
||||||
ext_irq_register(GPIO_PIN(ADS_DATA_RDY), ADS1299_dataReadyISR);
|
|
||||||
enable_NVIC_IRQ();
|
|
||||||
__enable_irq();
|
__enable_irq();
|
||||||
//ADS1299_START();
|
enable_NVIC_IRQ();
|
||||||
|
ext_irq_register(GPIO_PIN(ADS_DATA_RDY), ADS1299_dataReadyISR);
|
||||||
|
ADS1299_START();
|
||||||
|
|
||||||
/* Replace with your application code */
|
/* Replace with your application code */
|
||||||
while (1) {
|
while (1) {
|
||||||
|
@ -195,10 +196,10 @@ int main(void)
|
||||||
//_dma_enable_transaction(DMAC_CHANNEL_CONF_SERCOM_1_RECEIVE, false);
|
//_dma_enable_transaction(DMAC_CHANNEL_CONF_SERCOM_1_RECEIVE, false);
|
||||||
//_dma_enable_transaction(DMAC_CHANNEL_CONF_SERCOM_1_TRANSMIT, false);
|
//_dma_enable_transaction(DMAC_CHANNEL_CONF_SERCOM_1_TRANSMIT, false);
|
||||||
|
|
||||||
//int16_t* angles;
|
int16_t* angles;
|
||||||
//angles = read_angle();
|
angles = read_angle();
|
||||||
//Motor1.motor_status.abs_position = degrees(angles[0]);
|
Motor1.motor_status.abs_position = degrees(angles[0]);
|
||||||
//Motor2.motor_status.abs_position = degrees(angles[1]);
|
Motor2.motor_status.abs_position = degrees(angles[1]);
|
||||||
|
|
||||||
////field = ang_sense_read(AS_CMD_MAGNITUDE);
|
////field = ang_sense_read(AS_CMD_MAGNITUDE);
|
||||||
//*Spare1_tx = (field[0] & AS_MASK);
|
//*Spare1_tx = (field[0] & AS_MASK);
|
||||||
|
@ -210,6 +211,7 @@ int main(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Motor1.timerflags.current_loop_tic) {
|
if (Motor1.timerflags.current_loop_tic) {
|
||||||
|
Motor1.timerflags.current_loop_tic = false;
|
||||||
APPLICATION_StateMachine();
|
APPLICATION_StateMachine();
|
||||||
exec_commutation(&Motor1);
|
exec_commutation(&Motor1);
|
||||||
exec_commutation(&Motor2);
|
exec_commutation(&Motor2);
|
||||||
|
@ -217,7 +219,7 @@ int main(void)
|
||||||
|
|
||||||
if (ADS1299.data_ReadyFlag){
|
if (ADS1299.data_ReadyFlag){
|
||||||
ADS1299.data_ReadyFlag = false;
|
ADS1299.data_ReadyFlag = false;
|
||||||
//ADS1299_UPDATECHANNELDATA();
|
ADS1299_UPDATECHANNELDATA();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (run_ECAT) {ECAT_STATE_MACHINE();}
|
if (run_ECAT) {ECAT_STATE_MACHINE();}
|
||||||
|
|
|
@ -232,14 +232,14 @@ int main(void)
|
||||||
custom_logic_enable();
|
custom_logic_enable();
|
||||||
enable_NVIC_IRQ();
|
enable_NVIC_IRQ();
|
||||||
|
|
||||||
//DMAC->Channel[0].CHCTRLA.reg |= DMAC_CHCTRLA_ENABLE;
|
DMAC->Channel[0].CHCTRLA.reg |= DMAC_CHCTRLA_ENABLE;
|
||||||
//DMAC->Channel[1].CHCTRLA.reg |= DMAC_CHCTRLA_ENABLE;
|
DMAC->Channel[1].CHCTRLA.reg |= DMAC_CHCTRLA_ENABLE;
|
||||||
_dma_enable_transaction(CONF_SERCOM_1_RECEIVE_DMA_CHANNEL, false);
|
//_dma_enable_transaction(CONF_SERCOM_1_RECEIVE_DMA_CHANNEL, false);
|
||||||
_dma_enable_transaction(CONF_SERCOM_1_TRANSMIT_DMA_CHANNEL, false);
|
//_dma_enable_transaction(CONF_SERCOM_1_TRANSMIT_DMA_CHANNEL, false);
|
||||||
|
|
||||||
//as5048a_init(&SPI_3, &AS_1);
|
//as5048a_init(&SPI_3, &AS_1);
|
||||||
|
|
||||||
ORIENTATION_SENSOR_0_init();
|
//ORIENTATION_SENSOR_0_init();
|
||||||
|
|
||||||
angle_sensor_init();
|
angle_sensor_init();
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit e4bd32c5feec9d23b34b92f015dbf176bbbeafe5
|
Binary file not shown.
|
@ -5,8 +5,9 @@
|
||||||
</ImageDatas>
|
</ImageDatas>
|
||||||
<Project ProjectGUID="{627AF960-8AD6-492C-BE55-42F15976A40C}" Target64Bit="true" ShowHideConfigurations="#x106">
|
<Project ProjectGUID="{627AF960-8AD6-492C-BE55-42F15976A40C}" Target64Bit="true" ShowHideConfigurations="#x106">
|
||||||
<System>
|
<System>
|
||||||
|
<Settings DontCheckTarget="192.168.61.1.1.1"/>
|
||||||
<Tasks>
|
<Tasks>
|
||||||
<Task Id="3" Priority="20" CycleTime="100000" AmsPort="350" AdtTasks="true">
|
<Task Id="3" Priority="20" CycleTime="10000" AmsPort="350" AdtTasks="true">
|
||||||
<Name>PlcTask</Name>
|
<Name>PlcTask</Name>
|
||||||
</Task>
|
</Task>
|
||||||
</Tasks>
|
</Tasks>
|
||||||
|
@ -113,39 +114,6 @@
|
||||||
<Name>GVL_motor_data.M2_Motor_dutyCycle</Name>
|
<Name>GVL_motor_data.M2_Motor_dutyCycle</Name>
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
|
||||||
<Name>GVL_motor_data.EMG_CH1</Name>
|
|
||||||
<Comment><![CDATA[ EMG //]]></Comment>
|
|
||||||
<Type>INT</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>GVL_motor_data.EMG_CH2</Name>
|
|
||||||
<Type>INT</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>GVL_motor_data.EMG_CH3</Name>
|
|
||||||
<Type>INT</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>GVL_motor_data.EMG_CH4</Name>
|
|
||||||
<Type>INT</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>GVL_motor_data.EMG_CH5</Name>
|
|
||||||
<Type>INT</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>GVL_motor_data.EMG_CH6</Name>
|
|
||||||
<Type>INT</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>GVL_motor_data.EMG_CH7</Name>
|
|
||||||
<Type>INT</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>GVL_motor_data.EMG_CH8</Name>
|
|
||||||
<Type>INT</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
<Var>
|
||||||
<Name>GVL_motor_data.M3_Mode</Name>
|
<Name>GVL_motor_data.M3_Mode</Name>
|
||||||
<Type>BYTE</Type>
|
<Type>BYTE</Type>
|
||||||
|
@ -155,6 +123,23 @@
|
||||||
<Comment><![CDATA[ Motor 4//]]></Comment>
|
<Comment><![CDATA[ Motor 4//]]></Comment>
|
||||||
<Type>BYTE</Type>
|
<Type>BYTE</Type>
|
||||||
</Var>
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>GVL_motor_data.EMG_CH1</Name>
|
||||||
|
<Comment><![CDATA[ EMG //]]></Comment>
|
||||||
|
<Type>DINT</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>GVL_motor_data.EMG_CH2</Name>
|
||||||
|
<Type>DINT</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>GVL_motor_data.EMG_CH3</Name>
|
||||||
|
<Type>DINT</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>GVL_motor_data.EMG_CH4</Name>
|
||||||
|
<Type>DINT</Type>
|
||||||
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>GVL_motor_data.M3_Joint_rel_position</Name>
|
<Name>GVL_motor_data.M3_Joint_rel_position</Name>
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
|
@ -443,7 +428,7 @@ QSPI_rx_buffer
|
||||||
<OTCID>#x02010030</OTCID>
|
<OTCID>#x02010030</OTCID>
|
||||||
</ManualConfig>
|
</ManualConfig>
|
||||||
<Priority>20</Priority>
|
<Priority>20</Priority>
|
||||||
<CycleTime>10000000</CycleTime>
|
<CycleTime>1000000</CycleTime>
|
||||||
</Context>
|
</Context>
|
||||||
</Contexts>
|
</Contexts>
|
||||||
<TaskPouOids>
|
<TaskPouOids>
|
||||||
|
@ -453,28 +438,28 @@ QSPI_rx_buffer
|
||||||
</Project>
|
</Project>
|
||||||
</Plc>
|
</Plc>
|
||||||
<Io>
|
<Io>
|
||||||
<Device Id="2" DevType="111" DevFlags="#x0003" AmsPort="28674" AmsNetId="10.183.82.252.3.1" RemoteName="Device 2 (EtherCAT)">
|
<Device Id="2" DevType="111" DevFlags="#x0003" AmsPort="28674" AmsNetId="192.168.61.1.3.1" RemoteName="Device 2 (EtherCAT)">
|
||||||
<Name>Device 2 (EtherCAT)</Name>
|
<Name>Device 2 (EtherCAT)</Name>
|
||||||
<AddressInfo>
|
<AddressInfo>
|
||||||
<Pnp>
|
<Pnp>
|
||||||
<DeviceDesc>Ethernet (Realtek PCIe GbE Family Controller)</DeviceDesc>
|
<DeviceDesc>Ethernet (TwinCAT-Intel PCI Ethernet Adapter (Gigab</DeviceDesc>
|
||||||
<DeviceName>\DEVICE\{7A5E866B-9C27-4C9A-AB1A-3FD2FE6A43CC}</DeviceName>
|
<DeviceName>\DEVICE\{B319FB6B-ED15-445B-9318-290BECEEFA76}</DeviceName>
|
||||||
<DeviceData>b025aa33135b</DeviceData>
|
<DeviceData>4c5262a1d9ac</DeviceData>
|
||||||
</Pnp>
|
</Pnp>
|
||||||
</AddressInfo>
|
</AddressInfo>
|
||||||
<Image Id="1" AddrType="9" ImageType="3">
|
<Image Id="1" AddrType="9" ImageType="3">
|
||||||
<Name>Image</Name>
|
<Name>Image</Name>
|
||||||
</Image>
|
</Image>
|
||||||
<Box Id="2" BoxType="9099">
|
<Box Id="1" BoxType="9099">
|
||||||
<Name>Box 2 (LAN9252-2_motor_Master)</Name>
|
<Name>Box 1 (LAN9252-2_motor_Master)</Name>
|
||||||
<ImageId>1000</ImageId>
|
<ImageId>1000</ImageId>
|
||||||
<EtherCAT SlaveType="1" PdiType="#x3180" CycleMBoxPollingTime="0" VendorId="#x000004d8" ProductCode="#x00000002" RevisionNo="#x00000006" PortPhys="17" IdentificationAdo="18" MaxSlotCount="256" MaxSlotGroupCount="1" SlotPdoIncrement="1" SlotIndexIncrement="16" Type="MSRM 2_motor_Master Ethercat Slave" Desc="LAN9252-2_motor_Master" PortABoxInfo="#x00ffffff">
|
<EtherCAT SlaveType="1" PdiType="#x3180" CycleMBoxPollingTime="0" VendorId="#x000004d8" ProductCode="#x00000002" RevisionNo="#x00000007" PortPhys="17" IdentificationAdo="18" MaxSlotCount="256" MaxSlotGroupCount="1" SlotPdoIncrement="1" SlotIndexIncrement="16" Type="MSRM 2_motor_Master Ethercat Slave" Desc="LAN9252-2_motor_Master" PortABoxInfo="#x00ffffff">
|
||||||
<SyncMan>001160000400010003000000000000000000001104010000</SyncMan>
|
<SyncMan>001160000400010003000000000000000000001104010000</SyncMan>
|
||||||
<SyncMan>001880000000010004000000000000000000001800010000</SyncMan>
|
<SyncMan>001880000000010004000000000000000000001800010000</SyncMan>
|
||||||
<Fmmu>0000000000000000001100020100000001000000000000000000000000000000</Fmmu>
|
<Fmmu>0000000000000000001100020100000001000000000000000000000000000000</Fmmu>
|
||||||
<Fmmu>0000000000000000001800010100000002000000000000000000000000000000</Fmmu>
|
<Fmmu>0000000000000000001800010100000002000000000000000000000000000000</Fmmu>
|
||||||
<Pdo Name="MCU2ECAT" Index="#x1600" Flags="#x0010" SyncMan="1">
|
<Pdo Name="MCU2ECAT" Index="#x1600" Flags="#x0010" SyncMan="1">
|
||||||
<Entry Name="M1__status" Index="#x3001" Sub="#x01" Flags="#x00008020">
|
<Entry Name="M1__status" Index="#x3001" Sub="#x01">
|
||||||
<Type>BYTE</Type>
|
<Type>BYTE</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="M1__mode" Index="#x3002" Sub="#x01">
|
<Entry Name="M1__mode" Index="#x3002" Sub="#x01">
|
||||||
|
@ -541,152 +526,140 @@ QSPI_rx_buffer
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="EMG__CH1" Index="#x3017" Sub="#x01">
|
<Entry Name="EMG__CH1" Index="#x3017" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>DINT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="EMG__CH2" Index="#x3018" Sub="#x01">
|
<Entry Name="EMG__CH2" Index="#x3018" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>DINT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="EMG__CH3" Index="#x3019" Sub="#x01">
|
<Entry Name="EMG__CH3" Index="#x3019" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>DINT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="EMG__CH4" Index="#x301a" Sub="#x01">
|
<Entry Name="EMG__CH4" Index="#x301a" Sub="#x01">
|
||||||
|
<Type>DINT</Type>
|
||||||
|
</Entry>
|
||||||
|
<Entry Name="SPARE__1_TX" Index="#x301b" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="EMG__CH5" Index="#x301b" Sub="#x01">
|
<Entry Name="SPARE__2_TX" Index="#x301c" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="EMG__CH6" Index="#x301c" Sub="#x01">
|
<Entry Name="SPARE__3_TX" Index="#x301d" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="EMG__CH7" Index="#x301d" Sub="#x01">
|
<Entry Name="SPARE__4_TX" Index="#x301e" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="EMG__CH8" Index="#x301e" Sub="#x01">
|
<Entry Name="M3__status" Index="#x301f" Sub="#x01">
|
||||||
<Type>INT</Type>
|
|
||||||
</Entry>
|
|
||||||
<Entry Name="SPARE__1_TX" Index="#x301f" Sub="#x01">
|
|
||||||
<Type>INT</Type>
|
|
||||||
</Entry>
|
|
||||||
<Entry Name="SPARE__2_TX" Index="#x3020" Sub="#x01">
|
|
||||||
<Type>INT</Type>
|
|
||||||
</Entry>
|
|
||||||
<Entry Name="SPARE__3_TX" Index="#x3021" Sub="#x01">
|
|
||||||
<Type>INT</Type>
|
|
||||||
</Entry>
|
|
||||||
<Entry Name="SPARE__4_TX" Index="#x3022" Sub="#x01">
|
|
||||||
<Type>INT</Type>
|
|
||||||
</Entry>
|
|
||||||
<Entry Name="M3__status" Index="#x3023" Sub="#x01">
|
|
||||||
<Type>BYTE</Type>
|
<Type>BYTE</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="M3__mode" Index="#x3024" Sub="#x01">
|
<Entry Name="M3__mode" Index="#x3020" Sub="#x01">
|
||||||
<Type>BYTE</Type>
|
<Type>BYTE</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="M3__Joint__rel_position" Index="#x3025" Sub="#x01">
|
<Entry Name="M3__Joint__rel_position" Index="#x3021" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="M3__Joint_abs_position" Index="#x3026" Sub="#x01">
|
<Entry Name="M3__Joint_abs_position" Index="#x3022" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="M3__Motor_speed" Index="#x3027" Sub="#x01">
|
<Entry Name="M3__Motor_speed" Index="#x3023" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="M3__Motor_current_bus" Index="#x3028" Sub="#x01">
|
<Entry Name="M3__Motor_current_bus" Index="#x3024" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="M3__Motor_currentPhA" Index="#x3029" Sub="#x01">
|
<Entry Name="M3__Motor_currentPhA" Index="#x3025" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="M3__Motor_currentPhB" Index="#x302a" Sub="#x01">
|
<Entry Name="M3__Motor_currentPhB" Index="#x3026" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="M3__Motor_currentPhC" Index="#x302b" Sub="#x01">
|
<Entry Name="M3__Motor_currentPhC" Index="#x3027" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="M3__Motor_hallState" Index="#x302c" Sub="#x01">
|
<Entry Name="M3__Motor_hallState" Index="#x3028" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="M3__Motor_dutyCycle" Index="#x302d" Sub="#x01">
|
<Entry Name="M3__Motor_dutyCycle" Index="#x3029" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="M4__status" Index="#x302e" Sub="#x01">
|
<Entry Name="M4__status" Index="#x302a" Sub="#x01">
|
||||||
<Type>BYTE</Type>
|
<Type>BYTE</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="M4__mode" Index="#x302f" Sub="#x01">
|
<Entry Name="M4__mode" Index="#x302b" Sub="#x01">
|
||||||
<Type>BYTE</Type>
|
<Type>BYTE</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="M4__Joint__rel_position" Index="#x3030" Sub="#x01">
|
<Entry Name="M4__Joint__rel_position" Index="#x302c" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="M4__Joint_abs_position" Index="#x3031" Sub="#x01">
|
<Entry Name="M4__Joint_abs_position" Index="#x302d" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="M4__Motor_speed" Index="#x3032" Sub="#x01">
|
<Entry Name="M4__Motor_speed" Index="#x302e" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="M4__Motor_current_bus" Index="#x3033" Sub="#x01">
|
<Entry Name="M4__Motor_current_bus" Index="#x302f" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="M4__Motor_currentPhA" Index="#x3034" Sub="#x01">
|
<Entry Name="M4__Motor_currentPhA" Index="#x3030" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="M4__Motor_currentPhB" Index="#x3035" Sub="#x01">
|
<Entry Name="M4__Motor_currentPhB" Index="#x3031" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="M4__Motor_currentPhC" Index="#x3036" Sub="#x01">
|
<Entry Name="M4__Motor_currentPhC" Index="#x3032" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="M4__Motor_hallState" Index="#x3037" Sub="#x01">
|
<Entry Name="M4__Motor_hallState" Index="#x3033" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="M4__Motor_dutyCycle" Index="#x3038" Sub="#x01">
|
<Entry Name="M4__Motor_dutyCycle" Index="#x3034" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="IMU__q_x0" Index="#x3039" Sub="#x01">
|
<Entry Name="IMU__q_x0" Index="#x3035" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="IMU__q_y0" Index="#x303a" Sub="#x01">
|
<Entry Name="IMU__q_y0" Index="#x3036" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="IMU__q_z0" Index="#x303b" Sub="#x01">
|
<Entry Name="IMU__q_z0" Index="#x3037" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="IMU__q_w0" Index="#x303c" Sub="#x01">
|
<Entry Name="IMU__q_w0" Index="#x3038" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="FSR__CH1" Index="#x303d" Sub="#x01">
|
<Entry Name="FSR__CH1" Index="#x3039" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="FSR__CH2" Index="#x303e" Sub="#x01">
|
<Entry Name="FSR__CH2" Index="#x303a" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="FSR__CH3" Index="#x303f" Sub="#x01">
|
<Entry Name="FSR__CH3" Index="#x303b" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="FSR__CH4" Index="#x3040" Sub="#x01">
|
<Entry Name="FSR__CH4" Index="#x303c" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="FSR__CH5" Index="#x3041" Sub="#x01">
|
<Entry Name="FSR__CH5" Index="#x303d" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="Pressure__CH1" Index="#x3042" Sub="#x01">
|
<Entry Name="Pressure__CH1" Index="#x303e" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="Pressure__CH2" Index="#x3043" Sub="#x01">
|
<Entry Name="Pressure__CH2" Index="#x303f" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="Pressure__CH3" Index="#x3044" Sub="#x01">
|
<Entry Name="Pressure__CH3" Index="#x3040" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
</Pdo>
|
</Pdo>
|
||||||
<Pdo Name="ECAT2MCU" Index="#x1a00" InOut="1" Flags="#x0010" SyncMan="0">
|
<Pdo Name="ECAT2MCU" Index="#x1a00" InOut="1" Flags="#x0010" SyncMan="0">
|
||||||
<Entry Name="M1__control_mode" Index="#x3101" Sub="#x01" Flags="#x00008020">
|
<Entry Name="M1__control_mode" Index="#x3101" Sub="#x01">
|
||||||
<Type>BYTE</Type>
|
<Type>BYTE</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="M1__control_set" Index="#x3102" Sub="#x01" Flags="#x00008020">
|
<Entry Name="M1__control_set" Index="#x3102" Sub="#x01">
|
||||||
<Type>BYTE</Type>
|
<Type>BYTE</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="M1__desired_position" Index="#x3103" Sub="#x01" Flags="#x00008020">
|
<Entry Name="M1__desired_position" Index="#x3103" Sub="#x01">
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Entry>
|
</Entry>
|
||||||
<Entry Name="M1__desired_speed" Index="#x3104" Sub="#x01">
|
<Entry Name="M1__desired_speed" Index="#x3104" Sub="#x01">
|
||||||
|
@ -843,4 +816,102 @@ QSPI_rx_buffer
|
||||||
</Device>
|
</Device>
|
||||||
</Io>
|
</Io>
|
||||||
</Project>
|
</Project>
|
||||||
|
<Mappings>
|
||||||
|
<MappingInfo Identifier="{00000000-2001-0850-0020-500810000403}" Id="#x02030010"/>
|
||||||
|
<OwnerA Name="TIPC^Motordata_PLC^Motordata_PLC Instance">
|
||||||
|
<OwnerB Name="TIID^Device 2 (EtherCAT)^Box 1 (LAN9252-2_motor_Master)">
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.EMG_CH1" VarB="MCU2ECAT^EMG^CH1"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.EMG_CH2" VarB="MCU2ECAT^EMG^CH2"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.EMG_CH3" VarB="MCU2ECAT^EMG^CH3"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.EMG_CH4" VarB="MCU2ECAT^EMG^CH4"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M1_Joint_abs_position" VarB="MCU2ECAT^M1^Joint_abs_position"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M1_Joint_rel_position" VarB="MCU2ECAT^M1^Joint_rel_position"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M1_Mode" VarB="MCU2ECAT^M1^mode"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M1_Motor_HallState" VarB="MCU2ECAT^M1^Motor_hallState"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M1_Motor_currentPhA" VarB="MCU2ECAT^M1^Motor_currentPhA"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M1_Motor_currentPhB" VarB="MCU2ECAT^M1^Motor_currentPhB"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M1_Motor_currentPhC" VarB="MCU2ECAT^M1^Motor_currentPhC"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M1_Motor_current_bus" VarB="MCU2ECAT^M1^Motor_current_bus"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M1_Motor_dutyCycle" VarB="MCU2ECAT^M1^Motor_dutyCycle"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M1_Motor_speed" VarB="MCU2ECAT^M1^Motor_speed"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M1_Status" VarB="MCU2ECAT^M1^status"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M2_Joint_abs_position" VarB="MCU2ECAT^M2^Joint_abs_position"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M2_Joint_rel_position" VarB="MCU2ECAT^M2^Joint__rel_position"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M2_Mode" VarB="MCU2ECAT^M2^mode"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M2_Motor_HallState" VarB="MCU2ECAT^M2^Motor_hallState"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M2_Motor_currentPhA" VarB="MCU2ECAT^M2^Motor_currentPhA"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M2_Motor_currentPhB" VarB="MCU2ECAT^M2^Motor_currentPhB"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M2_Motor_currentPhC" VarB="MCU2ECAT^M2^Motor_currentPhC"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M2_Motor_current_bus" VarB="MCU2ECAT^M2^Motor_current_bus"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M2_Motor_dutyCycle" VarB="MCU2ECAT^M2^Motor_dutyCycle"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M2_Motor_speed" VarB="MCU2ECAT^M2^Motor_speed"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M2_Status" VarB="MCU2ECAT^M2^status"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M3_Joint_abs_position" VarB="MCU2ECAT^M3^Joint_abs_position"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M3_Joint_rel_position" VarB="MCU2ECAT^M3^Joint__rel_position"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M3_Mode" VarB="MCU2ECAT^M3^mode"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M3_Motor_HallState" VarB="MCU2ECAT^M3^Motor_hallState"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M3_Motor_currentPhA" VarB="MCU2ECAT^M3^Motor_currentPhA"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M3_Motor_currentPhB" VarB="MCU2ECAT^M3^Motor_currentPhB"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M3_Motor_currentPhC" VarB="MCU2ECAT^M3^Motor_currentPhC"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M3_Motor_current_bus" VarB="MCU2ECAT^M3^Motor_current_bus"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M3_Motor_dutyCycle" VarB="MCU2ECAT^M3^Motor_dutyCycle"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M3_Motor_speed" VarB="MCU2ECAT^M3^Motor_speed"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M3_Status" VarB="MCU2ECAT^M3^status"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M4_Joint_abs_position" VarB="MCU2ECAT^M4^Joint_abs_position"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M4_Joint_rel_position" VarB="MCU2ECAT^M4^Joint__rel_position"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M4_Mode" VarB="MCU2ECAT^M4^mode"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M4_Motor_HallState" VarB="MCU2ECAT^M4^Motor_hallState"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M4_Motor_currentPhA" VarB="MCU2ECAT^M4^Motor_currentPhA"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M4_Motor_currentPhB" VarB="MCU2ECAT^M4^Motor_currentPhB"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M4_Motor_currentPhC" VarB="MCU2ECAT^M4^Motor_currentPhC"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M4_Motor_current_bus" VarB="MCU2ECAT^M4^Motor_current_bus"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M4_Motor_dutyCycle" VarB="MCU2ECAT^M4^Motor_dutyCycle"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M4_Motor_speed" VarB="MCU2ECAT^M4^Motor_speed"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.M4_Status" VarB="MCU2ECAT^M4^status"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.Pressure_CH1" VarB="MCU2ECAT^Pressure^CH1"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.Pressure_CH2" VarB="MCU2ECAT^Pressure^CH2"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.Pressure_CH3" VarB="MCU2ECAT^Pressure^CH3"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.q_w0" VarB="MCU2ECAT^IMU^q_w0"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.q_x0" VarB="MCU2ECAT^IMU^q_x0"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.q_y0" VarB="MCU2ECAT^IMU^q_y0"/>
|
||||||
|
<Link VarA="PlcTask Inputs^GVL_motor_data.q_z0" VarB="MCU2ECAT^IMU^q_z0"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M1_Control_mode" VarB="ECAT2MCU^M1^control_mode"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M1_Control_set" VarB="ECAT2MCU^M1^control_set"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M1_Desired_current" VarB="ECAT2MCU^M1^desired__current"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M1_Desired_dc" VarB="ECAT2MCU^M1^Spare"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M1_Desired_pos" VarB="ECAT2MCU^M1^desired_position"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M1_Desired_speed" VarB="ECAT2MCU^M1^desired_speed"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M1_Max_current" VarB="ECAT2MCU^M1^Max_current"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M1_Max_pos" VarB="ECAT2MCU^M1^Max_Pos"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M1_Max_velocity" VarB="ECAT2MCU^M1^Max_velocity"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M2_Control_mode" VarB="ECAT2MCU^M2^control_mode"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M2_Control_set" VarB="ECAT2MCU^M2^control_set"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M2_Desired_current" VarB="ECAT2MCU^M2^desired__current"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M2_Desired_dc" VarB="ECAT2MCU^M2^Spare"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M2_Desired_pos" VarB="ECAT2MCU^M2^desired_position"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M2_Desired_speed" VarB="ECAT2MCU^M2^desired_speed"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M2_Max_current" VarB="ECAT2MCU^M2^Max_current"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M2_Max_pos" VarB="ECAT2MCU^M2^Max_Pos"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M2_Max_velocity" VarB="ECAT2MCU^M2^Max_velocity"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M3_Control_mode" VarB="ECAT2MCU^M3^control_mode"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M3_Control_set" VarB="ECAT2MCU^M3^control_set"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M3_Desired_current" VarB="ECAT2MCU^M3^desired__current"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M3_Desired_dc" VarB="ECAT2MCU^M3^Spare"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M3_Desired_pos" VarB="ECAT2MCU^M3^desired_position"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M3_Desired_speed" VarB="ECAT2MCU^M3^desired_speed"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M3_Max_current" VarB="ECAT2MCU^M3^Max_current"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M3_Max_pos" VarB="ECAT2MCU^M3^Max_Pos"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M3_Max_velocity" VarB="ECAT2MCU^M3^Max_velocity"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M4_Control_mode" VarB="ECAT2MCU^M4^control_mode"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M4_Control_set" VarB="ECAT2MCU^M4^control_set"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M4_Desired_current" VarB="ECAT2MCU^M4^desired__current"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M4_Desired_dc" VarB="ECAT2MCU^M4^Spare"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M4_Desired_pos" VarB="ECAT2MCU^M4^desired_position"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M4_Desired_speed" VarB="ECAT2MCU^M4^desired_speed"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M4_Max_current" VarB="ECAT2MCU^M4^Max_current"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M4_Max_pos" VarB="ECAT2MCU^M4^Max_Pos"/>
|
||||||
|
<Link VarA="PlcTask Outputs^GVL_motor_data.M4_Max_velocity" VarB="ECAT2MCU^M4^Max_velocity"/>
|
||||||
|
</OwnerB>
|
||||||
|
</OwnerA>
|
||||||
|
</Mappings>
|
||||||
</TcSmProject>
|
</TcSmProject>
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.5">
|
||||||
|
<GVL Name="GVL_EMG" Id="{8fb1d95a-ab1e-4b7a-821f-bc8f80b840ed}">
|
||||||
|
<Declaration><![CDATA[{attribute 'qualified_only'}
|
||||||
|
VAR_GLOBAL
|
||||||
|
EMG_CH1_uV : REAL;
|
||||||
|
EMG_CH2_uV : REAL;
|
||||||
|
EMG_CH3_uV : REAL;
|
||||||
|
EMG_CH4_uV : REAL;
|
||||||
|
END_VAR]]></Declaration>
|
||||||
|
</GVL>
|
||||||
|
</TcPlcObject>
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.6">
|
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.5">
|
||||||
<GVL Name="GVL_motor_data" Id="{f1f9826e-bbc5-4781-8d1a-d97243969113}">
|
<GVL Name="GVL_motor_data" Id="{f1f9826e-bbc5-4781-8d1a-d97243969113}">
|
||||||
<Declaration><![CDATA[{attribute 'qualified_only'}
|
<Declaration><![CDATA[{attribute 'qualified_only'}
|
||||||
VAR_GLOBAL
|
VAR_GLOBAL
|
||||||
|
@ -30,14 +30,10 @@ M2_Motor_HallState AT %I* : INT;
|
||||||
M2_Motor_dutyCycle AT %I* : INT;
|
M2_Motor_dutyCycle AT %I* : INT;
|
||||||
|
|
||||||
// EMG //
|
// EMG //
|
||||||
EMG_CH1 AT %I* : INT;
|
EMG_CH1 AT %I* : DINT;
|
||||||
EMG_CH2 AT %I* : INT;
|
EMG_CH2 AT %I* : DINT;
|
||||||
EMG_CH3 AT %I* : INT;
|
EMG_CH3 AT %I* : DINT;
|
||||||
EMG_CH4 AT %I* : INT;
|
EMG_CH4 AT %I* : DINT;
|
||||||
EMG_CH5 AT %I* : INT;
|
|
||||||
EMG_CH6 AT %I* : INT;
|
|
||||||
EMG_CH7 AT %I* : INT;
|
|
||||||
EMG_CH8 AT %I* : INT;
|
|
||||||
|
|
||||||
// Motor 3 //
|
// Motor 3 //
|
||||||
M3_Status AT %I* : BYTE;
|
M3_Status AT %I* : BYTE;
|
||||||
|
|
|
@ -17,6 +17,10 @@
|
||||||
<LibraryReferences>{7999646c-51c9-45ae-9085-f34e5ecc5ec7}</LibraryReferences>
|
<LibraryReferences>{7999646c-51c9-45ae-9085-f34e5ecc5ec7}</LibraryReferences>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Compile Include="GVLs\GVL_EMG.TcGVL">
|
||||||
|
<SubType>Code</SubType>
|
||||||
|
<LinkAlways>true</LinkAlways>
|
||||||
|
</Compile>
|
||||||
<Compile Include="GVLs\GVL_motor_data.TcGVL">
|
<Compile Include="GVLs\GVL_motor_data.TcGVL">
|
||||||
<SubType>Code</SubType>
|
<SubType>Code</SubType>
|
||||||
<LinkAlways>true</LinkAlways>
|
<LinkAlways>true</LinkAlways>
|
||||||
|
|
|
@ -1,14 +1,23 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.6">
|
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.5">
|
||||||
<POU Name="MAIN" Id="{bea1ccef-eacb-4a24-8635-6fbb784e4a5d}" SpecialFunc="None">
|
<POU Name="MAIN" Id="{bea1ccef-eacb-4a24-8635-6fbb784e4a5d}" SpecialFunc="None">
|
||||||
<Declaration><![CDATA[PROGRAM MAIN
|
<Declaration><![CDATA[PROGRAM MAIN
|
||||||
VAR
|
VAR
|
||||||
|
Scalefactor : REAL := 0.02235;
|
||||||
END_VAR
|
END_VAR
|
||||||
]]></Declaration>
|
]]></Declaration>
|
||||||
<Implementation>
|
<Implementation>
|
||||||
<ST><![CDATA[POU_Position_Seq();]]></ST>
|
<ST><![CDATA[
|
||||||
|
GVL_EMG.EMG_CH1_uV := DINT_TO_REAL(GVL_motor_data.EMG_CH1) * Scalefactor;
|
||||||
|
GVL_EMG.EMG_CH2_uV := DINT_TO_REAL(GVL_motor_data.EMG_CH2) * Scalefactor;
|
||||||
|
GVL_EMG.EMG_CH3_uV := DINT_TO_REAL(GVL_motor_data.EMG_CH3) * Scalefactor;
|
||||||
|
GVL_EMG.EMG_CH4_uV := DINT_TO_REAL(GVL_motor_data.EMG_CH4) * Scalefactor;
|
||||||
|
|
||||||
|
POU_Position_Seq();]]></ST>
|
||||||
</Implementation>
|
</Implementation>
|
||||||
<LineIds Name="MAIN">
|
<LineIds Name="MAIN">
|
||||||
|
<LineId Id="6" Count="1" />
|
||||||
|
<LineId Id="10" Count="3" />
|
||||||
<LineId Id="2" Count="0" />
|
<LineId Id="2" Count="0" />
|
||||||
</LineIds>
|
</LineIds>
|
||||||
</POU>
|
</POU>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.6">
|
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.5">
|
||||||
<POU Name="POU_Position_Seq" Id="{2042500d-93f5-4691-917f-6cc51b024d44}" SpecialFunc="None">
|
<POU Name="POU_Position_Seq" Id="{2042500d-93f5-4691-917f-6cc51b024d44}" SpecialFunc="None">
|
||||||
<Declaration><![CDATA[PROGRAM POU_Position_Seq
|
<Declaration><![CDATA[PROGRAM POU_Position_Seq
|
||||||
VAR
|
VAR
|
||||||
|
@ -321,7 +321,7 @@ END_VAR
|
||||||
<o>
|
<o>
|
||||||
<v n="AttributeId">{38391c6d-6d4a-42f8-8ee7-9f45e5adafa8}</v>
|
<v n="AttributeId">{38391c6d-6d4a-42f8-8ee7-9f45e5adafa8}</v>
|
||||||
<o n="Value" t="StringValue">
|
<o n="Value" t="StringValue">
|
||||||
<v n="Value">"POS_1.t > T#6s"</v>
|
<v n="Value">"POS_1.t > T#3s"</v>
|
||||||
<v n="DefaultValue">""</v>
|
<v n="DefaultValue">""</v>
|
||||||
</o>
|
</o>
|
||||||
<v n="Id">80L</v>
|
<v n="Id">80L</v>
|
||||||
|
@ -504,7 +504,7 @@ END_VAR
|
||||||
<o>
|
<o>
|
||||||
<v n="AttributeId">{38391c6d-6d4a-42f8-8ee7-9f45e5adafa8}</v>
|
<v n="AttributeId">{38391c6d-6d4a-42f8-8ee7-9f45e5adafa8}</v>
|
||||||
<o n="Value" t="StringValue">
|
<o n="Value" t="StringValue">
|
||||||
<v n="Value">"POS_2.t > T#6s"</v>
|
<v n="Value">"POS_2.t > T#3s"</v>
|
||||||
<v n="DefaultValue">""</v>
|
<v n="DefaultValue">""</v>
|
||||||
</o>
|
</o>
|
||||||
<v n="Id">125L</v>
|
<v n="Id">125L</v>
|
||||||
|
@ -687,7 +687,7 @@ END_VAR
|
||||||
<o>
|
<o>
|
||||||
<v n="AttributeId">{38391c6d-6d4a-42f8-8ee7-9f45e5adafa8}</v>
|
<v n="AttributeId">{38391c6d-6d4a-42f8-8ee7-9f45e5adafa8}</v>
|
||||||
<o n="Value" t="StringValue">
|
<o n="Value" t="StringValue">
|
||||||
<v n="Value">"POS_3.t > T#6s"</v>
|
<v n="Value">"POS_3.t > T#3s"</v>
|
||||||
<v n="DefaultValue">""</v>
|
<v n="DefaultValue">""</v>
|
||||||
</o>
|
</o>
|
||||||
<v n="Id">49L</v>
|
<v n="Id">49L</v>
|
||||||
|
@ -781,7 +781,35 @@ END_VAR
|
||||||
</o>
|
</o>
|
||||||
</l2>
|
</l2>
|
||||||
</o>
|
</o>
|
||||||
<l2 n="Attributes" />
|
<l2 n="Attributes" cet="SFCAttribute">
|
||||||
|
<o>
|
||||||
|
<v n="AttributeId">{38391c6d-6d4a-42f8-8ee7-9f45e5adafa8}</v>
|
||||||
|
<o n="Value" t="StringValue">
|
||||||
|
<v n="Value">""</v>
|
||||||
|
<v n="DefaultValue">""</v>
|
||||||
|
</o>
|
||||||
|
<v n="Id">143L</v>
|
||||||
|
<v n="IdParent">5L</v>
|
||||||
|
</o>
|
||||||
|
<o>
|
||||||
|
<v n="AttributeId">{7d894980-aeea-405c-a0f6-e2b26429c58f}</v>
|
||||||
|
<o n="Value" t="StringValue">
|
||||||
|
<v n="Value">""</v>
|
||||||
|
<v n="DefaultValue">""</v>
|
||||||
|
</o>
|
||||||
|
<v n="Id">144L</v>
|
||||||
|
<v n="IdParent">5L</v>
|
||||||
|
</o>
|
||||||
|
<o>
|
||||||
|
<v n="AttributeId">{01580b27-6378-448b-8ecb-0e4b795b58d6}</v>
|
||||||
|
<o n="Value" t="BoolValue">
|
||||||
|
<v n="Value">"FALSE"</v>
|
||||||
|
<v n="DefaultValue">"FALSE"</v>
|
||||||
|
</o>
|
||||||
|
<v n="Id">145L</v>
|
||||||
|
<v n="IdParent">5L</v>
|
||||||
|
</o>
|
||||||
|
</l2>
|
||||||
<v n="Id">5L</v>
|
<v n="Id">5L</v>
|
||||||
<v n="IdParent">-1L</v>
|
<v n="IdParent">-1L</v>
|
||||||
</o>
|
</o>
|
||||||
|
@ -1073,7 +1101,7 @@ END_VAR
|
||||||
</Implementation>
|
</Implementation>
|
||||||
<Action Name="_aPOS_1_entry" Id="{0ae03264-b28c-44bd-9cfc-1102ae68301e}">
|
<Action Name="_aPOS_1_entry" Id="{0ae03264-b28c-44bd-9cfc-1102ae68301e}">
|
||||||
<Implementation>
|
<Implementation>
|
||||||
<ST><![CDATA[GVL_motor_data.M1_Desired_pos := 800;
|
<ST><![CDATA[GVL_motor_data.M1_Desired_pos := 1000;
|
||||||
GVL_motor_data.M2_Desired_pos := 1000;]]></ST>
|
GVL_motor_data.M2_Desired_pos := 1000;]]></ST>
|
||||||
</Implementation>
|
</Implementation>
|
||||||
<ObjectProperties>
|
<ObjectProperties>
|
||||||
|
@ -1092,8 +1120,8 @@ GVL_motor_data.M2_Desired_pos := 1000;]]></ST>
|
||||||
</Action>
|
</Action>
|
||||||
<Action Name="_aPOS_2_entry" Id="{61315308-5bec-490a-a6bc-fde3430a9e9d}">
|
<Action Name="_aPOS_2_entry" Id="{61315308-5bec-490a-a6bc-fde3430a9e9d}">
|
||||||
<Implementation>
|
<Implementation>
|
||||||
<ST><![CDATA[GVL_motor_data.M1_Desired_pos := -200;
|
<ST><![CDATA[GVL_motor_data.M1_Desired_pos := -500;
|
||||||
GVL_motor_data.M2_Desired_pos := -110;]]></ST>
|
GVL_motor_data.M2_Desired_pos := -500;]]></ST>
|
||||||
</Implementation>
|
</Implementation>
|
||||||
<ObjectProperties>
|
<ObjectProperties>
|
||||||
<XmlArchive>
|
<XmlArchive>
|
||||||
|
@ -1224,8 +1252,8 @@ GVL_motor_data.M2_Desired_pos := 0;]]></ST>
|
||||||
</XmlArchive>
|
</XmlArchive>
|
||||||
</ObjectProperties>
|
</ObjectProperties>
|
||||||
<LineIds Name="POU_Position_Seq._aPOS_1_entry">
|
<LineIds Name="POU_Position_Seq._aPOS_1_entry">
|
||||||
<LineId Id="4" Count="0" />
|
|
||||||
<LineId Id="2" Count="0" />
|
<LineId Id="2" Count="0" />
|
||||||
|
<LineId Id="1" Count="0" />
|
||||||
</LineIds>
|
</LineIds>
|
||||||
<LineIds Name="POU_Position_Seq._aPOS_2_entry">
|
<LineIds Name="POU_Position_Seq._aPOS_2_entry">
|
||||||
<LineId Id="2" Count="0" />
|
<LineId Id="2" Count="0" />
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<TcPlcObject Version="1.1.0.1">
|
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.5">
|
||||||
<Task Name="PlcTask" Id="{8964a762-3bf6-4f78-8749-dd136e069f20}">
|
<Task Name="PlcTask" Id="{8964a762-3bf6-4f78-8749-dd136e069f20}">
|
||||||
<!--CycleTime in micro seconds.-->
|
<!--CycleTime in micro seconds.-->
|
||||||
<CycleTime>10000</CycleTime>
|
<CycleTime>1000</CycleTime>
|
||||||
<Priority>20</Priority>
|
<Priority>20</Priority>
|
||||||
<PouCall>
|
<PouCall>
|
||||||
<Name>MAIN</Name>
|
<Name>MAIN</Name>
|
||||||
|
@ -12,6 +12,5 @@
|
||||||
<Fb_exit>{5c5f5f84-e7f6-4c9f-8e6b-25d1b89465a8}</Fb_exit>
|
<Fb_exit>{5c5f5f84-e7f6-4c9f-8e6b-25d1b89465a8}</Fb_exit>
|
||||||
<CycleUpdate>{07b2fc7d-725f-4928-b7bb-1c1ddcb9a703}</CycleUpdate>
|
<CycleUpdate>{07b2fc7d-725f-4928-b7bb-1c1ddcb9a703}</CycleUpdate>
|
||||||
<PostCycleUpdate>{49bd0358-5e57-44dd-9076-193288aeb9f7}</PostCycleUpdate>
|
<PostCycleUpdate>{49bd0358-5e57-44dd-9076-193288aeb9f7}</PostCycleUpdate>
|
||||||
<ObjectProperties />
|
|
||||||
</Task>
|
</Task>
|
||||||
</TcPlcObject>
|
</TcPlcObject>
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue