{"id":60,"date":"2018-11-13T22:17:18","date_gmt":"2018-11-13T22:17:18","guid":{"rendered":"http:\/\/www.derhecht.de\/content\/?p=60"},"modified":"2018-11-13T22:17:18","modified_gmt":"2018-11-13T22:17:18","slug":"alarmlogging-filter-wieder-herstellen","status":"publish","type":"post","link":"https:\/\/www.derhecht.de\/content\/alarmlogging-filter-wieder-herstellen\/","title":{"rendered":"Alarmlogging-Filter wieder herstellen"},"content":{"rendered":"<p>Zun\u00e4chst muss nat\u00fcrlich erst ein passender Filter im Alarmlogging &#8211; Fenster in der Runtime erstellt werden.<\/p>\n<p>Anschlie\u00dfend wird mit den Windows-Explorer die Datei &#8222;CCAlarmFilterStorage.xml\u201c kopiert und dann umbenannt. Diese Datei be\ufb01ndet sich im Projektverzeichnis im Unterordner \u201dMELD\u201c. In den Beispiel nachfolgenden\u00a0 Listing\u00a0 habe ich diese Datei in \u201dCCAlarmFilterStorage.xxx\u201c umbenannt. Die Frage Umbenennen der Dateinamenerweiterung einfach mit ja best\u00e4tigen und schon ist eine Datei f\u00fcr die Werkseinstellung vorhanden. Anschlie\u00dfend muss noch das nachfolgende Script an einen Button (Klick &#8211; Ereignis) gebunden werden.<\/p>\n<pre><code>\r\n#include \"apdefap.h\"\r\nvoid OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)\r\n{\r\n#pragma code (\"Kernel32.dll\")\r\n  BOOL CopyFileA(  LPCTSTR lpExistingFileName,  LPCTSTR lpNewFileName,  BOOL bFailIfExists);\r\n#pragma code ()\r\nchar path[255], srcFile[255], desFile[255];\r\nCMN_ERROR er;\r\nDM_DIRECTORY_INFO info;\r\nBOOL rt;\r\n\r\nmemset(path, 0, sizeof(path));\r\nmemset(srcFile, 0, sizeof(srcFile));\r\nmemset(desFile, 0, sizeof(desFile));\r\nmemset(&amp;er, 0, sizeof(CMN_ERROR));\r\nmemset(&amp;info, 0, sizeof(DM_DIRECTORY_INFO));\r\n\r\nif(DMGetRuntimeProject(path, sizeof(path), &amp;er))   \/\/Runtimeproject abrufen\r\n{\r\n  if(DMGetProjectDirectory(\"bla\", path, &amp;info, &amp;er))   \/\/Projektpfad ermitteln\r\n  { \r\n   sprintf(srcFile, \"%s\\\\MELD\\\\CCAlarmFilterStorage.xxx\", info.szProjectDir);\r\n   sprintf(desFile, \"%s\\\\MELD\\\\CCAlarmFilterStorage.xml\", info.szProjectDir);\r\n   rt = CopyFileA(srcFile, desFile, FALSE);\r\n  }\r\n }\r\n}\r\n<\/code><\/pre>\n<p><strong>Funktionsbeschreibung:<\/strong> Bei Buttonklick wird zun\u00e4chst das aktuell laufende WinCC-Projekt ermittelt. Daraufhin wird das Projektverzeichnis abgerufen. Nun wird f\u00fcr die Quell- und Zieldatei der absolute Dateipfad erstellt und die vorher umbenannte Datei (srcFile) kopiert und die &#8222;alte&#8220; Filterdatei (desFile) damit \u00fcberschrieben.<\/p>\n<p><strong>HINWEIS!<\/strong>\u00a0 Die Funktion &#8222;CopyFileA&#8220; ist eine mit #pragma Code.. importierte Funktion. Der R\u00fcckgabewert ist TRUE wenn erfolgreich kopiert wurde.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Zun\u00e4chst muss nat\u00fcrlich erst ein passender Filter im Alarmlogging &#8211; Fenster in der Runtime erstellt werden. Anschlie\u00dfend wird mit den Windows-Explorer die Datei &#8222;CCAlarmFilterStorage.xml\u201c kopiert und dann umbenannt. Diese Datei be\ufb01ndet sich im Projektverzeichnis im Unterordner \u201dMELD\u201c. In den Beispiel nachfolgenden\u00a0 Listing\u00a0 habe ich diese Datei in \u201dCCAlarmFilterStorage.xxx\u201c umbenannt. Die Frage Umbenennen der Dateinamenerweiterung einfach [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[14,16,15],"class_list":["post-60","post","type-post","status-publish","format-standard","hentry","category-wincc-c-script","tag-copyfile","tag-dmgetprojectdirectory","tag-dmgetruntimeproject"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.derhecht.de\/content\/wp-json\/wp\/v2\/posts\/60","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.derhecht.de\/content\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.derhecht.de\/content\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.derhecht.de\/content\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.derhecht.de\/content\/wp-json\/wp\/v2\/comments?post=60"}],"version-history":[{"count":6,"href":"https:\/\/www.derhecht.de\/content\/wp-json\/wp\/v2\/posts\/60\/revisions"}],"predecessor-version":[{"id":66,"href":"https:\/\/www.derhecht.de\/content\/wp-json\/wp\/v2\/posts\/60\/revisions\/66"}],"wp:attachment":[{"href":"https:\/\/www.derhecht.de\/content\/wp-json\/wp\/v2\/media?parent=60"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.derhecht.de\/content\/wp-json\/wp\/v2\/categories?post=60"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.derhecht.de\/content\/wp-json\/wp\/v2\/tags?post=60"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}