{"id":15721,"date":"2025-02-04T16:25:10","date_gmt":"2025-02-04T16:25:10","guid":{"rendered":"https:\/\/www.dmcinfo.com\/blog\/15721\/wincc-unified-automatic-data-logging-to-a-network-drive\/"},"modified":"2025-12-23T09:45:42","modified_gmt":"2025-12-23T14:45:42","slug":"wincc-unified-automatic-data-logging-to-a-network-drive","status":"publish","type":"post","link":"https:\/\/www.dmcinfo.com\/blog\/15721\/wincc-unified-automatic-data-logging-to-a-network-drive\/","title":{"rendered":"WinCC Unified: Automatic Data Logging to a Network Drive"},"content":{"rendered":"\n<p>Saving data logs locally to an HMI (Human Machine Interface) is a convenient way to store important run data. With WinCC Unified it is easy to take this one step further, and store data to a network drive. This means that your data can be automatically moved from the HMI to a more accessible and potentially safer location. It also adds a layer of redundancy, making data loss less likely.<\/p>\n\n\n\n<p>This article will walk through all the basics you need to set up automatic data logging on your Unified panel and have the files copied to a network drive.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-step-1-configure-the-local-media\">Step 1: Configure the Local Media<\/h2>\n\n\n\n<p>The first step is to ensure that you have local storage media configured and accessible for the HMI to use. &nbsp;<\/p>\n\n\n\n<p><img decoding=\"async\" alt=\"WinCC Unified runtime settings\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165134\/wincc-unified-runtime-settings.png\"><br>\n<em>Figure 1: Runtime settings \/ Storage System&nbsp;<\/em><\/p>\n\n\n\n<p>Once you have added your Unified Panel to your TIA Portal project, navigate to the \u201cRuntime settings\u201d located within the project tree. &nbsp;<\/p>\n\n\n\n<p>In the window that appears, select \u201cStorage system\u201d. Here you can configure the physical media location where files will be saved. On this panel, there is one SD slot, and two USB slots to select from.&nbsp;<\/p>\n\n\n\n<p>The logic in the demo will assume you are using SD-X51, although any will work. Once the SD card is physically installed to the HMI, navigate to \u201cmedia\/simatic\/X51\u201d within its file explorer to ensure the card is properly installed and detected. We are now ready to configure data logs for local storage on the HMI.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-step-2-nbsp-create-the-data-logs-nbsp\">Step 2: &nbsp;Create the Data Logs&nbsp;<\/h2>\n\n\n\n<p>If your goal is to cyclically log a PLC tag, the easiest way will be to use the built-in logging capabilities of your Unified Panel. &nbsp;<\/p>\n\n\n\n<p>Once you have linked the PLC Tag(s) that you would like to log to a corresponding HMI tag, navigate to \u201cLogs\u201d in your Unified panel\u2019s project tree. In the window that opens, select \u201c&lt;Add new&gt;,\u201d and create a name for your data log, and configure it as needed. &nbsp;<\/p>\n\n\n\n<p><img decoding=\"async\" alt=\"Data logging area in TIA Portal\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165133\/data-logging-area-tia-portal.png\"><br>\n<em>Figure 2: Add Data Logging Area in TIA Portal<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-step-3-configure-the-network-drive-nbsp\">Step 3: Configure the Network Drive&nbsp;<\/h2>\n\n\n\n<p><strong>Note: If you simply want to create data logs locally on the HMI, you can skip this step.<\/strong>&nbsp;<\/p>\n\n\n\n<p>Once you have identified the network drive you would like to save your data logs to, you will need to configure the panel so you can access it. &nbsp;<\/p>\n\n\n\n<p>On your Unified panel, navigate to the network icon, select \u201cNetwork Drive\u201d, and click \u201cAdd.&#8221;<\/p>\n\n\n\n<p><img decoding=\"async\" alt=\"Configured Network Drive Displays \u201cConnected\u201d on the Unified Panel\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165133\/wincc-unified-panel-configured.png\"><br>\n<em>Figure 3: Configured Network Drive Displays \u201cConnected\u201d on the Unified Panel (not in runtime)&nbsp;<\/em><\/p>\n\n\n\n<p>You will need to enter in the Network Path, username, and password for your network drive here. The path should be something like \u201c\/\/192.168.XXX.XXX\/MyNetworkDrivePath.\u201d &nbsp;<\/p>\n\n\n\n<p>Once the correct information is entered, the status should read \u201cConnected.&#8221; Now you are all set to create some logic that will automatically move your data to this drive.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-nbsp-step-4-select-tags-to-log-nbsp\">&nbsp;Step 4: Select Tags to Log&nbsp;<\/h2>\n\n\n\n<p>Now we have to add the specific tag we would like to log, to our newly created log.<\/p>\n\n\n\n<p><img decoding=\"async\" alt=\"data log in tia portal\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165132\/tia-portal-data-log.png\"><em>Figure 4: Select tag to add to Data Log in TIA Portal<\/em><\/p>\n\n\n\n<p>Navigate to your HMI tags (or the specific tag table which your tag is within) and select the tag you want to log.&nbsp;In the bottom bar, select \u201cLogging tags.\u201d&nbsp;Within this menu, select \u201c&lt;Add new&gt;.&#8221;&nbsp;The name can be anything and the process tag will automatically populate with the tag name. In the data log column find the data log you created. The logging mode will be cyclic for this demonstration.<\/p>\n\n\n\n<p>Now, you must set the cycle time for the log.<\/p>\n\n\n\n<p><img decoding=\"async\" alt=\"Set cycle time in TIA Portal\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165132\/tia-portal-cycle-time_1.png\"><br>\n<em>Figure 5: Set cycle time in TIA Portal<\/em><\/p>\n\n\n\n<p>From the same window, navigate to the properties of logging tag you just added. Select Cycle, and set the cycle time to your desired frequency.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-step-5-convert-database-file-into-csv-files-optional\">Step 5: Convert database file into .csv files (Optional)<\/h2>\n\n\n\n<p>At this point, you have set up everything you need to create a database with your tag logged cyclically locally on the HMI. If you would like to stop at this point you can, although you will need a DB browser for SQLite to open and review your files. &nbsp;<\/p>\n\n\n\n<p>If you would like to be able to open your files in excel, follow this step.&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e\"><span style=\"background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e\">JavaScript<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>export async function ConvertToCSV() { \/\/ Please note, the format of a file path is device and operating system specific. \/\/ You need to adapt the given path to your environment. \/\/ Example for a Unified Comfort device (Linux OS): \/home\/user1\/data.dat \/\/ Example for a Unified PC-based device (MS Windows OS): C:\\Users\\Public\\data.dat\n\nlet timeStamp = new Date().toLocaleDateString().replace(\/&#91;\/&#93;\/g, \"_\"); \nlet path = \"\/media\/simatic\/X51\/LoggedTag\" + timeStamp +\".csv\";\nlet delimiter = ','; \nlet start = new Date(); \nlet end = new Date(start.getTime() - 246060*1000);\nlet tag = HMIRuntime.TagLogging.LoggedTags(\"Example_Data_Log:Logging_LogTest\");\nlet tagValue = tag.Read(start, end, 0); \nlet csvData = \"Timestamp:\" + delimiter + \"Tag Name:\" + delimiter + \"Value:\" + \"\\n\";\ntagValue.then((loggedTagResult) => { \nlet error = loggedTagResult.Error; \nlet tagArray = loggedTagResult.Values;\n\nfor (let loggedTag of tagArray){\ncsvData += new Date(loggedTag.TimeStamp) + delimiter + \"TestValue\" + delimiter + loggedTag.Value + delimiter  + \"\\n\";\n}\n\nHMIRuntime.FileSystem.WriteFile(path, csvData, \"utf8\").then( \nfunction() { \nHMIRuntime.Trace(\"Write file finished successfully\"); \n}).catch(function(errCode) { \nHMIRuntime.Trace(\"Write failed, Error: \" + errCode); \n});\n}).catch ((errCode)=> { \nHMIRuntime.Trace(\"Read failed, Error: \" + errCode); \n});\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #C586C0\">export<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">async<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">function<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">ConvertToCSV<\/span><span style=\"color: #D4D4D4\">() { <\/span><span style=\"color: #6A9955\">\/\/ Please note, the format of a file path is device and operating system specific. \/\/ You need to adapt the given path to your environment. \/\/ Example for a Unified Comfort device (Linux OS): \/home\/user1\/data.dat \/\/ Example for a Unified PC-based device (MS Windows OS): C:\\Users\\Public\\data.dat<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">let<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">timeStamp<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #569CD6\">new<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">Date<\/span><span style=\"color: #D4D4D4\">().<\/span><span style=\"color: #DCDCAA\">toLocaleDateString<\/span><span style=\"color: #D4D4D4\">().<\/span><span style=\"color: #DCDCAA\">replace<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #D16969\">\/<\/span><span style=\"color: #CE9178\">&#91;<\/span><span style=\"color: #D16969\">\/<\/span><span style=\"color: #CE9178\">&#93;<\/span><span style=\"color: #D16969\">\/<\/span><span style=\"color: #569CD6\">g<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;_&quot;<\/span><span style=\"color: #D4D4D4\">); <\/span><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">let<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">path<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #CE9178\">&quot;\/media\/simatic\/X51\/LoggedTag&quot;<\/span><span style=\"color: #D4D4D4\"> + <\/span><span style=\"color: #9CDCFE\">timeStamp<\/span><span style=\"color: #D4D4D4\"> +<\/span><span style=\"color: #CE9178\">&quot;.csv&quot;<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">let<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">delimiter<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #CE9178\">&#39;,&#39;<\/span><span style=\"color: #D4D4D4\">; <\/span><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">let<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">start<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #569CD6\">new<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">Date<\/span><span style=\"color: #D4D4D4\">(); <\/span><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">let<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">end<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #569CD6\">new<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">Date<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">start<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">getTime<\/span><span style=\"color: #D4D4D4\">() - <\/span><span style=\"color: #B5CEA8\">246060<\/span><span style=\"color: #D4D4D4\">*<\/span><span style=\"color: #B5CEA8\">1000<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">let<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">tag<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #9CDCFE\">HMIRuntime<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">TagLogging<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">LoggedTags<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;Example_Data_Log:Logging_LogTest&quot;<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">let<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">tagValue<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #9CDCFE\">tag<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">Read<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">start<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #9CDCFE\">end<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">); <\/span><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">let<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">csvData<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #CE9178\">&quot;Timestamp:&quot;<\/span><span style=\"color: #D4D4D4\"> + <\/span><span style=\"color: #9CDCFE\">delimiter<\/span><span style=\"color: #D4D4D4\"> + <\/span><span style=\"color: #CE9178\">&quot;Tag Name:&quot;<\/span><span style=\"color: #D4D4D4\"> + <\/span><span style=\"color: #9CDCFE\">delimiter<\/span><span style=\"color: #D4D4D4\"> + <\/span><span style=\"color: #CE9178\">&quot;Value:&quot;<\/span><span style=\"color: #D4D4D4\"> + <\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D7BA7D\">\\n<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9CDCFE\">tagValue<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">then<\/span><span style=\"color: #D4D4D4\">((<\/span><span style=\"color: #9CDCFE\">loggedTagResult<\/span><span style=\"color: #D4D4D4\">) <\/span><span style=\"color: #569CD6\">=&gt;<\/span><span style=\"color: #D4D4D4\"> { <\/span><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">let<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">error<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #9CDCFE\">loggedTagResult<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">Error<\/span><span style=\"color: #D4D4D4\">; <\/span><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">let<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">tagArray<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #9CDCFE\">loggedTagResult<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">Values<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">for<\/span><span style=\"color: #D4D4D4\"> (<\/span><span style=\"color: #569CD6\">let<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">loggedTag<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">of<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">tagArray<\/span><span style=\"color: #D4D4D4\">){<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9CDCFE\">csvData<\/span><span style=\"color: #D4D4D4\"> += <\/span><span style=\"color: #569CD6\">new<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">Date<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">loggedTag<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">TimeStamp<\/span><span style=\"color: #D4D4D4\">) + <\/span><span style=\"color: #9CDCFE\">delimiter<\/span><span style=\"color: #D4D4D4\"> + <\/span><span style=\"color: #CE9178\">&quot;TestValue&quot;<\/span><span style=\"color: #D4D4D4\"> + <\/span><span style=\"color: #9CDCFE\">delimiter<\/span><span style=\"color: #D4D4D4\"> + <\/span><span style=\"color: #9CDCFE\">loggedTag<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">Value<\/span><span style=\"color: #D4D4D4\"> + <\/span><span style=\"color: #9CDCFE\">delimiter<\/span><span style=\"color: #D4D4D4\">  + <\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D7BA7D\">\\n<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #9CDCFE\">HMIRuntime<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">FileSystem<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">WriteFile<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">path<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #9CDCFE\">csvData<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;utf8&quot;<\/span><span style=\"color: #D4D4D4\">).<\/span><span style=\"color: #DCDCAA\">then<\/span><span style=\"color: #D4D4D4\">( <\/span><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">function<\/span><span style=\"color: #D4D4D4\">() { <\/span><\/span>\n<span class=\"line\"><span style=\"color: #9CDCFE\">HMIRuntime<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">Trace<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;Write file finished successfully&quot;<\/span><span style=\"color: #D4D4D4\">); <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}).<\/span><span style=\"color: #DCDCAA\">catch<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">function<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">errCode<\/span><span style=\"color: #D4D4D4\">) { <\/span><\/span>\n<span class=\"line\"><span style=\"color: #9CDCFE\">HMIRuntime<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">Trace<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;Write failed, Error: &quot;<\/span><span style=\"color: #D4D4D4\"> + <\/span><span style=\"color: #9CDCFE\">errCode<\/span><span style=\"color: #D4D4D4\">); <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">});<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}).<\/span><span style=\"color: #DCDCAA\">catch<\/span><span style=\"color: #D4D4D4\"> ((<\/span><span style=\"color: #9CDCFE\">errCode<\/span><span style=\"color: #D4D4D4\">)<\/span><span style=\"color: #569CD6\">=&gt;<\/span><span style=\"color: #D4D4D4\"> { <\/span><\/span>\n<span class=\"line\"><span style=\"color: #9CDCFE\">HMIRuntime<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">Trace<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;Read failed, Error: &quot;<\/span><span style=\"color: #D4D4D4\"> + <\/span><span style=\"color: #9CDCFE\">errCode<\/span><span style=\"color: #D4D4D4\">); <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">});<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><img decoding=\"async\" alt=\"Example convert to .csv logic\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165131\/convert-to-_csv-logic.png\"><em>Figure 6: Example convert to .csv logic<\/em><\/p>\n\n\n\n<p>To do this you can copy the logic shown in figure 6. The yellow boxes are areas you will want to change. From top to bottom these yellow boxes are:&nbsp;<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>File path where your data logs will be saved<\/li>\n\n\n\n<li>Length of time to pull from database file (ms)<\/li>\n\n\n\n<li>The data log, and tag within that log you are adding to a csv in the format (\u201cDataLog:LoggingTag\u201d)<\/li>\n\n\n\n<li>The column header for your tag names<\/li>\n\n\n\n<li>The name of your tag or process value for your csv file<\/li>\n<\/ol>\n\n\n\n<p>The script above simply pulls the last 24 hours of the database file we created previously, adds it to a .csv file, and then saves to the local HMI media. You have the option to change how far back this script will pull when called&nbsp;by changing the in value second yellow box. &nbsp;<\/p>\n\n\n\n<p>Now you must call this script. There are a few ways to do this but the simplest would be to create a scheduled task.&nbsp;<\/p>\n\n\n\n<p><img decoding=\"async\" alt=\"Create and configure scheduled task\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165130\/configure-scheduled-task.png\"><em>Figure 7: Create and configure scheduled task<\/em><\/p>\n\n\n\n<p>To create a scheduled task, navigate to the scheduled tasks section in the project tree. Add a new scheduled task then&nbsp;configure the trigger cycle.<\/p>\n\n\n\n<p>In this case, our task is triggered once per day&nbsp;and you can specify at which time in the properties of the task.<\/p>\n\n\n\n<p><img decoding=\"async\" alt=\"Call script within scheduled task\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165130\/call-script-scheduled-task.png\"><br>\n<em>Figure 8: Call script within scheduled task<\/em><\/p>\n\n\n\n<p>Now that you have created your scheduled task, you need to call the ConvertToCSV script.&nbsp;You do this by navigating to the events of your scheduled task and selecting \u201c&lt;Add function&gt;\u201d then add your script.<\/p>\n\n\n\n<p>At this point, you have done everything you need to automatically log your data locally to the HMI as a .csv file.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-step-7-copy-logs-to-the-network-drive\">Step 7: Copy Logs to the Network Drive<\/h2>\n\n\n\n<p><strong>Note: this must be done in Portal V18, with V18 or later firmware on your comfort panel. Automatically copying data to a network drive does not work in V17 and earlier, although it will work manually (called via a pushbutton or other HMI interaction).&nbsp;<\/strong><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e\"><span style=\"background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e\">JavaScript<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>let fileTransferCommand = \"-s \" + localfilepath + \" -d \/net\/mount\/Data\/ -o\";\n \n  function exportLevel() {\n    HMIRuntime.Device.SysFct.StartProgram(\"\/opt\/siemens\/App_Restriction\/copy.sh\", fileTransferCommand, 0, true, undefined);\n  }<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #569CD6\">let<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">fileTransferCommand<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #CE9178\">&quot;-s &quot;<\/span><span style=\"color: #D4D4D4\"> + <\/span><span style=\"color: #9CDCFE\">localfilepath<\/span><span style=\"color: #D4D4D4\"> + <\/span><span style=\"color: #CE9178\">&quot; -d \/net\/mount\/Data\/ -o&quot;<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #569CD6\">function<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">exportLevel<\/span><span style=\"color: #D4D4D4\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">HMIRuntime<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">Device<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">SysFct<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">StartProgram<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;\/opt\/siemens\/App_Restriction\/copy.sh&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #9CDCFE\">fileTransferCommand<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #569CD6\">true<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #569CD6\">undefined<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  }<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><img decoding=\"async\" alt=\"\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165129\/network-drive-function-call.png\"><br>\n<em>Figure 9: Copy to Network Drive Function Call<\/em><\/p>\n\n\n\n<p>If you would like to have your files automatically copied to the network drive you set up earlier, simply copy the logic above and append it at the bottom of the ConvertToCSV script written earlier. &nbsp;<\/p>\n\n\n\n<p>The two yellow boxes must be configured as follows (left to right)<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The exact file path you locally saved your data file (including the filename)<\/li>\n\n\n\n<li>The exact file path you would like to save the file to (this always starts with \/net\/mount\/Data)<\/li>\n<\/ul>\n\n\n\n<p>Congratulations, you now have data automatically being transferred to your network drive.&nbsp;<\/p>\n\n\n\n<p><strong>Learn more about DMC&#8217;s <a href=\"https:\/\/www.dmcinfo.com\/services\/manufacturing-automation-and-intelligence\/hmi-and-scada-programming\">HMI and SCADA systems programming<\/a> expertise and <a href=\"https:\/\/www.dmcinfo.com\/contact\">contact us<\/a> for your next project.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Saving data logs locally to an HMI (Human Machine Interface) is a convenient way to store important run data. With WinCC Unified it is easy to take this one step further, and store data to a network drive. This means that your data can be automatically moved from the HMI to a more accessible and [&hellip;]<\/p>\n","protected":false},"author":287,"featured_media":15722,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[731,757],"tags":[],"class_list":["post-15721","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-manufacturing-automation-intelligence","category-siemens-plc"],"yoast_head":"<title>WinCC Unified: Automatic Data Logging to a Network Drive | DMC, Inc.<\/title>\n<meta name=\"description\" content=\"DMC, Inc. shares how to set up automatic data logging on your WinCC Unified panel and have the files copied to a network drive.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dmcinfo.com\/blog\/15721\/wincc-unified-automatic-data-logging-to-a-network-drive\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"WinCC Unified: Automatic Data Logging to a Network Drive\" \/>\n<meta property=\"og:description\" content=\"DMC, Inc. shares how to set up automatic data logging on your WinCC Unified panel and have the files copied to a network drive.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dmcinfo.com\/blog\/15721\/wincc-unified-automatic-data-logging-to-a-network-drive\/\" \/>\n<meta property=\"og:site_name\" content=\"DMC, Inc.\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/pages\/DMC-Inc\/107982009242929\" \/>\n<meta property=\"article:published_time\" content=\"2025-02-04T16:25:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-23T14:45:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165129\/wincc-unified-data-logging-blog.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"925\" \/>\n\t<meta property=\"og:image:height\" content=\"392\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Andy Reese\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andy Reese\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dmcinfo.com\/blog\/15721\/wincc-unified-automatic-data-logging-to-a-network-drive\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dmcinfo.com\/blog\/15721\/wincc-unified-automatic-data-logging-to-a-network-drive\/\"},\"author\":{\"name\":\"Andy Reese\",\"@id\":\"https:\/\/www.dmcinfo.com\/#\/schema\/person\/74f014a93af62adeb3b58dc1758e99cc\"},\"headline\":\"WinCC Unified: Automatic Data Logging to a Network Drive\",\"datePublished\":\"2025-02-04T16:25:10+00:00\",\"dateModified\":\"2025-12-23T14:45:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dmcinfo.com\/blog\/15721\/wincc-unified-automatic-data-logging-to-a-network-drive\/\"},\"wordCount\":1189,\"publisher\":{\"@id\":\"https:\/\/www.dmcinfo.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.dmcinfo.com\/blog\/15721\/wincc-unified-automatic-data-logging-to-a-network-drive\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165129\/wincc-unified-data-logging-blog.jpg\",\"articleSection\":[\"Manufacturing Automation &amp; Intelligence\",\"Siemens PLC\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dmcinfo.com\/blog\/15721\/wincc-unified-automatic-data-logging-to-a-network-drive\/\",\"url\":\"https:\/\/www.dmcinfo.com\/blog\/15721\/wincc-unified-automatic-data-logging-to-a-network-drive\/\",\"name\":\"WinCC Unified: Automatic Data Logging to a Network Drive | DMC, Inc.\",\"isPartOf\":{\"@id\":\"https:\/\/www.dmcinfo.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dmcinfo.com\/blog\/15721\/wincc-unified-automatic-data-logging-to-a-network-drive\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dmcinfo.com\/blog\/15721\/wincc-unified-automatic-data-logging-to-a-network-drive\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165129\/wincc-unified-data-logging-blog.jpg\",\"datePublished\":\"2025-02-04T16:25:10+00:00\",\"dateModified\":\"2025-12-23T14:45:42+00:00\",\"description\":\"DMC, Inc. shares how to set up automatic data logging on your WinCC Unified panel and have the files copied to a network drive.\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dmcinfo.com\/blog\/15721\/wincc-unified-automatic-data-logging-to-a-network-drive\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dmcinfo.com\/blog\/15721\/wincc-unified-automatic-data-logging-to-a-network-drive\/#primaryimage\",\"url\":\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165129\/wincc-unified-data-logging-blog.jpg\",\"contentUrl\":\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165129\/wincc-unified-data-logging-blog.jpg\",\"width\":925,\"height\":392,\"caption\":\"wincc-unified-data-logging-blog\"},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dmcinfo.com\/#website\",\"url\":\"https:\/\/www.dmcinfo.com\/\",\"name\":\"DMC, Inc.\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.dmcinfo.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dmcinfo.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.dmcinfo.com\/#organization\",\"name\":\"DMC, Inc.\",\"url\":\"https:\/\/www.dmcinfo.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dmcinfo.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27171146\/dmc-logo-1.png\",\"contentUrl\":\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27171146\/dmc-logo-1.png\",\"width\":418,\"height\":167,\"caption\":\"DMC, Inc.\"},\"image\":{\"@id\":\"https:\/\/www.dmcinfo.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/pages\/DMC-Inc\/107982009242929\",\"https:\/\/www.instagram.com\/dmcengineering\",\"https:\/\/www.youtube.com\/DMCEngineering\",\"https:\/\/www.linkedin.com\/company\/dmc-engineering\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dmcinfo.com\/#\/schema\/person\/74f014a93af62adeb3b58dc1758e99cc\",\"name\":\"Andy Reese\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dmcinfo.com\/#\/schema\/person\/image\/\",\"url\":\"\/\/www.dmcinfo.com\/wp-content\/uploads\/wpo365\/profile-images\/287.png\",\"contentUrl\":\"\/\/www.dmcinfo.com\/wp-content\/uploads\/wpo365\/profile-images\/287.png\",\"caption\":\"Andy Reese\"},\"url\":\"https:\/\/www.dmcinfo.com\/blog\/author\/andrewr\/\"}]}<\/script>","yoast_head_json":{"title":"WinCC Unified: Automatic Data Logging to a Network Drive | DMC, Inc.","description":"DMC, Inc. shares how to set up automatic data logging on your WinCC Unified panel and have the files copied to a network drive.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dmcinfo.com\/blog\/15721\/wincc-unified-automatic-data-logging-to-a-network-drive\/","og_locale":"en_US","og_type":"article","og_title":"WinCC Unified: Automatic Data Logging to a Network Drive","og_description":"DMC, Inc. shares how to set up automatic data logging on your WinCC Unified panel and have the files copied to a network drive.","og_url":"https:\/\/www.dmcinfo.com\/blog\/15721\/wincc-unified-automatic-data-logging-to-a-network-drive\/","og_site_name":"DMC, Inc.","article_publisher":"https:\/\/www.facebook.com\/pages\/DMC-Inc\/107982009242929","article_published_time":"2025-02-04T16:25:10+00:00","article_modified_time":"2025-12-23T14:45:42+00:00","og_image":[{"width":925,"height":392,"url":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165129\/wincc-unified-data-logging-blog.jpg","type":"image\/jpeg"}],"author":"Andy Reese","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Andy Reese","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dmcinfo.com\/blog\/15721\/wincc-unified-automatic-data-logging-to-a-network-drive\/#article","isPartOf":{"@id":"https:\/\/www.dmcinfo.com\/blog\/15721\/wincc-unified-automatic-data-logging-to-a-network-drive\/"},"author":{"name":"Andy Reese","@id":"https:\/\/www.dmcinfo.com\/#\/schema\/person\/74f014a93af62adeb3b58dc1758e99cc"},"headline":"WinCC Unified: Automatic Data Logging to a Network Drive","datePublished":"2025-02-04T16:25:10+00:00","dateModified":"2025-12-23T14:45:42+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dmcinfo.com\/blog\/15721\/wincc-unified-automatic-data-logging-to-a-network-drive\/"},"wordCount":1189,"publisher":{"@id":"https:\/\/www.dmcinfo.com\/#organization"},"image":{"@id":"https:\/\/www.dmcinfo.com\/blog\/15721\/wincc-unified-automatic-data-logging-to-a-network-drive\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165129\/wincc-unified-data-logging-blog.jpg","articleSection":["Manufacturing Automation &amp; Intelligence","Siemens PLC"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.dmcinfo.com\/blog\/15721\/wincc-unified-automatic-data-logging-to-a-network-drive\/","url":"https:\/\/www.dmcinfo.com\/blog\/15721\/wincc-unified-automatic-data-logging-to-a-network-drive\/","name":"WinCC Unified: Automatic Data Logging to a Network Drive | DMC, Inc.","isPartOf":{"@id":"https:\/\/www.dmcinfo.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dmcinfo.com\/blog\/15721\/wincc-unified-automatic-data-logging-to-a-network-drive\/#primaryimage"},"image":{"@id":"https:\/\/www.dmcinfo.com\/blog\/15721\/wincc-unified-automatic-data-logging-to-a-network-drive\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165129\/wincc-unified-data-logging-blog.jpg","datePublished":"2025-02-04T16:25:10+00:00","dateModified":"2025-12-23T14:45:42+00:00","description":"DMC, Inc. shares how to set up automatic data logging on your WinCC Unified panel and have the files copied to a network drive.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dmcinfo.com\/blog\/15721\/wincc-unified-automatic-data-logging-to-a-network-drive\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dmcinfo.com\/blog\/15721\/wincc-unified-automatic-data-logging-to-a-network-drive\/#primaryimage","url":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165129\/wincc-unified-data-logging-blog.jpg","contentUrl":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165129\/wincc-unified-data-logging-blog.jpg","width":925,"height":392,"caption":"wincc-unified-data-logging-blog"},{"@type":"WebSite","@id":"https:\/\/www.dmcinfo.com\/#website","url":"https:\/\/www.dmcinfo.com\/","name":"DMC, Inc.","description":"","publisher":{"@id":"https:\/\/www.dmcinfo.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dmcinfo.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.dmcinfo.com\/#organization","name":"DMC, Inc.","url":"https:\/\/www.dmcinfo.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dmcinfo.com\/#\/schema\/logo\/image\/","url":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27171146\/dmc-logo-1.png","contentUrl":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27171146\/dmc-logo-1.png","width":418,"height":167,"caption":"DMC, Inc."},"image":{"@id":"https:\/\/www.dmcinfo.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/pages\/DMC-Inc\/107982009242929","https:\/\/www.instagram.com\/dmcengineering","https:\/\/www.youtube.com\/DMCEngineering","https:\/\/www.linkedin.com\/company\/dmc-engineering"]},{"@type":"Person","@id":"https:\/\/www.dmcinfo.com\/#\/schema\/person\/74f014a93af62adeb3b58dc1758e99cc","name":"Andy Reese","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dmcinfo.com\/#\/schema\/person\/image\/","url":"\/\/www.dmcinfo.com\/wp-content\/uploads\/wpo365\/profile-images\/287.png","contentUrl":"\/\/www.dmcinfo.com\/wp-content\/uploads\/wpo365\/profile-images\/287.png","caption":"Andy Reese"},"url":"https:\/\/www.dmcinfo.com\/blog\/author\/andrewr\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/posts\/15721","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/users\/287"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/comments?post=15721"}],"version-history":[{"count":2,"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/posts\/15721\/revisions"}],"predecessor-version":[{"id":36566,"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/posts\/15721\/revisions\/36566"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/media\/15722"}],"wp:attachment":[{"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/media?parent=15721"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/categories?post=15721"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/tags?post=15721"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}