Skip to content

TwinCAT 3#

Known issues#

  • Sudden error message "The operation could not be completed. Unspecified error" in a TwinCAT project. Function block files, would have yellow triangle symbols with an exclamation mark next to them. Starting a new project would result in _3S.CoDeSys.UserManagement.UserAuthentication. Issue and fix reported here
  • All versions of TwinCAT 3 have issues rendering dialogs and visual elements that rely on WinForms on high-DPI monitors. A work-around is to turn off DPI awareness for WinForms using the registry, see here. Issues related to this:
    • Some dialogs are not displayed correctly when using a 4K monitor (Add POU, Library Manager, Prepare Value)
    • HighDpi: Content of WebVisu object is not displayed correctly, when using a display zoom > 100%
    • UML, HighDpi: Diagrams are not shown properly if display zoom > 100% (improper position relations, transition conditions/relation identifiers overlay other elements)
    • HighDpi: Elements in toolbox get unclear/cannot be identified if display zoom > 100% (UML SC, UML CD, Visu)
    • With high dpi the dialog 'Details' of the library manager is not displayed correctly
    • Many tables in the IDE such as the "Startup parameter list" under I/O devices are collapsed such that not all the content is displayed unless the column is manually resized
  • Keywords such as bool inside of TcLinkTo attributes are auto-capitalized. Work-around: turn off the "Convert keywords to uppercase automatically" option under PLC Environment > Smart coding. This is an issue because TcLinkTo is case-sensitive and some devices use keywords for the channel names, such as bool inside of an IO-link input channel.
  • The use of complex data types such as structures is not supported in the RecipeManager. Attempting to use them results in an 'Invalid Type' warning in the Type column and a compile error.
  • Variables inside library function blocks are not subject to the implicit bounds checking provided by the 'CheckBounds' feature. This can result in accessing invalid indices, causing exceptions if bounds are not properly checked. It is also assumed that other implicit checks are not active.
  • TwinCAT's design does not allow paths length greater than 255 characters. It's possible to exceed this limit by renaming root folders, which may result in a compilation error.
  • If a folder is renamed such that a method/FB/program/etc. has a path exceeding 255 characters, TwinCAT usually still compiles. However, clicking on an error message in the error list can cause TwinCAT to crash.
  • TwinCAT allows the installation of a library containing a file with a path exceeding 255 characters without issue. However, attempting to compile this file results in an error message that is essentially useless.
  • Despite using __ISVALIDREF() to validate a reference, the static analysis rule SA0145 does not recognize it as valid and continues to give an error.
  • The Static Analysis rule SA0002 generates an empty object warning for an empty object even if it contains a '// Not needed' comment. This rule cannot be used with Function Blocks via methods only.
  • TwinCAT allows setting a stack size that is too large for a controller, which can cause it to crash without any error message or indication.
  • When typing a type from a library in TwinCAT, it tries to insert the library namespace, which is not valid for the library.
  • Events added to an EventClass in the type system must be successfully compiled to be saved. If changes are made and the project is saved without building it, the changes are not saved. Similarly, if there is a compile error, the changes are not saved.

Version 3.1.4026.10#

Features#

  • Removed option to "Load Project from TwinCAT 2.xx Version" from TwinCAT XAE project menu. See reported issue.

Version 3.1.4024.59#

Bug fixes#

  • If a compiled libary is included in the project you could not open the libary by selecting the normal libary file. A popup to select the libary was shown, but the libary would not open.

Version 3.1.4024.56#

Bug fixes#

  • TwinCAT automation interfaces: fixes bug when configuring Boot settings, the example in InfoSys can be run now

Version 3.1.4024.47#

Bug fixes#

  • TcXaeShell: Message 'Project has been modified outside the environment' during export of Control plus Studio fixed
  • Support of Visual Studio 2019 improved (Search, Find all References/Cross Reference List)
  • TwinCAT Project Compare: Fixed a crash when comparing a SFC chain
  • 'Go to definition [F12]' was sometimes not visible in the context menu of a variable in previous 4024 versions

Features#

  • New tool/User interface for Emergency Scan. Located in IO -> EtherCAT master -> Advanced Settings -> Emergency -> Scan. More information in InfoSys

Version 3.1.4024.40#

Features#

  • MC_Halt/MC_Stop switches automatically to cyclic synchronous velocity (velocity control) (CSV) cyclic synchronous position (position control) (CSP) after recovering from and error where the previous state was Cyclic Synchronous Torque Mode (CST). InfoSys.

Version 3.1.4024.35#

Bug fixes#

  • FB_Exit is called again when PLC_Reset is used.
  • "Find all references" and "Go to definition" menu was sometimes missing.
  • TwinCAT no longer crashes when a cold reset is done via a Visual Basic script and a Tc3_EventLogger.FB_TcMessage is used.

Features#

  • MC_GearInVelo now supports SyncMode := TIMEBASE with negative gains.
  • MC_MoveVelocity, MC_MoveAbsolute and MC_Halt ran into error when frequently called with changing dynamics and BufferMode := MC_Aborting.
  • The user interface for task sorting is updated.
  • The ContinuousUpdate input of MC_TorqueControl works. Note: you need to update your run time to version 3.1.4024.35 for it to work.
  • MC_TorqueControl works in simulation mode. Note: you need to update your run time to version 3.1.4024.35 for it to work.

Version 3.1.4024.32#

Bug fixes#

XAE#

  • Link between two TcCom objects created invalid mapping object.
  • TMC Editor: DoubleQuotes were doubled while re-import translations for events.
  • Status of the option "Swap LOBYTE and HIBYTE" were not stored.
  • Converter: If the PLC project could not be build, the change of the GVL variable links was not executed.
  • Wrong IEC code for ‘qualified only’ ENUM type used in struct with default value.
  • XAE had problems after reloading TMC on an object.
  • If there was an old TMC file after updating the local copy of a specific project via Git, an unrestored link was not restored after compiling this project.
  • __FileName__ was not set to (error) message if the "source" was saved as an independent project file.
  • Renaming the PLC project leads to names of all its instances were changed except of first default one.
  • When using the Automation Interface to add variant specific setting and then add a new variant config, the variant specific settings were lost.
  • An error in serializing RPC method calls is fixed.
  • Automation Interface: TwinCAT XAE problems when specifying ImplementationCode in ITcSmTreeItem::CreateChild TreeItemType.PlcPropertySet or TreeItemType.PlcPropertyGet.

IO#

  • Adapter IP incompatible warning staid and causes problems.
  • An AMP8000 EtherCAT device could be erroneously inserted.
  • IoT Driver: problems with tlsv1.3 version.
  • EtherCAT: When inserting a device before a device with connector, the connector was not checked.
  • A device which only has an A-Port cannot be inserted multiple times.
  • It is now possible to add an AMP8000 to a port if there is a disabled AMP8000 connected.
  • BACnet Rev14: ReadProperty was not working with ArrayIndex, also not working with RPM.
  • BACnet Extension: Adjusted structured view creation to use setting in BACnet_Param.eView_SubordinateAnnotationMode to generate structure.
  • Profinet Controller: wrong record alignment during fragmentation.
  • EtherNet/IP: Communication Interruption on Explicit Messaging once every 24—48 hours.
  • In a specific third party drive it was not possible to change specific PDO settings.
  • TwinCAT XAE had problems after rescanning a BK9100.
  • Dynamic PLC Objects can now not deleted from BACnet.
  • EtherCAT: a problem occurred when an emergency was sent by the EPP3632-0001.
  • BACnet Rev14 : COV-U was not working correctly if client/object is configured statically.
  • Sometimes a problem occurred when one restarts TwinCAT and the HMI EtherCAT Topology Control is active.
  • EthernetIP: Master might use invalid Destination IP for Output UDP-IO Frames depending on FwdOpen reply of remote node.
  • Warning about EtherCAT address appeared for disabled terminals although it is not possible to change the address.
  • In the memory view of an EtherCAT slave PHY MIO Address was not displayed correctly.
  • Different values in startup with and without ESI.

PLC#

  • Breakpoint handling: second PLC did not start anymore if a breakpoint was set in first PLC and the code of the first PLC was changed via online change.
  • Busy Hangup during Build of special TwinCAT Project with PLC.
  • After update from one version to the next one a problem appeared after a TwinCAT restart.
  • ‘Find All’ in Visual Studio 2019 jumps now to correct line in PLC.
  • Automation Interface: Export/ProduceXml was not possible for PLC functions without return type (void).
  • TcDocGen: internal variables now also rendered in documentation.
  • Standalone PLC: Parameter (0x08500005) mismatch error appeared while online change in a specific project
  • Project Compare problem occurred while comparing two SFC POUs.

NC#

  • 'ContinuousUpdate' feature added to MC_TorqueControl for fast communication to change the commanded target torque value (like a cyclic controller app).
  • New NC simulation mode for MC_TorqueControl (equal to the existing NC simulation axis with simulation encoder).
  • Automation Interface: Include axis links in encoder device XML.
  • MC_MoveModulo improved to prevent seldom run-time error when new modulo command is requested during active movement.
  • Improvement switching drive operation mode from TorqueCtrl into Pos/Velo-Ctrl.
  • If TcNcAxis attribute in PLC could not be resolved an error message appears.
  • Jerk adjustment in a special situation during the decoupling phase of an accelerating slave axis with a new motion command to minimize unexpected overshoot.
  • Encoder Sub Mask with value 0xFFFFFFFF is now leading to correct velocity scaling for example Bode plot.
  • XFC time cam shorter than cycle time is supported.
  • Tc2_MC2_XFC digital cam is considering direction parameter when turning on (MC_DigitalCamSwitch).

System#

  • Changed ‘hint’ to ‘error’ dialog when a task dump is (or might be) written.
  • Problems when accessing last byte of an array of BITARR4 with an uneven number of elements.
  • EventLogger lead to problems on CX8200.
  • TwinCAT/BSD: Evaluates now UserPath from TcRegistry.xml in SystemService.
  • TwinCAT/RTOS: MQTT receive error in combination with CX7000 fixed.
  • Expanded exception window text with the last four version numbers. For example 3.1.4548.6.
  • TcEventLogger: Required LoggedEvents.db to be closed in CONFIG Mode.
  • TwinCAT/BSD: EventLogger problems on C6017/CX5120 fixed.
  • TcEventLoggerAdsProxy: Alignment error in GetSourceGuid fixed.
  • TcEventLogger: AdsLogMessages might be malformed.
  • Tc3_JsonXml: FB_JsonSaxPrettyWriter EXTENDS FB_JsonSaxWriter again so function blocks are interchangeable again for things dependent on the interface like FB_JsonReadWriteDatatype. This broke between 4024.15-29.

Features#

IO#

  • Added ADS service to the EtherCAT master to write data to the EEprom of an EtherCAT slave.
  • Added support of Intel I225 network adapter on Windows CE.

NC#

  • Added write access via PID for synchronous torque pre-control (additive torque offset for drive nOutData3).

Version 3.1.4024.29#

Features#

Bug fixes#

XAE#

  • Import .tnzip files lead to incorrect paths
  • XAE had problems after working with a specific project for some time.
  • Auto generated type could be changed in editor.
  • VariantManagement: Network adapter was not saved correctly variant specifically, if 'Virtual Device Names' was activated.
  • XAE had problems if a percent sign (%) was used with attribute 'TcLinkTo'.
  • Automation Interface: Change of encrypt file did not change the encryption of the file.
  • Automation Interface: ConsumeXml changes were overridden by closing tab dialog.
  • Converting of TwinCAT 2 .tsm did not work properly, reference was not set to an instance of an object if adding task reference to PLC.
  • Task got allocated port number.

IO#

  • TC/BSD: USB dongle occasionally caused "Send Mbx Communication Warning" error.
  • MQTT retain flag for ‘last will’ was not set correctly when the MQTT client sends the ‘last will’ when the socket is closed.
  • Profibus: Some modules with ' (' in name, were not accessible.
  • EthernetIP: Timeout multiplier combo-box was not working correct.
  • EthernetIP: Sending of UDP IO frames was disturbed.

PLC#

  • Variables of structure ST_LibVersion were missing in automatically generated function F_GetVersion.
  • UML SC library 4.2.2.0 was not properly installed, although it was part of the "ManagedLibraries" folder.
  • Online change after a change of the mapping lead to problems.
  • FB_Reinit of sub-instance was not called during Online Change.

NC#

  • NC configuration decimal values missing / change in decimal symbol.
  • Small modifications on NC SAF and SVB task interrupt handling to prevent race conditions.

System#

  • TC/BSD: OS Version in "Add Route Dialog" shows now correct TwinCAT/BSD.
  • Secure ADS: Host name was limited to 32 bytes, longer FQDN could not connect

Features#

IO#

  • EtherCAT Slave: m_guidTComEvent readable via ADS.
  • Object name is used for EtherCAT emergency messages.
  • System Manager checks now if the same NIC is used for standard EtherCAT and for Redundancy.
  • Support implemented for disabling sending of cyclic EtherCAT frames, that only have commands directed to disabled slaves.

NC#

  • "add to scope" functionality for NC axis.

Version 3.1.4024.25#

Features#

  • TF6281 Ethernet/IP Scanner - EDS Parser version updated to 1.9 - Overhaul of UI interface and optimization of Config Instance handling
  • Exceptions within FB_init, FB_reinit & FB_exit now result in a core dump InfoSys

Version 3.1.4024.24#

Features#

Version 3.1.4024.23#

Features#

  • Limitation of decimal places with Tc3_IotCommunicator. InfoSys

Version 3.1.4024.22#

Features#

Fix#

  • Find All References (Cross Reference List) broken in v4024.20 solved.
  • 'Symbolic Mapping' bug fixed. Prior to this release, if Symbolic Mapping was enabled, some mapped links could become non-functional if there was certain ADS communications during an activation or restart.

Version 3.1.4024.17#

Features#

  • In addition to the initial values of the parameters, the contexts can be assigned to tasks for the specific variant on the Context tab InfoSys
  • The status of the licenses on the Manage Licenses tab, which can be manually changed, is only changed for the active project variant or group InfoSys
  • The settings for the axis type and unit on the Settings tab are only saved for the active project variant or group. InfoSys
  • The Modulo scaling of a SERCOS encoders on the Sercos tab is only saved for the selected project variant or group. InfoSys
  • The axis type set on the Configuration tab is only saved for the active project variant or group. InfoSys
  • The variant of the stand-alone PLC project selected on the Project tab is only saved for the active project variant or group. InfoSys
  • The device set on the General NOV-DP-RAM device tab is only set for the active project variant or group. InfoSys
  • The NOV-DP-RAM device is only inactive for the active project variant or group. InfoSys
  • Added: Tc3_EventLogger.FB_TcEventCsvExportSettings

Version 3.1.4024.15#

Bug fix#

  • A faulty driver in 4024.10-4024.12 can lead to Visual Studio crashes during a stand-alone project build. Specifically during the "Import symbol information" build step if a .TPR refactor file is present. Should be fixed in > 4024.12 (Source: Beckhoff support CH. See also StackOverflow.)

Features#

  • Automatic Accurate Stop for NCI GST Interpreter InfoSys
  • Added: Tc2_MC2.MC_TorqueControl. Requires Tc3 3.1.4024.15 on both XAE and XAR. Requires firmware 2.14 or later for AX5000 and firmware 1.03 Build 002 or later for AX8000.

Version 3.1.4024.12#

Features#

  • Change in path dynamics for NCI GST Interpreter InfoSys

Version 3.1.4024.11#

Warning

Usage of this version is not recommended due to some issues. Bosch TwinCAT changelog.

Features#

Version 3.1.4024.10#

Warning

Usage of this version is not recommended due to some issues. Bosch TwinCAT changelog.

Features#

  • Support of Visual Studio 2019
  • The TcCom object is only disabled for the active project variant or group InfoSys
  • The initial values of the parameters listed on the Parameter (Init) tab can be enabled for the variant management InfoSys
  • The C++ project/instance is only disabled for the active project variant or group. InfoSys
  • C++ instance: The initial values of the parameters listed on the Parameter (Init) tab can be enabled for the variant management. InfoSys
  • C++ instance: The interface pointers listed on the Interface Pointer tab can be enabled for the variant management. InfoSys

Version 3.1.4024.7#

Features#

Version 3.1.4024.4#

Features#

  • Spline interpolation for NCI GST Interpreter InfoSys
  • Change in axis dynamics for NCI GST Interpreter InfoSys
  • The links selected via the Link to I/O button and Link To PLC on the Settings tab are only saved for the active project variant or group. InfoSys
  • The links to the process data objects (PDOs) of the EtherCAT device are only saved for the active project variant or group. InfoSys

Version 3.1.4024.0#

Features#

PLC properties#

  • Improvements in the cross-reference list (new filter, performance enhancements).
  • New keyword: ABSTRACT for abstract FB/method/property definition.
  • Improved monitoring of interface variables.
  • Small icons in the solution tree show access modifiers.
  • ENUMs now also available as strings in the PLC.
  • Exception handling via TRY-CATCH for 32-bit systems.
  • Simplified commenting function in the PLC using CTRL + K and then either CTRL + C or CTRL + U to comment or uncomment.
  • 'Released' flag is used during library creation.
  • Conditional compilation also available in the declaration section (in addition to implementation part).
  • Multi-line support in pragma declarations.
  • New, optional Base64 memory format for graphical PLC objects.
  • Events stored in a separate .TMC file are formatted with line breaks.
  • New pragma {attribute 'to_string'}, which makes the ENUM states available in string format. InfoSys

PLC HMI properties#

  • Automatic local start of the PLC HMI client at runtime.
  • Dynamic scaling for the operating elements of the measuring equipment category.
  • Offline rotation of elements.
  • Performance improvements during opening of dialogs.
  • Automatic transfer of scaling options of the TargetVisu object to the Tc3PlcHmi.ini file.

C++ & MATLAB properties#

  • Exchange of TcCOM modules for C++ and MATLAB®/Simulink® while the machine is running.
  • Repository for versioned C++ projects.
  • New way of signing TcCOM modules.

AML data exchange#

  • Based on the AutomationML format.
  • Bidirectional exchange of I/O topologies with ECAD tools.
  • Incremental import of I/O topologies.
  • Fully integrated in TwinCAT.
  • User-defined function blocks can be created and instantiated as often as required (including GoToDefinition, Online View, nesting up to 2 levels).
  • Multiple use of variables.
  • Global variables.

Scope properties#

  • Project wizard facilitates Scope configuration.
  • New single bar and digital charts.
  • Dynamic style for dynamic display switching, depending on variables.
  • Shapes: display of geometric shapes in x/y plots.
  • Vision trigger: inserts images with time stamp into the Scope data stream.
  • Headless mode: allows the view to be disconnected from the server during recording.
  • Marker: with docking function on the x-axis and label feature.
  • Integrated dictionary with physical units.
  • Clear display option for clearing the chart after the display time has elapsed.

Version 3.1.4022.32#

Features#

  • When using Integrated Robotics with Stäubli robots the uniVALplc Client Library is installed correctly with OES and Control plus Studio. This is important in case of a new development/service computer. Bosch TwinCAT changelog.
  • TMC-Editor: black screen for Choose Language.
  • One-Click PDO-Mapping: a PDO can now be displayed as a structured variable, which may contain sub-structures.

IO#

  • EthernetIP: new features "CoEoverCIP" and "FwdMsgToAmsPort" and implemented 16 bit Class/Instance/Attribute support.
  • Added support for installing adapter via MAC address.
  • EthernetIP: Forwarding of Class3-Messages to AmsPort (for example PLC) is now implemented.
  • Extension of the diag history for some slaves.
  • Multiple SafetyLogic-devices are now supported.
  • EK9300 and EL6631-0010: support up to 4 ARs in parallel.
  • Profinet: supports feature 'discard IOXS' for the device simulation.
  • EthernetIP: Eth Statistics and IpStack Statistics are now available.
  • Creating a warning if attribute 'hide' is used for persistent variables.
  • Initialization via Attribute 'TcInitSymbol': Added opportunity to define min and max values in PLC editor which are observed regarding the defined init value in init-table.

NC#

  • Disable/reduce NC logger messages for flying saw (for example calculate extrema for MC_GearInVelo, MC_GearInPos) if switching the NC logger level from 2 (SMART) down to 1 (MINIMUM).
  • The "NC Axis Name" can now be longer than 31 characters for more extended information.
  • MC_GearInMultiMaster oversampling factor changed down to 10 to get a lower real time usage.
  • Improvement for large master values of splines.
  • New parameter for total covered distance.

Bug fixes#

XAE#

  • In the RM setup of this version the file TcXaeVsx.15.0.dll is missing. Therefore no TwinSAFE project can be opened (the TwinSAFE are is empty). Manually install this file into the Windows GAC. Bosch TwinCAT changelog.
  • Tc3Eventlogger: Selection of language keys needed two clicks instead of one.
  • CoE-Online: CoE-Entries of type Octet-String are now displayable up to 0x1000 bytes.
  • Tc Live Watch: Depending on Symbol Selection sometimes an increment was executed twice.
  • Compare tool: compare with target without PLC was not possible.
  • EthernetIP: EDS-Files with a Parameter-Value > INT64 and EDS-Files without Assembly were rejected.
  • Automation Interface: TcXaeShell froze while importing a XTI file of an EL6652.
  • When a Tc2 Runtime was active and TwinCAT 3.1 XAE was trying to activate to configuration on the local hardware no error message was pointing to this error.
  • Axes might not be automatically renamed when copied and pasted between different folder levels.
  • Import of a device via XTI-File named "Device 0" lead to Visual Studio problem.

PLC#

  • Library content was only shown in Library Manager after reopening the solution.
  • Support of initial values for TcInitSymbol in attribute declaration context.
  • Automation Interface: LibraryManager: Adding a library with three-digit version number contained ".*" on fourth place.
  • PLC HMI: VISU_TASK was duplicated under certain conditions when opening solution.
  • Output Pane "Build" was not cleared before "Check all objects".
  • Error might appear when installing lib from TNZIP archive ("Failed to open managed library (Reason: Object reference not set to an instance of an object)").

Version 3.1.4022.31#

Features#

Version 3.1.4022.30#

Bug fixes#

  • POUs can be removed from a PLC project in visual studio again.
  • Project compare tool works again. Bosch TwinCAT changelog.

Version 3.1.4022.29#

Features#

Version 3.1.4022.27#

Features#

Bugs#

Version 3.1.4022.20#

Features#

Version 3.1.4022.16#

Bug fixes#

  • Sometimes the Microsoft patch for Spectre/Meltdown would prevent you from activating the configuration on a local runtime. See also.

Version 3.1.4022#

Features#

Remarks#

  • TwinCAT 3.1.4022 handles I/O variables (%I*,%Q*) differently from all previous versions. If an I/O variable has the attributes {attribute 'hide'} or {attribute 'hide_all_locals'} (directly or indirectly), this variable is no longer included in the I/O image of the task and therefore cannot be linked any more. Bosch TwinCAT changelog.

Version 3.1.4020.56#

Bug fixes#

Version 3.1.4020.32#

Features#

Version 3.1.4020.28#

Features#

Note

Some of these features were likely already added in an earlier 4020.x release, but it is not known at this point.

Version 3.1.4020.14#

Features#

Version 3.1.4020#

Features#

Version 3.1.4018.26#

Features#

Version 3.1.4018#

Features#

Version 3.1.4013#

Features#

Version 3.1.0#

Warning

While converting TwinCAT 3.0 projects into the TwinCAT 3.1 unexpected Negations and Edge Detection can occur in FBD/LD. Please check your app after the conversion process.

Features#

Version 3.0.0#

Features#

Back to top