{"id":106750,"date":"2024-02-07T15:04:30","date_gmt":"2024-02-07T07:04:30","guid":{"rendered":"https:\/\/www.tm-robot.com\/?post_type=docs&#038;p=106750"},"modified":"2024-02-27T14:47:24","modified_gmt":"2024-02-27T06:47:24","slug":"how-to-exchange-data-between-tmcraft-toolbar-and-tmcraft-node","status":"publish","type":"docs","link":"https:\/\/www2.tm-robot.com\/ja\/docs\/how-to-exchange-data-between-tmcraft-toolbar-and-tmcraft-node\/","title":{"rendered":"How to Exchange Data Between TMcraft Toolbar and TMcraft Node"},"content":{"rendered":"<p>Examples are valid for:<\/p>\n<p>TMflow Software version:<\/p>\n<ul>\n<li>2.16 or above.<\/li>\n<li>Visual Studio 2022<\/li>\n<li>NET 6.0<\/li>\n<\/ul>\n<p>TM Robot Hardware version: Only Support HW3.2 or above<\/p>\n<p>Other specific requirements: None<\/p>\n<p>Note that older or newer software versions may have different results.<\/p>\n<hr \/>\n<h1>Introduction<\/h1>\n<p>This document demonstrates an example of developing two types of GUIs and defining a text file to exchange data between these GUIs in TMflow. The integrated development environment is Visual Studio 2022. These GUIs can be plugged into TMflow. One of the plug-in GUIs is named <strong><u>TMcraft Toolbar<\/u><\/strong>, and the other one is named <strong><u>TMcraft Node<\/u><\/strong>.<\/p>\n<h2>TMcraft Toolbar<\/h2>\n<p>TMcraft Toolbar is a floating window. Users can use this floating window anywhere and anytime in TMflow, as shown below:<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/1-TMcraft-Toolbar.gif\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-107997\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/1-TMcraft-Toolbar.gif\" alt=\"\" width=\"1477\" height=\"854\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h2>TMcraft Node<\/h2>\n<p>TMcraft Node is a node defined by the user for both functionality and interface. It can be plug-in to the control flow of TMflow. As shown below:<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/2-TMcraft-Node.gif\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-108003\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/2-TMcraft-Node.gif\" alt=\"\" width=\"1477\" height=\"854\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>We created a TMcraft Node (First_TMcraft_Node). Users can find it in the <strong><u>Node List<\/u><\/strong> under the TM_Default group. The user-defined GUI will be open by clicking the edit button after dragging and dropping First_TMcraft_Node into the Flow project.<\/p>\n<h2>How to Share and Exchange Data Between TMcraft Toolbar and TMcraft Node ?<\/h2>\n<p>We create a text file to share data between TMflow Toolbar and TMcraft Node, the format of the text file is XML, and the content is very simple for this example. Each data has one Name and one Value. TMflow Toolbar will edit this text file, and TMcraft Node will display the edited result, as shown below:<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287238686.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-106830\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287238686.jpg\" alt=\"\" width=\"492\" height=\"137\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287238686.jpg 492w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287238686-300x84.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287238686-360x100.jpg 360w\" sizes=\"(max-width: 492px) 100vw, 492px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287273459.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-106837\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287273459.jpg\" alt=\"\" width=\"768\" height=\"416\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287273459.jpg 768w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287273459-300x163.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287273459-360x195.jpg 360w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/a><\/p>\n<p>We designed the GUI of the TMcraft Toolbar to be able to edit this XML text file. Users can add and delete variables within the XML text file. The TMcraft Toolbar will instantly save the editing results to the XML file, as shown in the figure below:<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287303842.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-106843\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287303842.jpg\" alt=\"\" width=\"379\" height=\"280\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287303842.jpg 379w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287303842-300x222.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287303842-360x266.jpg 360w\" sizes=\"(max-width: 379px) 100vw, 379px\" \/><\/a>The design details of the TMcraft Toolbar GUI as shown below:<\/p>\n<ol>\n<li>Edit the Name, Value of the data and add data to XML file by clicking <strong><u>Add<\/u><\/strong> button.<\/li>\n<li>Check the data in the XML file and remove current selected data by clicking Remove button.<\/li>\n<\/ol>\n<p>The TMcraft Node will read the data from the XML file. Each TMcraft Node can select a variable, and TMflow is responsible for saving the variable selected by the Node, as shown in the figure below:<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287421540.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-106850\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287421540.jpg\" alt=\"\" width=\"379\" height=\"289\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287421540.jpg 379w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287421540-300x229.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287421540-360x275.jpg 360w\" sizes=\"(max-width: 379px) 100vw, 379px\" \/><\/a><\/p>\n<p>The design details of the TMcraft Node as shown below :<\/p>\n<ol>\n<li>Display current selected variable<\/li>\n<li>Display all variables of the XML file and user can select one variable by clicking <strong><u>Select<\/u><\/strong> button.<\/li>\n<li>Save or abort current edit result by clicking <strong><u>Ok<\/u><\/strong> or <strong><u>Cancel<\/u><\/strong> button.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p>Users can set parameters through the TMcraft Node. If the Ok button is pressed, the current editing results can be saved through the database provided by TMflow. The next time you open this Node, you can retrieve the last setting results by reading the database, as shown in the figure below:<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/3-TMcraft-Node-for-Save-data.gif\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-108009\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/3-TMcraft-Node-for-Save-data.gif\" alt=\"\" width=\"1477\" height=\"854\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>The details of implement please refer to the following description.<\/p>\n<h2>Where to Find TMcraft and Development Kit ?<\/h2>\n<p>It is essential to download TMcraft and the development kit first to get more information about TMcraft. Please visit the Techman official website and download TMcraft_Development Kit_2.16 or later. in <strong><u>Download Center &gt; Support Softwate &gt; TMcraft<\/u><\/strong>.<\/p>\n<p><strong>FILE REQUIRED :\u00a0<a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287591750.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-106865\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287591750.jpg\" alt=\"\" width=\"772\" height=\"321\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287591750.jpg 772w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287591750-300x125.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287591750-768x319.jpg 768w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287591750-360x150.jpg 360w\" sizes=\"(max-width: 772px) 100vw, 772px\" \/><\/a><\/strong><\/p>\n<p>Download the Visual Studio project that will be implemented in this technical document after completing the download process of the TMcraft Development Kit.<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/TMcraft_Solution.zip\"><span style=\"color: #000000;\">Download : TMcraft_Solution.zip \u00a0 <\/span><\/a><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/TMcraft_Solution.zip\"><img loading=\"lazy\" class=\"alignnone wp-image-108362\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/clip.jpg\" alt=\"\" width=\"28\" height=\"27\" \/><\/a><\/p>\n<h1>Environment<\/h1>\n<p>TMflow Software version:<\/p>\n<ul>\n<li>2.16 or above.<\/li>\n<li>Visual Studio 2022<\/li>\n<li>NET 6.0<\/li>\n<\/ul>\n<p>TM Robot Hardware version: Only Support HW3.2 or above.<\/p>\n<h1>Implement Scope<\/h1>\n<p>We will separate this application into 5 parts:<\/p>\n<table style=\"height: 396px;\" width=\"828\">\n<tbody>\n<tr>\n<td width=\"52\">Part A<\/td>\n<td width=\"125\">(XML text file):<\/td>\n<td width=\"266\">Define data format &amp; saving data<\/td>\n<\/tr>\n<tr>\n<td width=\"52\">Part B<\/td>\n<td width=\"125\">(Text file manager):<\/td>\n<td width=\"266\">Management the XML text file<\/td>\n<\/tr>\n<tr>\n<td width=\"52\">Part C<\/td>\n<td width=\"125\">(TMcraft Toolbar):<\/td>\n<td width=\"266\">Implement GUI of TMcraft Toolbar<\/td>\n<\/tr>\n<tr>\n<td width=\"52\">Part D<\/td>\n<td width=\"125\">(TMcraft Node):<\/td>\n<td width=\"266\">Implement GUI of TMcraft Node<\/td>\n<\/tr>\n<tr>\n<td width=\"52\">Part E<\/td>\n<td width=\"125\">(Test program):<\/td>\n<td width=\"266\">Testing TMcraft Toolbar or TMcraft Node<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287692479.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-106871\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287692479.jpg\" alt=\"\" width=\"492\" height=\"289\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287692479.jpg 492w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287692479-300x176.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287692479-360x211.jpg 360w\" sizes=\"(max-width: 492px) 100vw, 492px\" \/><\/a><\/p>\n<p>Because TMflow defines the file format of TMcraft Toolbar and TMcraft Node, these two GUI plugins, as DLLs, we need to compile TMcraft Toolbar and TMcraft Node into DLL files through Visual Studio. Additionally, we separate the management of XML text file into one program, compile it into a DLL file through Visual Studio, and then allow TMcraft Toolbar and TMcraft Node to access the XML text file by calling the DLL.<\/p>\n<p>Because DLLs cannot be debugged during development, we will create a test program (Part E) to call the DLL files compiled from TMcraft Toolbar and TMcraft Node. This facilitates checking results and debugging during development.<\/p>\n<p>The above five parts, except for the plain text file (Part A), will all be implemented through Visual Studio. Therefore, four projects need to be created, as shown in the figure below:<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287767013.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-106877\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287767013.jpg\" alt=\"\" width=\"379\" height=\"191\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287767013.jpg 379w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287767013-300x151.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287767013-360x181.jpg 360w\" sizes=\"(max-width: 379px) 100vw, 379px\" \/><\/a><\/p>\n<p>Please refer to the following chapter for the details .<\/p>\n<h1>Implement Steps<\/h1>\n<h2>Part A: How to Create Text File?<\/h2>\n<p>This technical article chooses the XML markup language to define parameters. The XML example is provided below:<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287867272.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-106883\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287867272.jpg\" alt=\"\" width=\"750\" height=\"496\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287867272.jpg 750w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287867272-300x198.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287867272-360x238.jpg 360w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/a><\/p>\n<p>Because TMflow only allows .txt files to be imported into Text File folder, please modify the file extension of the XML file to .txt before placing the text file on a USB, please make sure the folder on the USB is: <strong><u>E:\\TM_Export\\TMcraft Pool\\TextFiles\\ExchangeData.txt<\/u><\/strong>, \u201cE:\u201d is the root directory of the USB, and it depends on user\u2019s computer.<\/p>\n<h2>Part B: How to Access Text File in Visual Studio Project?<\/h2>\n<p>XML format text files can be quickly integrated with Visual Studio using the XmlSerializer provided by .NET. Here are the steps:<\/p>\n<p>Step 1: Add a <strong><u>Class Library<\/u><\/strong> project in Visual Studio and named <strong><u>TextFileManager<\/u><\/strong> as shown below:<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287943443.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-106895\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287943443.jpg\" alt=\"\" width=\"771\" height=\"142\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287943443.jpg 771w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287943443-300x55.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287943443-768x141.jpg 768w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287943443-360x66.jpg 360w\" sizes=\"(max-width: 771px) 100vw, 771px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287960402.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-106889\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287960402.jpg\" alt=\"\" width=\"772\" height=\"241\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287960402.jpg 772w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287960402-300x94.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287960402-768x240.jpg 768w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707287960402-360x112.jpg 360w\" sizes=\"(max-width: 772px) 100vw, 772px\" \/><\/a><\/p>\n<p>User can find the project in the project tree, as shown below:<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288029905.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-106907\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288029905.jpg\" alt=\"\" width=\"379\" height=\"191\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288029905.jpg 379w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288029905-300x151.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288029905-360x181.jpg 360w\" sizes=\"(max-width: 379px) 100vw, 379px\" \/><\/a><\/p>\n<p>Step 2: In the code of Visual Studio, add classes and class member that correspond to the data in the XML file.<\/p>\n<p>Step 3: Define classes and class member as XmlRoot, XmlElement, XmlArray, XmlArrayItem, and XmlAttribute according to the format of the XML file.<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288038962.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-106901\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288038962.jpg\" alt=\"\" width=\"750\" height=\"282\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288038962.jpg 750w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288038962-300x113.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288038962-360x135.jpg 360w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/a><\/p>\n<p>Step 4: Using TMcraft TextFileProvider to parse the text file.<\/p>\n<p>Step 5: Design the interface of the TextFileManager and implement the function of these interface. Through this interface, the functionalities and data required by TMcraft Toolbar and TMcraft Node are exposed. The interface design is as follows:<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288121158.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-106913\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288121158.jpg\" alt=\"\" width=\"752\" height=\"280\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288121158.jpg 752w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288121158-300x112.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288121158-360x134.jpg 360w\" sizes=\"(max-width: 752px) 100vw, 752px\" \/><\/a><\/p>\n<p>The details of the interface as shown below:<\/p>\n<p>ExchangeTextModel: The XML data base of theTextDataManage<\/p>\n<p>InitDataList: Initialize and synchronize the data in the TextDataManager<\/p>\n<p>AddDataList: Add a set of the data by sending DataName &amp; DataValue<\/p>\n<p>SaveDataList: Set current edit result to XML file<\/p>\n<p>The more information of <a href=\"https:\/\/learn.microsoft.com\/zh-tw\/dotnet\/api\/system.xml.serialization.xmlserializer\">XmlSerializer<\/a> please refer to .NET official website:<\/p>\n<p><a href=\"https:\/\/learn.microsoft.com\/zh-tw\/dotnet\/standard\/serialization\/examples-of-xml-serialization\">https:\/\/learn.microsoft.com\/zh-tw\/dotnet\/standard\/serialization\/examples-of-xml-serialization<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Step 6: Click Build after right click TextFileManager node (No.1) to generating the TextFileManager.dll (No.2) as shown below:<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288171126.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-106919\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288171126.jpg\" alt=\"\" width=\"492\" height=\"221\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288171126.jpg 492w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288171126-300x135.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288171126-360x162.jpg 360w\" sizes=\"(max-width: 492px) 100vw, 492px\" \/><\/a><\/p>\n<h2>Part C: How to Implement TMcraft Toolbar in Visual Studio Project ?<\/h2>\n<p>Step 1: Create a WPF User Control library project named TMcraft_Toolbar_UserControl as shown below:<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288224221.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-106943\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288224221.jpg\" alt=\"\" width=\"768\" height=\"124\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288224221.jpg 768w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288224221-300x48.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288224221-360x58.jpg 360w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288228284.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-106937\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288228284.jpg\" alt=\"\" width=\"772\" height=\"217\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288228284.jpg 772w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288228284-300x84.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288228284-768x216.jpg 768w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288228284-360x101.jpg 360w\" sizes=\"(max-width: 772px) 100vw, 772px\" \/><\/a><\/p>\n<p>Step2 : Add TMcraft.dll (No.2) and TextFileManager.dll (No.3) as project\u2019s <strong><u>Dependencies<\/u><\/strong>, by click <strong><u>Add Project Reference\u2026<\/u><\/strong> after right click <strong><u>Dependencies<\/u><\/strong> node (No.1):<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288239627.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-106931\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288239627.jpg\" alt=\"\" width=\"492\" height=\"174\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288239627.jpg 492w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288239627-300x106.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288239627-360x127.jpg 360w\" sizes=\"(max-width: 492px) 100vw, 492px\" \/><\/a><\/p>\n<p>Step 3: Implement necessary function, code and GUI, please refer to the source code for the details.<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288244238.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-106925\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288244238.jpg\" alt=\"\" width=\"625\" height=\"531\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288244238.jpg 625w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288244238-300x255.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288244238-360x306.jpg 360w\" sizes=\"(max-width: 625px) 100vw, 625px\" \/><\/a><\/p>\n<h2>Part D : How to Implement TMcraft Node in Visual Studio Project ?<\/h2>\n<p>Step 1 and Step 2 please refer to the Part C.<\/p>\n<p>Step 3: Implement necessary function, code and GUI, please refer to the source code for the details.<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288369610.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-106961\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288369610.jpg\" alt=\"\" width=\"591\" height=\"533\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288369610.jpg 591w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288369610-300x271.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288369610-360x325.jpg 360w\" sizes=\"(max-width: 591px) 100vw, 591px\" \/><\/a><\/p>\n<h2>Part E: How to Implement TMcraft_Test_App in Visual Studio Project ?<\/h2>\n<p>Step 1 : Create a WPF application project named TMcraft_Test_App as shown below:<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288374148.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-106955\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288374148.jpg\" alt=\"\" width=\"768\" height=\"127\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288374148.jpg 768w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288374148-300x50.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288374148-360x60.jpg 360w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288378425.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-106949\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288378425.jpg\" alt=\"\" width=\"772\" height=\"214\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288378425.jpg 772w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288378425-300x83.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288378425-768x213.jpg 768w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288378425-360x100.jpg 360w\" sizes=\"(max-width: 772px) 100vw, 772px\" \/><\/a><\/p>\n<p>Step 2: Add TMcraft_Node_UserControl.dll and TMcraft_Toolbar_UserControl.dll (No.2) as project\u2019s <strong><u>Dependencies<\/u><\/strong>, by clicking <strong><u>Add Project Reference\u2026<\/u><\/strong> after right click <strong><u>Dependencies<\/u><\/strong> node (No.1):<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288484678.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-106973\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288484678.jpg\" alt=\"\" width=\"492\" height=\"157\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288484678.jpg 492w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288484678-300x96.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288484678-360x115.jpg 360w\" sizes=\"(max-width: 492px) 100vw, 492px\" \/><\/a><\/p>\n<p>Step 3: Open <span style=\"text-decoration: underline;\"><strong>MainWindow.xaml<\/strong><\/span> to modify Height, Width to fit TMcraft Toolbar or TMcraft Node depends on their size and add <span style=\"text-decoration: underline;\"><strong>&lt;contentControl&gt;<\/strong><\/span> tag in the &lt;Grid&gt;, please refer to the following description or source code for the details:<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288489085.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-106967\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288489085.jpg\" alt=\"\" width=\"379\" height=\"298\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288489085.jpg 379w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288489085-300x236.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288489085-360x283.jpg 360w\" sizes=\"(max-width: 379px) 100vw, 379px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288576025.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-106979\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288576025.jpg\" alt=\"\" width=\"750\" height=\"172\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288576025.jpg 750w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288576025-300x69.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288576025-360x83.jpg 360w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/a><\/p>\n<p>Step 4: Edit <span style=\"text-decoration: underline;\"><strong>MainWindow.xaml.cs<\/strong><\/span>\u2018s construct to define which one to be display or debug on the TMcraft_App, only one can be the content of this <span style=\"text-decoration: underline;\"><strong>contentControl<\/strong><\/span> at the same time, please modify the code of UserContol if you want to display both at the same time.<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288630086.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-106985\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288630086.jpg\" alt=\"\" width=\"750\" height=\"317\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288630086.jpg 750w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288630086-300x127.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288630086-360x152.jpg 360w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/a><\/p>\n<p>The way to open <span style=\"text-decoration: underline;\"><strong>MainWindow.xaml.cs<\/strong><\/span> as shown below:<\/p>\n<p>Step 1: Right click <span style=\"text-decoration: underline;\"><strong>MainWindow.xaml<\/strong>.<\/span><\/p>\n<p>Step 2: Click <span style=\"text-decoration: underline;\"><strong>View Code<\/strong>.<\/span><\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288669201.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-106991\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288669201.jpg\" alt=\"\" width=\"379\" height=\"344\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288669201.jpg 379w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288669201-300x272.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288669201-360x327.jpg 360w\" sizes=\"(max-width: 379px) 100vw, 379px\" \/><\/a><\/p>\n<h2>Import Text File to TMflow<\/h2>\n<p>It is necessary to import the text file before opening TMcraft Toolbar or TMcraft Node because the user can&#8217;t create the TextFiles folder without using the import text files function in TMflow. For details on importing a text file, please refer to the following description:<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288707542.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-106997\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288707542.jpg\" alt=\"\" width=\"492\" height=\"252\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288707542.jpg 492w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288707542-300x154.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288707542-360x184.jpg 360w\" sizes=\"(max-width: 492px) 100vw, 492px\" \/><\/a><\/p>\n<p>Step 1: Click <strong><u>Import<\/u><\/strong> and select USB in System -&gt; Import\/Export page<\/p>\n<p>Step 2: Click Configuration -&gt; Text Files<\/p>\n<p>Step 3: Click TMcraft_Exchange_Data file<\/p>\n<p>Step 4: Click <strong><u>Import<\/u><\/strong> button<\/p>\n<p>After finish these steps, Text File Manager in TMflow will display this file and the file\u2019s content, please refer to the following figure for the details.<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288742343.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-107003\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288742343.jpg\" alt=\"\" width=\"767\" height=\"429\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288742343.jpg 767w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288742343-300x168.jpg 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/messageImage_1707288742343-360x201.jpg 360w\" sizes=\"(max-width: 767px) 100vw, 767px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h1>How to Use TMcraft in TMflow ?<\/h1>\n<h2>How to Generate zip File of TMcraft Toolbar and TMcraft Node ?<\/h2>\n<p>After implementing the GUIs and functions of TMcraft Toolbar and TMcraft Node using Visual Studio and building the DLLs file, we need to pack the DLLs and related files. In this document, we use TMcraft Packer to pack these files. Please refer to the development kit for packing details.<\/p>\n<p>TMcraft Node:<\/p>\n<p>Chapter 5. Build TMcraft Node Package in TMcraft Node Tutorial_Basic Development_Rev1.01_EN.pdf<\/p>\n<p>TMcraft Toolbar:<\/p>\n<p>Chapter 5. Build TMcraft Toolbar Package in TMcraft Toolbar Tutorial_Basic Development_Rev1.01_EN.pdf<\/p>\n<h2>How to Import and Enable TMcraft Toolbar into TMflow ?<\/h2>\n<p>We can import TMcraft Toolbar into TMflow after completing the above steps and packaging TMcraft Toolbar using TMcraft Packer. For details on TMcraft Packer, please refer to the development kit. The result is shown below:<\/p>\n<p>Step 1: Import TMcraft Toolbar<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/4-Import-TMcraft-Toolbar.gif\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-108015\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/4-Import-TMcraft-Toolbar.gif\" alt=\"\" width=\"1477\" height=\"854\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>step 2 : Enable TMcraft Toolbar<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/5-EnableTMcraft-Toolbar.gif\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-108021\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/5-EnableTMcraft-Toolbar.gif\" alt=\"\" width=\"1477\" height=\"854\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h2>How to Import and Enable TMcraft Node into TMflow ?<\/h2>\n<p>We can import TMcraft Node into TMflow after completing the above steps and packaging TMcraft Node using TMcraft Packer. For details on TMcraft Packer, please refer to the development kit. The steps of importing TMcraft Node are shown below:<\/p>\n<p>Step 1: Import TMcraft Node:<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/6-Import-TMcraft-Node.gif\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-108027\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/6-Import-TMcraft-Node.gif\" alt=\"\" width=\"1477\" height=\"854\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Step 2: Enable TMcraft Node:<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/7-Enable-TMcraft-Node.gif\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-108033\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/7-Enable-TMcraft-Node.gif\" alt=\"\" width=\"1477\" height=\"854\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>The result is shown below :<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/8-Display-TMcraft-Node.gif\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-108039\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/8-Display-TMcraft-Node.gif\" alt=\"\" width=\"1477\" height=\"854\" \/><\/a><\/p>\n<h1>Conclusion<\/h1>\n<p>It is very useful to know how to exchange data between TMcraft Toolbar and TMcraft Node because these TMcraft GUI plugins are independent before we established the connection. Not only text files but also any type of saved data can be connected to TMcraft to enhance your application. For more examples, please refer to another technical document: How to build an application of positioner with TMcraft.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Examples are valid for: TMflow Software version: 2.16 or above. Visual Studio 2022 NET 6.0 TM Robot Hardware v [&hellip;]<\/p>\n","protected":false},"author":8760,"featured_media":108362,"parent":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"doc_category":[4759,4700],"doc_tag":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v16.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Exchange Data Between TMcraft Toolbar and TMcraft Node | Techman Robot<\/title>\n<meta name=\"robots\" content=\"noindex, follow\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Exchange Data Between TMcraft Toolbar and TMcraft Node | Techman Robot\" \/>\n<meta property=\"og:description\" content=\"Examples are valid for: TMflow Software version: 2.16 or above. Visual Studio 2022 NET 6.0 TM Robot Hardware v [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www2.tm-robot.com\/ja\/docs\/how-to-exchange-data-between-tmcraft-toolbar-and-tmcraft-node\/\" \/>\n<meta property=\"og:site_name\" content=\"Techman Robot\" \/>\n<meta property=\"article:modified_time\" content=\"2024-02-27T06:47:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/clip.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"55\" \/>\n\t<meta property=\"og:image:height\" content=\"53\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.tm-robot.com.cn\/de\/#organization\",\"name\":\"Techman Robot\",\"url\":\"https:\/\/www.tm-robot.com.cn\/de\/\",\"sameAs\":[],\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.tm-robot.com.cn\/de\/#logo\",\"inLanguage\":\"ja\",\"url\":\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2018\/09\/logo.png\",\"contentUrl\":\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2018\/09\/logo.png\",\"width\":221,\"height\":196,\"caption\":\"Techman Robot\"},\"image\":{\"@id\":\"https:\/\/www.tm-robot.com.cn\/de\/#logo\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.tm-robot.com.cn\/de\/#website\",\"url\":\"https:\/\/www.tm-robot.com.cn\/de\/\",\"name\":\"Techman Robot\",\"description\":\"Intelligent Cobots for a World of Applications\",\"publisher\":{\"@id\":\"https:\/\/www.tm-robot.com.cn\/de\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.tm-robot.com.cn\/de\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"ja\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www2.tm-robot.com\/ja\/docs\/how-to-exchange-data-between-tmcraft-toolbar-and-tmcraft-node\/#primaryimage\",\"inLanguage\":\"ja\",\"url\":\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/clip.jpg\",\"contentUrl\":\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/clip.jpg\",\"width\":55,\"height\":53},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www2.tm-robot.com\/ja\/docs\/how-to-exchange-data-between-tmcraft-toolbar-and-tmcraft-node\/#webpage\",\"url\":\"https:\/\/www2.tm-robot.com\/ja\/docs\/how-to-exchange-data-between-tmcraft-toolbar-and-tmcraft-node\/\",\"name\":\"How to Exchange Data Between TMcraft Toolbar and TMcraft Node | Techman Robot\",\"isPartOf\":{\"@id\":\"https:\/\/www.tm-robot.com.cn\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www2.tm-robot.com\/ja\/docs\/how-to-exchange-data-between-tmcraft-toolbar-and-tmcraft-node\/#primaryimage\"},\"datePublished\":\"2024-02-07T07:04:30+00:00\",\"dateModified\":\"2024-02-27T06:47:24+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www2.tm-robot.com\/ja\/docs\/how-to-exchange-data-between-tmcraft-toolbar-and-tmcraft-node\/#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www2.tm-robot.com\/ja\/docs\/how-to-exchange-data-between-tmcraft-toolbar-and-tmcraft-node\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www2.tm-robot.com\/ja\/docs\/how-to-exchange-data-between-tmcraft-toolbar-and-tmcraft-node\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.tm-robot.com\/ja\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Docs\",\"item\":\"https:\/\/www2.tm-robot.com\/ja\/docs\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"How to Exchange Data Between TMcraft Toolbar and TMcraft Node\"}]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Exchange Data Between TMcraft Toolbar and TMcraft Node | Techman Robot","robots":{"index":"noindex","follow":"follow"},"og_locale":"ja_JP","og_type":"article","og_title":"How to Exchange Data Between TMcraft Toolbar and TMcraft Node | Techman Robot","og_description":"Examples are valid for: TMflow Software version: 2.16 or above. Visual Studio 2022 NET 6.0 TM Robot Hardware v [&hellip;]","og_url":"https:\/\/www2.tm-robot.com\/ja\/docs\/how-to-exchange-data-between-tmcraft-toolbar-and-tmcraft-node\/","og_site_name":"Techman Robot","article_modified_time":"2024-02-27T06:47:24+00:00","og_image":[{"width":55,"height":53,"url":"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/clip.jpg","path":"\/var\/www\/tm-robot.com\/wp-content\/uploads\/2024\/02\/clip.jpg","size":"full","id":108362,"alt":"","pixels":2915,"type":"image\/jpeg"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Organization","@id":"https:\/\/www.tm-robot.com.cn\/de\/#organization","name":"Techman Robot","url":"https:\/\/www.tm-robot.com.cn\/de\/","sameAs":[],"logo":{"@type":"ImageObject","@id":"https:\/\/www.tm-robot.com.cn\/de\/#logo","inLanguage":"ja","url":"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2018\/09\/logo.png","contentUrl":"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2018\/09\/logo.png","width":221,"height":196,"caption":"Techman Robot"},"image":{"@id":"https:\/\/www.tm-robot.com.cn\/de\/#logo"}},{"@type":"WebSite","@id":"https:\/\/www.tm-robot.com.cn\/de\/#website","url":"https:\/\/www.tm-robot.com.cn\/de\/","name":"Techman Robot","description":"Intelligent Cobots for a World of Applications","publisher":{"@id":"https:\/\/www.tm-robot.com.cn\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.tm-robot.com.cn\/de\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"ja"},{"@type":"ImageObject","@id":"https:\/\/www2.tm-robot.com\/ja\/docs\/how-to-exchange-data-between-tmcraft-toolbar-and-tmcraft-node\/#primaryimage","inLanguage":"ja","url":"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/clip.jpg","contentUrl":"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2024\/02\/clip.jpg","width":55,"height":53},{"@type":"WebPage","@id":"https:\/\/www2.tm-robot.com\/ja\/docs\/how-to-exchange-data-between-tmcraft-toolbar-and-tmcraft-node\/#webpage","url":"https:\/\/www2.tm-robot.com\/ja\/docs\/how-to-exchange-data-between-tmcraft-toolbar-and-tmcraft-node\/","name":"How to Exchange Data Between TMcraft Toolbar and TMcraft Node | Techman Robot","isPartOf":{"@id":"https:\/\/www.tm-robot.com.cn\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www2.tm-robot.com\/ja\/docs\/how-to-exchange-data-between-tmcraft-toolbar-and-tmcraft-node\/#primaryimage"},"datePublished":"2024-02-07T07:04:30+00:00","dateModified":"2024-02-27T06:47:24+00:00","breadcrumb":{"@id":"https:\/\/www2.tm-robot.com\/ja\/docs\/how-to-exchange-data-between-tmcraft-toolbar-and-tmcraft-node\/#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www2.tm-robot.com\/ja\/docs\/how-to-exchange-data-between-tmcraft-toolbar-and-tmcraft-node\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www2.tm-robot.com\/ja\/docs\/how-to-exchange-data-between-tmcraft-toolbar-and-tmcraft-node\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.tm-robot.com\/ja\/"},{"@type":"ListItem","position":2,"name":"Docs","item":"https:\/\/www2.tm-robot.com\/ja\/docs\/"},{"@type":"ListItem","position":3,"name":"How to Exchange Data Between TMcraft Toolbar and TMcraft Node"}]}]}},"_links":{"self":[{"href":"https:\/\/www2.tm-robot.com\/ja\/wp-json\/wp\/v2\/docs\/106750"}],"collection":[{"href":"https:\/\/www2.tm-robot.com\/ja\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/www2.tm-robot.com\/ja\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/www2.tm-robot.com\/ja\/wp-json\/wp\/v2\/users\/8760"}],"replies":[{"embeddable":true,"href":"https:\/\/www2.tm-robot.com\/ja\/wp-json\/wp\/v2\/comments?post=106750"}],"version-history":[{"count":8,"href":"https:\/\/www2.tm-robot.com\/ja\/wp-json\/wp\/v2\/docs\/106750\/revisions"}],"predecessor-version":[{"id":108371,"href":"https:\/\/www2.tm-robot.com\/ja\/wp-json\/wp\/v2\/docs\/106750\/revisions\/108371"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www2.tm-robot.com\/ja\/wp-json\/wp\/v2\/media\/108362"}],"wp:attachment":[{"href":"https:\/\/www2.tm-robot.com\/ja\/wp-json\/wp\/v2\/media?parent=106750"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/www2.tm-robot.com\/ja\/wp-json\/wp\/v2\/doc_category?post=106750"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/www2.tm-robot.com\/ja\/wp-json\/wp\/v2\/doc_tag?post=106750"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}