TwinCAT3-自动化接口-在Jenkins控制台上显示O / P

问题描述 投票:0回答:1
  1. 使用自动化接口,我可以在TwinCAT 3.1.4024.4中构建和启动激活配置。
  2. 如果同一项目在正常运行和激活配置下,则消息和错误将显示在VS2013的输出控制台中。
  3. 在自动化界面中,使用ErrorItems errors = dte.ToolWindows.ErrorList.ErrorItems;我只能读取和显示消息1到10。
  4. 其他消息具有不同的格式TwinCAT System (10000) or PlcTask (350):
  5. dte.ToolWindows.ErrorList.ErrorItems;不会捕获吗?
  6. 在VS2013的输出控制台中,有两个选项:Show output from build and Show output from twinCAT
  7. 在自动化接口中,我认为我只能从build中读取消息,而从TwinCAT中则看不到消息>
  8. 是否可以读取TwinCAT消息?
  9. VS2013控制台输出:

    Message 1   The application is up to date       0   0   
    Message 2   Build complete -- 0 errors, 0 warnings : ready for download!        0   0   
    Message 3   Additional code checks ...      0   0   
    Error   4   SA0033: Unused Variable 'fbSum_Test'    UnitTestJenkins (UnitTestJenkins\UnitTestJenkins)
    Error   5   SA0033: Unused Variable 'fbDegreesToRadians'    4   1   UnitTestJenkins (UnitTestJenkins\UnitTestJenkins)
    Error   6   SA0033: Unused Variable 'data'  FB_DegreesToRadians_Test.DegreesToRadians_Test1 3   1   UnitTestJenkins (UnitTestJenkins\UnitTestJenkins)
    Message 7   Additional code checks complete -- 3 errors     0   0   
    Message 8   Generate TMC information ...        0   0   
    Message 9   Import symbol information ...       0   0   
    Message 10  generate boot information...    PLC.UnitTestJenkins 0   0   UnitTestJenkins (UnitTestJenkins\UnitTestJenkins)
    Message 11  29.11.2019 09:52:58 477 ms | 'TwinCAT System' (10000): Ein Neustart des TwinCAT Systems wurde von AmsNetId: 10.73.8.239.1.1 Port 32867 angefordert.     
    Message 12  29.11.2019 09:52:58 614 ms | 'TwinCAT System' (10000): Konfiguration des COM Servers TcEventLogger wird gesichert!      
    Message 13  29.11.2019 09:52:59 440 ms | 'TwinCAT System' (10000): COM Servers TcEventLogger wird heruntergefahren!     
    Message 14  29.11.2019 09:53:01 467 ms | 'TwinCAT System' (10000): Konfiguration des COM Servers TcEventLogger wird geladen!        
    Message 15  29.11.2019 09:53:01 468 ms | 'TwinCAT System' (10000): COM Server TcEventLogger wird initialisiert!     
    Message 16  29.11.2019 09:53:01 517 ms | 'TwinCAT System' (10000): TcIo Server wurde gestartet: TcIo.       
    Message 17  29.11.2019 09:53:01 530 ms | 'TwinCAT System' (10000): TcPlc30 Server wurde gestartet: TcPlc30.     
    Message 18  29.11.2019 09:53:01 537 ms | 'TwinCAT System' (10000): TcRtsObjects Server wurde gestartet: TcRtsObjects.       
    Message 19  29.11.2019 09:53:01 543 ms | 'TwinCAT System' (10000): TcRTime Server wurde gestartet: TcRTime.     
    Message 20  29.11.2019 09:53:01 660 ms | 'License Server' (30): license validation status is Valid(3)       
    Message 21  29.11.2019 09:53:01 704 ms | 'TCRTIME' (200): Intel(R) Core(TM)-i 4'th generation detected      
    Message 22  29.11.2019 09:53:02 078 ms | 'TwinCAT System' (10000): COM Server TcEventLogger wird gestartet!     
    Error   23  29.11.2019 09:53:02 108 ms | 'PlcTask' (350): FAILED TEST 'PRG_TEST.fbSum_Test@TwoPlusTwoEqualsFour', EXP: 4, ACT: 3, MSG: The calculation is not correct       
    Error   24  29.11.2019 09:53:02 168 ms | 'PlcTask' (350): FAILED TEST 'PRG_TEST.fbDegreesToRadians@DegreesToRadians_Test1', EXP: 0.0, ACT: 0.01745329, MSG: The calculation is not correct      
    Error   25  29.11.2019 09:53:02 228 ms | 'PlcTask' (350): FAILED TEST 'PRG_TEST.fbDegreesToRadians@DegreesToRadians_Test2', EXP: 1.0, ACT: 0.01745329, MSG: The calculation is not correct      
    Error   26  29.11.2019 09:53:02 388 ms | 'PlcTask' (350): | ==========TESTS FINISHED RUNNING==========      
    Error   27  29.11.2019 09:53:02 708 ms | 'PlcTask' (350): | Test suites: 2      
    Error   28  29.11.2019 09:53:03 028 ms | 'PlcTask' (350): | Tests: 4        
    Error   29  29.11.2019 09:53:03 348 ms | 'PlcTask' (350): | Successful tests: 1     
    Error   30  29.11.2019 09:53:03 668 ms | 'PlcTask' (350): | Failed tests: 3     
    Error   31  29.11.2019 09:53:03 988 ms | 'PlcTask' (350): | ======================================  

Jenkins控制台上的输出:[只能读取前10条消息]

    ActivateConfiguration Errors count: 10
    vsBuildErrorLevelLow: Description: The application is up to date
    vsBuildErrorLevelLow: Description: Build complete -- 0 errors, 0 warnings : ready for download!
    vsBuildErrorLevelLow: Description: Additional code checks ...
    vsBuildErrorLevelHigh: Description: SA0033: Unused Variable 'fbSum_Test'
    vsBuildErrorLevelHigh: Description: SA0033: Unused Variable 'fbDegreesToRadians'
    vsBuildErrorLevelHigh: Description: SA0033: Unused Variable 'data'
    vsBuildErrorLevelLow: Description: Additional code checks complete -- 3 errors
    vsBuildErrorLevelLow: Description: Generate TMC information ...
    vsBuildErrorLevelLow: Description: Import symbol information ...
    vsBuildErrorLevelLow: Description: generate boot information...
    Exit code is 1

C#代码:

//5.4.1 ITcPlcProject - Automation Interface document 
    ITcSmTreeItem plcProjectRootItem = sysMan.LookupTreeItem("TIPC^UnitTestJenkins");
    ITcPlcProject iecProjectRoot = (ITcPlcProject)plcProjectRootItem;
    iecProjectRoot.BootProjectAutostart = true;
    iecProjectRoot.GenerateBootProject(true);

    sysMan.ActivateConfiguration();
    sysMan.StartRestartTwinCAT();
    ErrorItems ActivateConfigurationErrors = dte.ToolWindows.ErrorList.ErrorItems;
    Console.WriteLine("ActivateConfiguration Errors count: " + ActivateConfigurationErrors.Count);

    for (int i = 1; i <= ActivateConfigurationErrors.Count; i++)
    {
        ErrorItem item = ActivateConfigurationErrors.Item(i);
        Console.WriteLine(item.ErrorLevel + ": " + "Description: " + item.Description);
    }

请查看输出的屏幕截图:Build&TwinCAToutput

使用自动化接口,我可以在TwinCAT 3.1.4024.4中构建和启动激活配置。如果同一项目在正常运行和激活配置下,则消息和错误为...

c# jenkins envdte twincat
1个回答
0
投票

我看到您正在使用TcUnit。问题在于,您在收集ErrorItem之前没有等待TcUnit完成。仅在执行ActivateConfiguration()和StartRestartTwincat()之后才收集错误项(这就是为什么只获得前10个)。您需要等待TcUnit完成。

© www.soinside.com 2019 - 2024. All rights reserved.