modul tutorial twincat
[{"id":"2cf4e73.bcb4f98","type":"ADS Symbols","z":"524f011a.f0bce8","name":"","datasource":"","data":"SYMBOLES","x":300,"y":740,"wires":[["9fd1a1c7.a10a6"]]},{"id":"9fd1a1c7.a10a6","type":"csv","z":"524f011a.f0bce8","name":"","sep":"\\t","hdrin":false,"hdrout":true,"multi":"one","ret":"\\r\\n","temp":"indexGroup,indexOffset,size,name,type,comment","skip":"0","x":470,"y":740,"wires":[["3f33ed7f.08d41a"]]},{"id":"3f33ed7f.08d41a","type":"file","z":"524f011a.f0bce8","name":"","filename":"symboles.xls","appendNewline":false,"createDir":false,"overwriteFile":"true","x":690,"y":740,"wires":[[]]},{"id":"cf639909.782c38","type":"inject","z":"524f011a.f0bce8","name":"all","topic":"","payload":"true","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":130,"y":740,"wires":[["2cf4e73.bcb4f98"]]},{"id":"bb6e0397.998ca8","type":"ADS Symbols","z":"524f011a.f0bce8","name":"","datasource":"","data":"TYPES","x":300,"y":800,"wires":[["df532662.17485"]]},{"id":"afa626ac.36da48","type":"csv","z":"524f011a.f0bce8","name":"","sep":"\\t","hdrin":false,"hdrout":true,"multi":"one","ret":"\\r\\n","temp":"version,size,dataType,subItems,name,type,lBound,elements,entryIndex,entryVersion,entrySize,entryOffs,entryDataType,entryName,entryType","skip":"0","x":670,"y":800,"wires":[["ace69011.4a4f18"]]},{"id":"ace69011.4a4f18","type":"file","z":"524f011a.f0bce8","name":"","filename":"types.xls","appendNewline":false,"createDir":false,"overwriteFile":"true","x":840,"y":800,"wires":[[]]},{"id":"12d3e5af.381b3a","type":"inject","z":"524f011a.f0bce8","name":"search","topic":"","payload":"[\"typeName1*\",\"type?ame2*\"]","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":130,"y":800,"wires":[["bb6e0397.998ca8"]]},{"id":"df532662.17485","type":"function","z":"524f011a.f0bce8","name":"format for csv","func":"var outmsg = {payload:[]}\nif (Array.isArray(msg.payload)) {\n msg.payload.map(function (data){\n out = {\n version: data.version,\n hashValue: data.hashValue,\n typeHashValue: data.typeHashValue,\n size: data.size,\n dataType: data.dataType,\n subItems: data.subItems,\n name: data.name,\n type: data.type,\n arrayDim: data.arrayDim,\n comment: data.comment\n }\n outmsg.payload.push(out)\n \n if (data.array) {\n data.array.map(function(adata) {\n adata.name= data.name\n outmsg.payload.push(adata)\n }) \n }\n\n if (data.datatyps) {\n data.datatyps.map(function(sdata) {\n out = {\n name: data.name,\n entryIndex: sdata.index,\n entryVersion: sdata.version,\n entryHashValue: sdata.hashValue,\n entryTypeHashValue: sdata.typeHashValue,\n entrySize: sdata.size,\n entryOffs: sdata.offs,\n entryDataType: sdata.dataType,\n entryName: sdata.name,\n entryType: sdata.type,\n entryArrayDim: data.arrayDim,\n entryComment: sdata.comment,\n array: sdata.array\n }\n outmsg.payload.push(out)\n \n }) \n }\n })\n}\nreturn outmsg","outputs":1,"noerr":0,"x":500,"y":800,"wires":[["afa626ac.36da48"]]},{"id":"fa01d720.55c0e8","type":"inject","z":"524f011a.f0bce8","name":"all","topic":"","payload":"true","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":130,"y":840,"wires":[["bb6e0397.998ca8"]]},{"id":"b16a18f7.e0ece8","type":"inject","z":"524f011a.f0bce8","name":"search","topic":"","payload":"[\".var1*\",\".?ar2*\"]","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":130,"y":700,"wires":[["2cf4e73.bcb4f98"]]}]
[{"id":"b0a9c705.017d08","type":"ADS Symbols","z":"524f011a.f0bce8","name":"","datasource":"","data":"SYMBOLES","x":370,"y":940,"wires":[["f9278f67.b8ba2"]]},{"id":"f9278f67.b8ba2","type":"ui_template","z":"524f011a.f0bce8","group":"aa9409af.67136","name":"","order":0,"width":"26","height":"6","format":"<style>\ntable {\n color: #333;\n font-family: Helvetica, Arial, sans-serif;\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0;\n}\ntd, th {\n border: 1px solid transparent;\n height: 30px;\n transition: all 0.3s;\n}\nth {\n background: #DFDFDF;\n /* Darken header a bit */\n font-weight: bold;\n text-align: left;\n}\ntd {\n background: #FAFAFA;\n text-align: left;\n}\ntr:nth-child(even) td {\n background: #F1F1F1;\n}\ntr:nth-child(odd) td {\n background: #FEFEFE;\n}\ntr td:hover {\n background: #666;\n color: #FFF;\n}\n</style>\n\n<div>\n<table>\n <tr>\n <th>Index Group</th>\n <th>Index Offset</th>\n <th>Name</th>\n <th>Type</th>\n <th>Comment</th>\n </tr>\n <tr ng-repeat=\"obj in msg.payload\">\n <td>{{ obj.indexGroup }}</td>\n <td>{{ obj.indexOffset }}</td>\n <td>{{ obj.name }}</td>\n <td>{{ obj.type }}</td>\n <td>{{ obj.comment }}</td>\n </tr>\n</table>\n</div>","storeOutMessages":false,"fwdInMessages":false,"templateScope":"local","x":600,"y":940,"wires":[[]]},{"id":"cf2f5485.8f3268","type":"ADS Symbols","z":"524f011a.f0bce8","name":"","datasource":"","data":"TYPES","x":360,"y":1020,"wires":[["803b7b42.ce51b"]]},{"id":"803b7b42.ce51b","type":"ui_template","z":"524f011a.f0bce8","group":"f880e964.b5012","name":"","order":2,"width":"26","height":"10","format":"<style>\ntable {\n color: #333;\n font-family: Helvetica, Arial, sans-serif;\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0;\n}\ntd, th {\n border: 1px solid transparent;\n height: 30px;\n transition: all 0.3s;\n}\nth {\n background: #DFDFDF;\n font-weight: bold;\n text-align: left;\n}\ntd {\n background: #FAFAFA;\n text-align: left;\n}\ntr:nth-child(even) td {\n background: #F1F1F1;\n}\ntr:nth-child(odd) td {\n background: #FEFEFE;\n}\ntr td:hover {\n background: #666;\n color: #FFF;\n}\n</style>\n\n<div>\n<table>\n <tr>\n <th>Version</th>\n <th>Size</th>\n <th>Data Type</th>\n <th>Name</th>\n <th>Type</th>\n <th>Comment</th>\n <th>Array Dim</th>\n <th>Sub Types</th>\n </tr>\n <tr ng-repeat=\"obj in msg.payload\">\n <td>{{ obj.version }}</td>\n <td>{{ obj.size }}</td>\n <td>{{ obj.dataType }}</td>\n <td>{{ obj.name }}</td>\n <td>{{ obj.type }}</td>\n <td>{{ obj.comment }}</td>\n <td>\n <table ng-show=\"obj.array\">\n <tr>\n <th>Low Bound</th>\n <th>Elements</th>\n </tr>\n <tr ng-repeat=\"sobj in obj.array\">\n <td>{{ sobj.lBound }}</td>\n <td>{{ sobj.elements }}</td>\n </tr>\n </table>\n </td> \n <td>\n <table ng-show=\"obj.datatyps\">\n <tr>\n <th>Index</th>\n <th>Version</th>\n <th>Size</th>\n <th>Data Type</th>\n <th>Offset</th>\n <th>Name</th>\n <th>Type</th>\n <th>Comment</th>\n </tr>\n <tr ng-repeat=\"sobj in obj.datatyps\">\n <td>{{ sobj.index }}</td>\n <td>{{ sobj.version }}</td>\n <td>{{ sobj.size }}</td>\n <td>{{ sobj.dataType }}</td>\n <td>{{ sobj.offs }}</td>\n <td>{{ sobj.name }}</td>\n <td>{{ sobj.type }}</td>\n <td>{{ sobj.comment }}</td>\n </tr>\n </table>\n </td> \n </tr>\n</table>\n</div>","storeOutMessages":false,"fwdInMessages":false,"templateScope":"local","x":600,"y":1020,"wires":[[]]},{"id":"6dadd36d.9d2334","type":"ui_text_input","z":"524f011a.f0bce8","name":"","label":"Search","group":"f880e964.b5012","order":1,"width":0,"height":0,"passthru":false,"mode":"text","delay":"0","topic":"","x":140,"y":1020,"wires":[["cf2f5485.8f3268"]]},{"id":"8dfe926d.20cbb","type":"ui_text_input","z":"524f011a.f0bce8","name":"","label":"Search","group":"aa9409af.67136","order":1,"width":"0","height":"0","passthru":false,"mode":"text","delay":"0","topic":"","x":140,"y":940,"wires":[["b0a9c705.017d08"]]},{"id":"aa9409af.67136","type":"ui_group","z":"","name":"Symboles","tab":"65f5295f.68b3c","order":1,"disp":true,"width":"26","collapse":true},{"id":"f880e964.b5012","type":"ui_group","z":"","name":"Types","tab":"65f5295f.68b3c","order":2,"disp":true,"width":"26","collapse":true},{"id":"65f5295f.68b3c","type":"ui_tab","z":"","name":"inspect PLC","icon":"fingerprint","order":2}]