|
EasyControl ETHERCAT总线 精简主从站方案
测试视频:http://v.youku.com/v_show/id_XMz ... j.8428770.3416059.1
按下按钮,电机正转(脉冲输出让灯亮); 再按一下,电机停下; 再按一下,电机反转; 再按一下,电机停下。
stm32h743做ethercat主站,有1个(xmc4300+ep4ce6e22)ethercat 402从站。
stm32h743是ST的cortex-m7的400M时钟,1M的RAM的32位MCU。
NUCLEO-H743ZI是ST官方的基于stm32h743的开发板。
处理周期1ms,ethercat总线用是的csp模式周期位置同步。
EtherCat主站代码是SOEM。
EtherCat主站主要参考https://github.com/sittner/linuxcnc-ethercat。
stm32h743开发IDE:KEIL5.25。
MCU的开发IDE:https://github.com/gnu-mcu-eclip ... p.packages/releases
FPGA的开发IDE:https://www.altera.com.cn/downloads/download-center.html
处理过程:
1)写一个主站配置的xml文件。
2)PC上的一个软件对xml文件处理自动生成ethercat_conf.c与ethercat_var.h文件。
3)ethercat_conf.c与ethercat_var.h文件放到stm32h743的项目中。
ethercat_var.h是通信变量定义。
主站main部分代码:
int main(void)
{
/* USER CODE BEGIN 1 */
uint64_t cnt = 0;
int process_state = -10;
int key_cnt = 0;
double delta=0;
/* USER CODE END 1 */
/* MPU Configuration----------------------------------------------------------*/
MPU_Config();
/* Enable I-Cache-------------------------------------------------------------*/
SCB_EnableICache();
/* Enable D-Cache-------------------------------------------------------------*/
SCB_EnableDCache();
/* MCU Configuration----------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_USART3_UART_Init();
MX_TIM2_Init();
/* USER CODE BEGIN 2 */
HAL_TIM_Base_Start(&htim2);
HAL_GPIO_TogglePin(GPIOB, LD2_Pin);
cnt = get_clock();
while(get_clock()<cnt+5000000000);
ethernet_init();
memset(0x24000000, 0, 512 * 1024);
HAL_GPIO_TogglePin(GPIOB, LD3_Pin);
cnt = get_clock();
while(get_clock()<cnt+1000000000);
rtapi_app_main_ethercat();
HAL_GPIO_WritePin(GPIOB,LD2_Pin,0);
HAL_GPIO_WritePin(GPIOB,LD3_Pin,0);
*ethercat_0_1_0_cmd_SwitchOn = 1;
*ethercat_0_1_0_cmd_EnableVoltage = 1;
*ethercat_0_1_0_cmd__QuickStop = 1;
*ethercat_0_1_0_cmd_EnableOperation = 1;
*ethercat_0_1_0_cmd_FaultReset = 0;
*ethercat_0_1_STEP_LEN = 4;
*ethercat_0_1_STEP_DIR = 10;
*ethercat_0_1_IO_OUT_POLARITY = 0x14000;
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while(1){
rtapi_wait();
lcec_write_all(0,1000000);
lcec_read_all(0,1000000);
if(process_state<0) process_state++;
if(process_state==-1){
*ethercat_0_1_0_target = *ethercat_0_1_0_position;
}
HAL_GPIO_WritePin(GPIOB,LD2_Pin,process_state&1);
HAL_GPIO_WritePin(GPIOB,LD3_Pin,(process_state>>1)&1);
if(HAL_GPIO_ReadPin(USER_Btn_GPIO_Port,USER_Btn_Pin)){
if(key_cnt<=100)
key_cnt++;
if(key_cnt==100){
process_state++;
process_state = process_state&3;
}
}else
key_cnt = 0;
delta = 0;
if(process_state==1) delta = 0.001;
if(process_state==3) delta = -0.001;
*ethercat_0_1_0_target += delta;
}
/* USER CODE END 3 */
}
ethercat_0_1_0_*变量在ethercat_var.h中自动定义。
XML文件:
<masters>
<master idx="0" appTimePeriod="500000" refClockSyncCycles="5">
<slave idx="1" type="generic" vid="00000002" pid="1a5f3052" configPdos="false">
<sdoConfig idx="f030" subIdx="complete">
<sdoDataRaw data="06 00 00 98 21 00 00 98 21 00 00 98 21 00 00 98 21 00 00 98 21 00 00 98 21 00"/>
</sdoConfig>
<sdoConfig idx="6060" subIdx="0">
<sdoDataRaw data="08"/>
</sdoConfig>
<sdoConfig idx="6860" subIdx="0">
<sdoDataRaw data="08"/>
</sdoConfig>
<sdoConfig idx="7060" subIdx="0">
<sdoDataRaw data="08"/>
</sdoConfig>
<sdoConfig idx="7860" subIdx="0">
<sdoDataRaw data="08"/>
</sdoConfig>
<sdoConfig idx="8060" subIdx="0">
<sdoDataRaw data="08"/>
</sdoConfig>
<sdoConfig idx="8860" subIdx="0">
<sdoDataRaw data="08"/>
</sdoConfig>
<sdoConfig idx="6040" subIdx="0">
<sdoDataRaw data="80 00"/>
</sdoConfig>
<sdoConfig idx="6840" subIdx="0">
<sdoDataRaw data="80 00"/>
</sdoConfig>
<sdoConfig idx="7040" subIdx="0">
<sdoDataRaw data="80 00"/>
</sdoConfig>
<sdoConfig idx="7840" subIdx="0">
<sdoDataRaw data="80 00"/>
</sdoConfig>
<sdoConfig idx="8040" subIdx="0">
<sdoDataRaw data="80 00"/>
</sdoConfig>
<sdoConfig idx="8840" subIdx="0">
<sdoDataRaw data="80 00"/>
</sdoConfig>
<sdoConfig idx="6510" subIdx="1">
<sdoDataRaw data="00 00 00 00"/>
</sdoConfig>
<sdoConfig idx="6080" subIdx="0">
<sdoDataRaw data="00 26 02 00"/>
</sdoConfig>
<sdoConfig idx="60c5" subIdx="0">
<sdoDataRaw data="00 7c 15 00"/>
</sdoConfig>
<sdoConfig idx="6880" subIdx="0">
<sdoDataRaw data="00 26 02 00"/>
</sdoConfig>
<sdoConfig idx="68c5" subIdx="0">
<sdoDataRaw data="00 7c 15 00"/>
</sdoConfig>
<sdoConfig idx="7080" subIdx="0">
<sdoDataRaw data="00 26 02 00"/>
</sdoConfig>
<sdoConfig idx="70c5" subIdx="0">
<sdoDataRaw data="00 7c 15 00"/>
</sdoConfig>
<sdoConfig idx="7880" subIdx="0">
<sdoDataRaw data="00 26 02 00"/>
</sdoConfig>
<sdoConfig idx="78c5" subIdx="0">
<sdoDataRaw data="00 7c 15 00"/>
</sdoConfig>
<sdoConfig idx="8080" subIdx="0">
<sdoDataRaw data="00 26 02 00"/>
</sdoConfig>
<sdoConfig idx="80c5" subIdx="0">
<sdoDataRaw data="00 7c 15 00"/>
</sdoConfig>
<sdoConfig idx="8880" subIdx="0">
<sdoDataRaw data="00 26 02 00"/>
</sdoConfig>
<sdoConfig idx="88c5" subIdx="0">
<sdoDataRaw data="00 7c 15 00"/>
</sdoConfig>
<dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="000"/>
<syncManager idx="0" dir="out"/>
<syncManager idx="1" dir="in"/>
<syncManager idx="2" dir="out">
<pdo idx="1601">
<pdoEntry idx="6040" subIdx="00" bitLen="16" halType="complex">
<complexEntry bitLen="1" halPin="0-cmd-SwitchOn" halType="bit"/>
<complexEntry bitLen="1" halPin="0-cmd-EnableVoltage" halType="bit"/>
<complexEntry bitLen="1" halPin="0-cmd-/QuickStop" halType="bit"/>
<complexEntry bitLen="1" halPin="0-cmd-EnableOperation" halType="bit"/>
<complexEntry bitLen="1" halPin="0-cmd-NewSetpoint" halType="bit"/>
<complexEntry bitLen="1" halPin="0-cmd-ChangeSetImmediatly" halType="bit"/>
<complexEntry bitLen="1" halPin="0-cmd-RelativPos" halType="bit"/>
<complexEntry bitLen="1" halPin="0-cmd-FaultReset" halType="bit"/>
</pdoEntry>
<pdoEntry idx="607a" subIdx="00" bitLen="32" halPin="0-target" halType="float" scale="2560.0" offset="0"/>
<pdoEntry idx="60FE" subIdx="01" bitLen="32" halType="complex">
<complexEntry bitLen="1" halPin="O00" halType="bit"/>
<complexEntry bitLen="1" halPin="O01" halType="bit"/>
<complexEntry bitLen="1" halPin="O02" halType="bit"/>
<complexEntry bitLen="1" halPin="O03" halType="bit"/>
<complexEntry bitLen="1" halPin="O04" halType="bit"/>
<complexEntry bitLen="1" halPin="O05" halType="bit"/>
<complexEntry bitLen="1" halPin="O06" halType="bit"/>
<complexEntry bitLen="1" halPin="O07" halType="bit"/>
<complexEntry bitLen="1" halPin="O08" halType="bit"/>
<complexEntry bitLen="1" halPin="O09" halType="bit"/>
<complexEntry bitLen="1" halPin="O10" halType="bit"/>
<complexEntry bitLen="1" halPin="O11" halType="bit"/>
<complexEntry bitLen="1" halPin="O12" halType="bit"/>
<complexEntry bitLen="1" halPin="O13" halType="bit"/>
<complexEntry bitLen="1" halPin="O14" halType="bit"/>
<complexEntry bitLen="1" halPin="O15" halType="bit"/>
<complexEntry bitLen="1" halPin="O16" halType="bit"/>
<complexEntry bitLen="1" halPin="O17" halType="bit"/>
<complexEntry bitLen="1" halPin="O18" halType="bit"/>
<complexEntry bitLen="1" halPin="O19" halType="bit"/>
<complexEntry bitLen="1" halPin="O20" halType="bit"/>
<complexEntry bitLen="1" halPin="O21" halType="bit"/>
<complexEntry bitLen="1" halPin="O22" halType="bit"/>
<complexEntry bitLen="1" halPin="O23" halType="bit"/>
<complexEntry bitLen="1" halPin="O24" halType="bit"/>
</pdoEntry>
</pdo>
<pdo idx="1611">
<pdoEntry idx="6840" subIdx="00" bitLen="16" halType="complex">
<complexEntry bitLen="1" halPin="1-cmd-SwitchOn" halType="bit"/>
<complexEntry bitLen="1" halPin="1-cmd-EnableVoltage" halType="bit"/>
<complexEntry bitLen="1" halPin="1-cmd-/QuickStop" halType="bit"/>
<complexEntry bitLen="1" halPin="1-cmd-EnableOperation" halType="bit"/>
<complexEntry bitLen="1" halPin="1-cmd-NewSetpoint" halType="bit"/>
<complexEntry bitLen="1" halPin="1-cmd-ChangeSetImmediatly" halType="bit"/>
<complexEntry bitLen="1" halPin="1-cmd-RelativPos" halType="bit"/>
<complexEntry bitLen="1" halPin="1-cmd-FaultReset" halType="bit"/>
</pdoEntry>
<pdoEntry idx="687a" subIdx="00" bitLen="32" halPin="1-target" halType="float" scale="2560.0" offset="0"/>
<pdoEntry idx="68FE" subIdx="01" bitLen="32" halPin="IO_OUT_POLARITY" halType="u32"/>
</pdo>
<pdo idx="1621">
<pdoEntry idx="7040" subIdx="00" bitLen="16" halType="complex">
<complexEntry bitLen="1" halPin="2-cmd-SwitchOn" halType="bit"/>
<complexEntry bitLen="1" halPin="2-cmd-EnableVoltage" halType="bit"/>
<complexEntry bitLen="1" halPin="2-cmd-/QuickStop" halType="bit"/>
<complexEntry bitLen="1" halPin="2-cmd-EnableOperation" halType="bit"/>
<complexEntry bitLen="1" halPin="2-cmd-NewSetpoint" halType="bit"/>
<complexEntry bitLen="1" halPin="2-cmd-ChangeSetImmediatly" halType="bit"/>
<complexEntry bitLen="1" halPin="2-cmd-RelativPos" halType="bit"/>
<complexEntry bitLen="1" halPin="2-cmd-FaultReset" halType="bit"/>
</pdoEntry>
<pdoEntry idx="707a" subIdx="00" bitLen="32" halPin="2-target" halType="float" scale="2560.0" offset="0"/>
<pdoEntry idx="70FE" subIdx="01" bitLen="32" halType="complex">
<complexEntry bitLen="16" halPin="PWM_CYCLE" halType="u32"/>
<complexEntry bitLen="16" halPin="PWM_DUTY" halType="u32"/>
</pdoEntry>
</pdo>
<pdo idx="1631">
<pdoEntry idx="7840" subIdx="00" bitLen="16" halType="complex">
<complexEntry bitLen="1" halPin="3-cmd-SwitchOn" halType="bit"/>
<complexEntry bitLen="1" halPin="3-cmd-EnableVoltage" halType="bit"/>
<complexEntry bitLen="1" halPin="3-cmd-/QuickStop" halType="bit"/>
<complexEntry bitLen="1" halPin="3-cmd-EnableOperation" halType="bit"/>
<complexEntry bitLen="1" halPin="3-cmd-NewSetpoint" halType="bit"/>
<complexEntry bitLen="1" halPin="3-cmd-ChangeSetImmediatly" halType="bit"/>
<complexEntry bitLen="1" halPin="3-cmd-RelativPos" halType="bit"/>
<complexEntry bitLen="1" halPin="3-cmd-FaultReset" halType="bit"/>
</pdoEntry>
<pdoEntry idx="787a" subIdx="00" bitLen="32" halPin="3-target" halType="float" scale="2560.0" offset="0"/>
<pdoEntry idx="78FE" subIdx="01" bitLen="32" halPin="IO_IN_POLARITY0" halType="u32"/>
</pdo>
<pdo idx="1641">
<pdoEntry idx="8040" subIdx="00" bitLen="16" halType="complex">
<complexEntry bitLen="1" halPin="4-cmd-SwitchOn" halType="bit"/>
<complexEntry bitLen="1" halPin="4-cmd-EnableVoltage" halType="bit"/>
<complexEntry bitLen="1" halPin="4-cmd-/QuickStop" halType="bit"/>
<complexEntry bitLen="1" halPin="4-cmd-EnableOperation" halType="bit"/>
<complexEntry bitLen="1" halPin="4-cmd-NewSetpoint" halType="bit"/>
<complexEntry bitLen="1" halPin="4-cmd-ChangeSetImmediatly" halType="bit"/>
<complexEntry bitLen="1" halPin="4-cmd-RelativPos" halType="bit"/>
<complexEntry bitLen="1" halPin="4-cmd-FaultReset" halType="bit"/>
</pdoEntry>
<pdoEntry idx="807a" subIdx="00" bitLen="32" halPin="4-target" halType="float" scale="2560.0" offset="0"/>
<pdoEntry idx="80FE" subIdx="01" bitLen="32" halPin="IO_IN_POLARITY1" halType="u32"/>
</pdo>
<pdo idx="1651">
<pdoEntry idx="8840" subIdx="00" bitLen="16" halType="complex">
<complexEntry bitLen="1" halPin="5-cmd-SwitchOn" halType="bit"/>
<complexEntry bitLen="1" halPin="5-cmd-EnableVoltage" halType="bit"/>
<complexEntry bitLen="1" halPin="5-cmd-/QuickStop" halType="bit"/>
<complexEntry bitLen="1" halPin="5-cmd-EnableOperation" halType="bit"/>
<complexEntry bitLen="1" halPin="5-cmd-NewSetpoint" halType="bit"/>
<complexEntry bitLen="1" halPin="5-cmd-ChangeSetImmediatly" halType="bit"/>
<complexEntry bitLen="1" halPin="5-cmd-RelativPos" halType="bit"/>
<complexEntry bitLen="1" halPin="5-cmd-FaultReset" halType="bit"/>
</pdoEntry>
<pdoEntry idx="887a" subIdx="00" bitLen="32" halPin="5-target" halType="float" scale="2560.0" offset="0"/>
<pdoEntry idx="88FE" subIdx="01" bitLen="32" halType="complex">
<complexEntry bitLen="16" halPin="STEP_LEN" halType="u32"/>
<complexEntry bitLen="16" halPin="STEP_DIR" halType="u32"/>
</pdoEntry>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1a01">
<pdoEntry idx="6041" subIdx="00" bitLen="16" halType="complex">
<complexEntry bitLen="1" halPin="0-stat-ReadyToSwitchOn" halType="bit"/>
<complexEntry bitLen="1" halPin="0-stat-SwitchOn" halType="bit"/>
<complexEntry bitLen="1" halPin="0-stat-OperationEnable" halType="bit"/>
<complexEntry bitLen="1" halPin="0-stat-Fault" halType="bit"/>
<complexEntry bitLen="1" halPin="0-stat-VoltageEnabled" halType="bit"/>
<complexEntry bitLen="1" halPin="0-stat-QuickStop" halType="bit"/>
<complexEntry bitLen="1" halPin="0-stat-SwitchOnDisable" halType="bit"/>
<complexEntry bitLen="1" halPin="0-stat-Warning" halType="bit"/>
<complexEntry bitLen="1" halPin="0-stat-HaltRequestActive" halType="bit"/>
<complexEntry bitLen="1" halPin="0-stat-Remote" halType="bit"/>
<complexEntry bitLen="1" halPin="0-stat-TargetIsReached" halType="bit"/>
<complexEntry bitLen="1" halPin="0-stat-bit11" halType="bit"/>
<complexEntry bitLen="1" halPin="0-stat-SetpointAck" halType="bit"/>
<complexEntry bitLen="1" halPin="0-stat-x_err" halType="bit"/>
</pdoEntry>
<pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="0-position" halType="float" scale="0.000390625" offset="0"/>
<pdoEntry idx="60FD" subIdx="00" bitLen="32" halType="complex">
<complexEntry bitLen="1" halPin="I00" halType="bit"/>
<complexEntry bitLen="1" halPin="I01" halType="bit"/>
<complexEntry bitLen="1" halPin="I02" halType="bit"/>
<complexEntry bitLen="1" halPin="I03" halType="bit"/>
<complexEntry bitLen="1" halPin="I04" halType="bit"/>
<complexEntry bitLen="1" halPin="I05" halType="bit"/>
<complexEntry bitLen="1" halPin="I06" halType="bit"/>
<complexEntry bitLen="1" halPin="I07" halType="bit"/>
<complexEntry bitLen="1" halPin="I08" halType="bit"/>
<complexEntry bitLen="1" halPin="I09" halType="bit"/>
<complexEntry bitLen="1" halPin="I10" halType="bit"/>
<complexEntry bitLen="1" halPin="I11" halType="bit"/>
<complexEntry bitLen="1" halPin="I12" halType="bit"/>
<complexEntry bitLen="1" halPin="I13" halType="bit"/>
<complexEntry bitLen="1" halPin="I14" halType="bit"/>
<complexEntry bitLen="1" halPin="I15" halType="bit"/>
<complexEntry bitLen="1" halPin="I16" halType="bit"/>
<complexEntry bitLen="1" halPin="I17" halType="bit"/>
<complexEntry bitLen="1" halPin="I18" halType="bit"/>
<complexEntry bitLen="1" halPin="I19" halType="bit"/>
<complexEntry bitLen="1" halPin="I20" halType="bit"/>
<complexEntry bitLen="1" halPin="I21" halType="bit"/>
<complexEntry bitLen="1" halPin="I22" halType="bit"/>
<complexEntry bitLen="1" halPin="I23" halType="bit"/>
<complexEntry bitLen="1" halPin="I24" halType="bit"/>
<complexEntry bitLen="1" halPin="I25" halType="bit"/>
<complexEntry bitLen="1" halPin="I26" halType="bit"/>
<complexEntry bitLen="1" halPin="I27" halType="bit"/>
<complexEntry bitLen="1" halPin="I28" halType="bit"/>
<complexEntry bitLen="1" halPin="I29" halType="bit"/>
<complexEntry bitLen="1" halPin="I30" halType="bit"/>
<complexEntry bitLen="1" halPin="I31" halType="bit"/>
</pdoEntry>
</pdo>
<pdo idx="1a11">
<pdoEntry idx="6841" subIdx="00" bitLen="16" halType="complex">
<complexEntry bitLen="1" halPin="1-stat-ReadyToSwitchOn" halType="bit"/>
<complexEntry bitLen="1" halPin="1-stat-SwitchOn" halType="bit"/>
<complexEntry bitLen="1" halPin="1-stat-OperationEnable" halType="bit"/>
<complexEntry bitLen="1" halPin="1-stat-Fault" halType="bit"/>
<complexEntry bitLen="1" halPin="1-stat-VoltageEnabled" halType="bit"/>
<complexEntry bitLen="1" halPin="1-stat-QuickStop" halType="bit"/>
<complexEntry bitLen="1" halPin="1-stat-SwitchOnDisable" halType="bit"/>
<complexEntry bitLen="1" halPin="1-stat-Warning" halType="bit"/>
<complexEntry bitLen="1" halPin="1-stat-HaltRequestActive" halType="bit"/>
<complexEntry bitLen="1" halPin="1-stat-Remote" halType="bit"/>
<complexEntry bitLen="1" halPin="1-stat-TargetIsReached" halType="bit"/>
<complexEntry bitLen="1" halPin="1-stat-bit11" halType="bit"/>
<complexEntry bitLen="1" halPin="1-stat-SetpointAck" halType="bit"/>
<complexEntry bitLen="1" halPin="1-stat-x_err" halType="bit"/>
</pdoEntry>
<pdoEntry idx="6864" subIdx="00" bitLen="32" halPin="1-position" halType="float" scale="0.000390625" offset="0"/>
<pdoEntry idx="68FD" subIdx="00" bitLen="32" halType="complex">
<complexEntry bitLen="1" halPin="I32" halType="bit"/>
<complexEntry bitLen="1" halPin="I33" halType="bit"/>
<complexEntry bitLen="1" halPin="I34" halType="bit"/>
<complexEntry bitLen="1" halPin="I35" halType="bit"/>
<complexEntry bitLen="1" halPin="I36" halType="bit"/>
<complexEntry bitLen="1" halPin="I37" halType="bit"/>
<complexEntry bitLen="1" halPin="I38" halType="bit"/>
</pdoEntry>
</pdo>
<pdo idx="1a21">
<pdoEntry idx="7041" subIdx="00" bitLen="16" halType="complex">
<complexEntry bitLen="1" halPin="2-stat-ReadyToSwitchOn" halType="bit"/>
<complexEntry bitLen="1" halPin="2-stat-SwitchOn" halType="bit"/>
<complexEntry bitLen="1" halPin="2-stat-OperationEnable" halType="bit"/>
<complexEntry bitLen="1" halPin="2-stat-Fault" halType="bit"/>
<complexEntry bitLen="1" halPin="2-stat-VoltageEnabled" halType="bit"/>
<complexEntry bitLen="1" halPin="2-stat-QuickStop" halType="bit"/>
<complexEntry bitLen="1" halPin="2-stat-SwitchOnDisable" halType="bit"/>
<complexEntry bitLen="1" halPin="2-stat-Warning" halType="bit"/>
<complexEntry bitLen="1" halPin="2-stat-HaltRequestActive" halType="bit"/>
<complexEntry bitLen="1" halPin="2-stat-Remote" halType="bit"/>
<complexEntry bitLen="1" halPin="2-stat-TargetIsReached" halType="bit"/>
<complexEntry bitLen="1" halPin="2-stat-bit11" halType="bit"/>
<complexEntry bitLen="1" halPin="2-stat-SetpointAck" halType="bit"/>
<complexEntry bitLen="1" halPin="2-stat-x_err" halType="bit"/>
</pdoEntry>
<pdoEntry idx="7064" subIdx="00" bitLen="32" halPin="2-position" halType="float" scale="0.000390625" offset="0"/>
<pdoEntry idx="70FD" subIdx="00" bitLen="32" halPin="QUAD_CNT_A" halType="S32"/>
</pdo>
<pdo idx="1a31">
<pdoEntry idx="7841" subIdx="00" bitLen="16" halType="complex">
<complexEntry bitLen="1" halPin="3-stat-ReadyToSwitchOn" halType="bit"/>
<complexEntry bitLen="1" halPin="3-stat-SwitchOn" halType="bit"/>
<complexEntry bitLen="1" halPin="3-stat-OperationEnable" halType="bit"/>
<complexEntry bitLen="1" halPin="3-stat-Fault" halType="bit"/>
<complexEntry bitLen="1" halPin="3-stat-VoltageEnabled" halType="bit"/>
<complexEntry bitLen="1" halPin="3-stat-QuickStop" halType="bit"/>
<complexEntry bitLen="1" halPin="3-stat-SwitchOnDisable" halType="bit"/>
<complexEntry bitLen="1" halPin="3-stat-Warning" halType="bit"/>
<complexEntry bitLen="1" halPin="3-stat-HaltRequestActive" halType="bit"/>
<complexEntry bitLen="1" halPin="3-stat-Remote" halType="bit"/>
<complexEntry bitLen="1" halPin="3-stat-TargetIsReached" halType="bit"/>
<complexEntry bitLen="1" halPin="3-stat-bit11" halType="bit"/>
<complexEntry bitLen="1" halPin="3-stat-SetpointAck" halType="bit"/>
<complexEntry bitLen="1" halPin="3-stat-x_err" halType="bit"/>
</pdoEntry>
<pdoEntry idx="7864" subIdx="00" bitLen="32" halPin="3-position" halType="float" scale="0.000390625" offset="0"/>
<pdoEntry idx="78FD" subIdx="00" bitLen="32" halPin="QUAD_CNT_B" halType="S32"/>
</pdo>
<pdo idx="1a41">
<pdoEntry idx="8041" subIdx="00" bitLen="16" halType="complex">
<complexEntry bitLen="1" halPin="4-stat-ReadyToSwitchOn" halType="bit"/>
<complexEntry bitLen="1" halPin="4-stat-SwitchOn" halType="bit"/>
<complexEntry bitLen="1" halPin="4-stat-OperationEnable" halType="bit"/>
<complexEntry bitLen="1" halPin="4-stat-Fault" halType="bit"/>
<complexEntry bitLen="1" halPin="4-stat-VoltageEnabled" halType="bit"/>
<complexEntry bitLen="1" halPin="4-stat-QuickStop" halType="bit"/>
<complexEntry bitLen="1" halPin="4-stat-SwitchOnDisable" halType="bit"/>
<complexEntry bitLen="1" halPin="4-stat-Warning" halType="bit"/>
<complexEntry bitLen="1" halPin="4-stat-HaltRequestActive" halType="bit"/>
<complexEntry bitLen="1" halPin="4-stat-Remote" halType="bit"/>
<complexEntry bitLen="1" halPin="4-stat-TargetIsReached" halType="bit"/>
<complexEntry bitLen="1" halPin="4-stat-bit11" halType="bit"/>
<complexEntry bitLen="1" halPin="4-stat-SetpointAck" halType="bit"/>
<complexEntry bitLen="1" halPin="4-stat-x_err" halType="bit"/>
</pdoEntry>
<pdoEntry idx="8064" subIdx="00" bitLen="32" halPin="4-position" halType="float" scale="0.000390625" offset="0"/>
<pdoEntry idx="80FD" subIdx="00" bitLen="32" halPin="COMM_ERR_CNT" halType="u32"/>
</pdo>
<pdo idx="1a51">
<pdoEntry idx="8841" subIdx="00" bitLen="16" halType="complex">
<complexEntry bitLen="1" halPin="5-stat-ReadyToSwitchOn" halType="bit"/>
<complexEntry bitLen="1" halPin="5-stat-SwitchOn" halType="bit"/>
<complexEntry bitLen="1" halPin="5-stat-OperationEnable" halType="bit"/>
<complexEntry bitLen="1" halPin="5-stat-Fault" halType="bit"/>
<complexEntry bitLen="1" halPin="5-stat-VoltageEnabled" halType="bit"/>
<complexEntry bitLen="1" halPin="5-stat-QuickStop" halType="bit"/>
<complexEntry bitLen="1" halPin="5-stat-SwitchOnDisable" halType="bit"/>
<complexEntry bitLen="1" halPin="5-stat-Warning" halType="bit"/>
<complexEntry bitLen="1" halPin="5-stat-HaltRequestActive" halType="bit"/>
<complexEntry bitLen="1" halPin="5-stat-Remote" halType="bit"/>
<complexEntry bitLen="1" halPin="5-stat-TargetIsReached" halType="bit"/>
<complexEntry bitLen="1" halPin="5-stat-bit11" halType="bit"/>
<complexEntry bitLen="1" halPin="5-stat-SetpointAck" halType="bit"/>
<complexEntry bitLen="1" halPin="5-stat-x_err" halType="bit"/>
</pdoEntry>
<pdoEntry idx="8864" subIdx="00" bitLen="32" halPin="5-position" halType="float" scale="0.000390625" offset="0"/>
</pdo>
</syncManager>
<watchdog divider="2498" intervals="2000"/>
</slave>
</master>
</masters> |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|