ZHCAEA5 August   2024 AM625 , AM6442 , AM69 , TDA4VM

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
    1. 1.1 什么是 EtherCAT?
    2. 1.2 什么是 PLC?
    3. 1.3 什么是 CODESYS?
  5. 2评估平台和方法
    1. 2.1 硬件
    2. 2.2 软件
    3. 2.3 测试拓扑
  6. 3性能指标
    1. 3.1 Cyclictest 性能指标
    2. 3.2 EtherCAT 性能指标
  7. 4优化
    1. 4.1 已实现的优化
    2. 4.2 未来注意事项
      1. 4.2.1 设置最大 CPU 频率
      2. 4.2.2 隔离核心
      3. 4.2.3 设置 CPU 亲和性
      4. 4.2.4 隔离核心并设置 CPU 亲和性
      5. 4.2.5 Ksoftirqs 到 FIFO
      6. 4.2.6 增加实时调度时间
      7. 4.2.7 禁用 irqbalance
      8. 4.2.8 使用独立的网络接口卡 (NIC)
      9. 4.2.9 禁用不必要的驱动程序
  8. 5总结
  9. 6参考资料
  10. 7附录 A:如何使用 CODESYS 协议栈将 TI 嵌入式处理器设置为 EtherCAT 控制器
    1. 7.1 硬件要求
    2. 7.2 软件要求
    3. 7.3 硬件设置
    4. 7.4 软件设置
      1. 7.4.1 Windows PC 设置
      2. 7.4.2 EtherCAT 控制器设置
      3. 7.4.3 CODESYS Development System 项目
      4. 7.4.4 执行
    5. 7.5 如何查看性能测量结果
      1. 7.5.1 附录 A 资源
  11. 8附录 B:如何在 CODESYS 协议栈上实现无限运行时间
    1. 8.1 CODESYS 许可背景
    2. 8.2 获取 CODESYS 许可证
    3. 8.3 激活 CODESYS 许可证
      1. 8.3.1 背景
      2. 8.3.2 建议的步骤
    4. 8.4 验证已应用 CODESYS 许可证
      1. 8.4.1 验证已应用 CODESYS 许可证的已知问题

如何查看性能测量结果

以表格形式查看基本周期时间和抖动统计信息

  1. “Devices”窗口中,双击“Task Configuration”
  2. 点击“Monitor”选项卡

查看特定于帧的统计信息

  1. “Devices”窗口中,双击“EtherCAT_Master (EtherCAT Master)”
  2. 点击“Status”选项卡

以图形方式实时查看 CPU 负载测量值

  1. “Devices”窗口中,双击“Task Configuration”
  2. 点击“CPU Load”选项卡。请注意,此选项卡仅在登录并启动 CODESYS 项目后出现

以图形方式实时查看周期时间和抖动统计信息

  1. 添加“CmpIecTask”库管理器
  2. 将以下文本放在 PLC_PRG 的“VAR”部分中
    PROGRAM PLC_PRG
       VAR
        tTask : Task_Info2;                                           (* Task Info *)
        aIecTasks : ARRAY[1..20] OF Task_Info2;                       (* All Task Info *)
        hCurrentTask : RTS_IEC_HANDLE := SysTypes.RTS_INVALID_HANDLE;
        Result : RTS_IEC_RESULT;                                      (* Result Code *)
    
        pTaskInfo : POINTER TO Task_Info2;
        hIecTask  : RTS_IEC_HANDLE;
        pResult   : POINTER TO RTS_IEC_RESULT;
    
         ...
    
       END_VAR
  3. 将以下文本放在 PLC_PRG 正文中
    ...
    
    (* Retrieve information about the current task *)
    IF hCurrentTask = SysTypes.RTS_INVALID_HANDLE THEN
             hCurrentTask  := IecTaskGetCurrent(pResult:=ADR(Result));
             pTaskInfo     := IecTaskGetInfo3(hIecTask:=hCurrentTask, pResult:=ADR(Result));
    END_IF
    
    ...
  4. 将跟踪对象添加到 CODESYS 项目

    1. 右键点击左侧面板上的“Application”
    2. 选择“Add Object > Trace”
      AM6442, AM625, AM69 CODESYS 添加跟踪对象图 7-4 CODESYS 添加跟踪对象
    3. “Task for Trace Recording”下,选择包含 PLC_PRG 的任务
    4. 在跟踪对象中选择“pTaskInfo->cycle time”pTaskInfo->jitter”以进行跟踪
      1. 双击左侧面板中“Application”下的“Trace”对象
      2. 右键点击跟踪对象图上的任意位置,然后选择“Add Variable”
      3. “Variable”条目旁边,点击 3 个点
      4. 选择与“pTaskInfo->cycle time”“pTaskInfo->jitter”对应的变量

    在跟踪对象中启动图形界面

    1. 右键点击跟踪对象图上的任意位置,然后选择“Download Trace”

    将跟踪对象内容另存为 csv 或 txt 文件

    1. 右键点击跟踪对象图上的任意位置,然后选择“Save Trace”