first commit
Build with ncc / build (push) Successful in 30s Details

This commit is contained in:
gilesb 2023-11-20 19:31:27 +00:00
commit 521306fbe6
157 changed files with 40196 additions and 0 deletions

39
.github/workflows/ncc.yml vendored Normal file
View File

@ -0,0 +1,39 @@
name: Build with ncc
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: RouxAntoine/checkout@v3.5.4
with:
ref: ${{ github.ref }}
token: ${{ secrets.BOT_TOKEN }}
- uses: actions/setup-node@v3
with:
node-version: 20
- name: Install npm and package
run: |
# Get github branch without refs
GITHUB_BRANCH=$( echo "${{ github.ref }}" | sed 's/refs\/heads\///g' )
echo "GITHUB_BRANCH=$GITHUB_BRANCH" >> "$GITHUB_ENV"
# Install npm, ncc and build
npm install
# npm i -g @vercel/ncc
npm run build
- id: check-for-changes
uses: sigyl-actions/check-for-changes@v1.0.1
- name: commit and push
run: |
if [ ${{ steps.check-for-changes.outputs.changes }} = true ]; then
git config user.name "${{ github.actor }}"
git config user.email "${{ github.event.pusher.email }}"
git add -A
git commit -m "Update ncc build to latest version"
git push origin HEAD
else
echo no changes
fi

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
node_modules

3
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,3 @@
{
}

13
Dockerfile Normal file
View File

@ -0,0 +1,13 @@
FROM node:18.16.0-alpine
WORKDIR /code
COPY package.json package.json
COPY package-lock.json package-lock.json
RUN npm install
COPY . .
ENTRYPOINT [ "npm", "run" ]

19
README.md Normal file
View File

@ -0,0 +1,19 @@
# document-phases
running as current user
docker run -u $(id -u):$(id -g) -i -t -v "$PWD":/usr/src/app -w /usr/src/app node:latest
docker run -u $(id -u):$(id -g) -i -t -v /home/giles/zone10/ft-batch:/ft-batch -v "$PWD":/usr/src/app -w /usr/src/app node:latest npm install
rm -rfv /home/giles/8tb/document/model/* && docker run -u $(id -u):$(id -g) -i -t -v /home/giles/8tb/document/model:/output -v /home/giles/8tb/ft-batch:/ft-batch -v "$PWD":/usr/src/app -w /usr/src/app node:latest npm run model /output /ft-batch/original.axml /ft-batch/equipment-model.axml /ft-batch/equipment-model.json
rm -rfv /home/giles/8tb/document/recipes/* && docker run -u $(id -u):$(id -g) -i -t -v /home/giles/8tb/document/recipes:/output -v /home/giles/8tb/ft-batch:/ft-batch -v "$PWD":/usr/src/app -w /usr/src/app node:latest npm run recipe /output /ft-batch/recipes-export /ft-batch/equipment-model.axml model
docker build . -t document-phases
rm -rfv /home/giles/8tb/document/model/* && docker run -u $(id -u):$(id -g) -i -t -v /home/giles/8tb/document/model:/output -v /home/giles/8tb/ft-batch:/ft-batch document-phases:latest model /output /ft-batch/original.axml /ft-batch/equipment-model.axml /ft-batch/equipment-model.json
rm -rfv /home/giles/8tb/document/recipes/* && docker run -u $(id -u):$(id -g) -i -t -v /home/giles/8tb/document/recipes:/output -v /home/giles/8tb/ft-batch:/ft-batch document-phases:latest recipe /output /ft-batch/recipes-export /ft-batch/equipment-model.axml model

18
action.yml Normal file
View File

@ -0,0 +1,18 @@
name: "recipe-document"
author: "Monte Hellawell @montudor"
description: "This GitHub action exposes the zip command for use in building/archiving"
branding:
icon: folder-plus
color: gray-dark
runs:
using: 'node20'
main: 'dist/index.js'
inputs:
document:
description: folder documentation
model:
description: equipment model file
opc:
description: opc file
recipes:
description: recipes folder

39
dist/exec-child.js vendored Normal file
View File

@ -0,0 +1,39 @@
if (require.main !== module) {
throw new Error('This file should not be required');
}
var childProcess = require('child_process');
var fs = require('fs');
var paramFilePath = process.argv[2];
var serializedParams = fs.readFileSync(paramFilePath, 'utf8');
var params = JSON.parse(serializedParams);
var cmd = params.command;
var execOptions = params.execOptions;
var pipe = params.pipe;
var stdoutFile = params.stdoutFile;
var stderrFile = params.stderrFile;
var c = childProcess.exec(cmd, execOptions, function (err) {
if (!err) {
process.exitCode = 0;
} else if (err.code === undefined) {
process.exitCode = 1;
} else {
process.exitCode = err.code;
}
});
var stdoutStream = fs.createWriteStream(stdoutFile);
var stderrStream = fs.createWriteStream(stderrFile);
c.stdout.pipe(stdoutStream);
c.stderr.pipe(stderrStream);
c.stdout.pipe(process.stdout);
c.stderr.pipe(process.stderr);
if (pipe) {
c.stdin.end(pipe);
}

35602
dist/index.js vendored Normal file

File diff suppressed because one or more lines are too long

15
main.js Normal file
View File

@ -0,0 +1,15 @@
const core = require('@actions/core');
import recipe from './src/recipe/index.js';
import model from './src/model/index.js';
model(
core.getInput('document') || 'document',
core.getInput('model') || 'equipment-model.axml',
core.getInput('opc') || 'equipment-model.json',
).then(
() => recipe(
core.getInput('document') || 'document',
core.getInput('recipes') || 'recipes',
core.getInput('model') || 'equipment-model.axml',
),
);

717
package-lock.json generated Normal file
View File

@ -0,0 +1,717 @@
{
"name": "document-phases",
"version": "1.0.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "document-phases",
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"commander": "^10.0.1",
"diff": "^5.1.0",
"fast-xml-parser": "^4.2.4",
"git-diff": "^2.0.6",
"js-yaml": "^4.1.0",
"markdown-escape": "^2.0.0",
"xml-formatter": "^3.4.1",
"xml-js": "^1.6.11"
},
"devDependencies": {
"@vercel/ncc": "^0.38.1"
}
},
"node_modules/@vercel/ncc": {
"version": "0.38.1",
"resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.38.1.tgz",
"integrity": "sha512-IBBb+iI2NLu4VQn3Vwldyi2QwaXt5+hTyh58ggAMoCGE6DJmPvwL3KPBWcJl1m9LYPChBLE980Jw+CS4Wokqxw==",
"dev": true,
"bin": {
"ncc": "dist/ncc/cli.js"
}
},
"node_modules/ansi-styles": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dependencies": {
"color-convert": "^1.9.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
},
"node_modules/balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
},
"node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"node_modules/chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dependencies": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"dependencies": {
"color-name": "1.1.3"
}
},
"node_modules/color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
},
"node_modules/commander": {
"version": "10.0.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
"integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
"engines": {
"node": ">=14"
}
},
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
},
"node_modules/diff": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz",
"integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==",
"engines": {
"node": ">=0.3.1"
}
},
"node_modules/escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
"engines": {
"node": ">=0.8.0"
}
},
"node_modules/fast-xml-parser": {
"version": "4.2.4",
"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.4.tgz",
"integrity": "sha512-fbfMDvgBNIdDJLdLOwacjFAPYt67tr31H9ZhWSm45CDAxvd0I6WTlSOUo7K2P/K5sA5JgMKG64PI3DMcaFdWpQ==",
"funding": [
{
"type": "paypal",
"url": "https://paypal.me/naturalintelligence"
},
{
"type": "github",
"url": "https://github.com/sponsors/NaturalIntelligence"
}
],
"dependencies": {
"strnum": "^1.0.5"
},
"bin": {
"fxparser": "src/cli/cli.js"
}
},
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
},
"node_modules/function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
},
"node_modules/git-diff": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/git-diff/-/git-diff-2.0.6.tgz",
"integrity": "sha512-/Iu4prUrydE3Pb3lCBMbcSNIf81tgGt0W1ZwknnyF62t3tHmtiJTRj0f+1ZIhp3+Rh0ktz1pJVoa7ZXUCskivA==",
"dependencies": {
"chalk": "^2.3.2",
"diff": "^3.5.0",
"loglevel": "^1.6.1",
"shelljs": "^0.8.1",
"shelljs.exec": "^1.1.7"
},
"engines": {
"node": ">= 4.8.0"
}
},
"node_modules/git-diff/node_modules/diff": {
"version": "3.5.0",
"resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
"integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
"engines": {
"node": ">=0.3.1"
}
},
"node_modules/glob": {
"version": "7.2.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.1.1",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
},
"engines": {
"node": "*"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/has": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"dependencies": {
"function-bind": "^1.1.1"
},
"engines": {
"node": ">= 0.4.0"
}
},
"node_modules/has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
"engines": {
"node": ">=4"
}
},
"node_modules/inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
"dependencies": {
"once": "^1.3.0",
"wrappy": "1"
}
},
"node_modules/inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"node_modules/interpret": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
"integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
"engines": {
"node": ">= 0.10"
}
},
"node_modules/is-core-module": {
"version": "2.11.0",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
"integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
"dependencies": {
"has": "^1.0.3"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/js-yaml": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"dependencies": {
"argparse": "^2.0.1"
},
"bin": {
"js-yaml": "bin/js-yaml.js"
}
},
"node_modules/loglevel": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.1.tgz",
"integrity": "sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==",
"engines": {
"node": ">= 0.6.0"
},
"funding": {
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/loglevel"
}
},
"node_modules/markdown-escape": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/markdown-escape/-/markdown-escape-2.0.0.tgz",
"integrity": "sha512-Trz4v0+XWlwy68LJIyw3bLbsJiC8XAbRCKF9DbEtZjyndKOGVx6n+wNB0VfoRmY2LKboQLeniap3xrb6LGSJ8A=="
},
"node_modules/minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dependencies": {
"brace-expansion": "^1.1.7"
},
"engines": {
"node": "*"
}
},
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
"dependencies": {
"wrappy": "1"
}
},
"node_modules/path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/path-parse": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
},
"node_modules/rechoir": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
"integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==",
"dependencies": {
"resolve": "^1.1.6"
},
"engines": {
"node": ">= 0.10"
}
},
"node_modules/resolve": {
"version": "1.22.1",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
"integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
"dependencies": {
"is-core-module": "^2.9.0",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
},
"bin": {
"resolve": "bin/resolve"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/sax": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
},
"node_modules/shelljs": {
"version": "0.8.5",
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz",
"integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==",
"dependencies": {
"glob": "^7.0.0",
"interpret": "^1.0.0",
"rechoir": "^0.6.2"
},
"bin": {
"shjs": "bin/shjs"
},
"engines": {
"node": ">=4"
}
},
"node_modules/shelljs.exec": {
"version": "1.1.8",
"resolved": "https://registry.npmjs.org/shelljs.exec/-/shelljs.exec-1.1.8.tgz",
"integrity": "sha512-vFILCw+lzUtiwBAHV8/Ex8JsFjelFMdhONIsgKNLgTzeRckp2AOYRQtHJE/9LhNvdMmE27AGtzWx0+DHpwIwSw==",
"engines": {
"node": ">= 4.0.0"
}
},
"node_modules/strnum": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz",
"integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA=="
},
"node_modules/supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dependencies": {
"has-flag": "^3.0.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/supports-preserve-symlinks-flag": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
},
"node_modules/xml-formatter": {
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/xml-formatter/-/xml-formatter-3.4.1.tgz",
"integrity": "sha512-C7VwnZpz662mZlKtrdREucsABAIlmdph/nMEUszTMsRAGGPMSNfyNOU4UaPBqxXYVadb9uSpc1Xibbj6XpbGRA==",
"dependencies": {
"xml-parser-xo": "^4.1.0"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/xml-js": {
"version": "1.6.11",
"resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz",
"integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==",
"dependencies": {
"sax": "^1.2.4"
},
"bin": {
"xml-js": "bin/cli.js"
}
},
"node_modules/xml-parser-xo": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/xml-parser-xo/-/xml-parser-xo-4.1.0.tgz",
"integrity": "sha512-9mQMLmq8J++XlQH9WF57oQxFVbR3YM6dPPtTuV+++aMe2gRoRU/kj819/6IptUmfhC1d2DSFiYxEcpkoLabeJw==",
"engines": {
"node": ">= 14"
}
}
},
"dependencies": {
"@vercel/ncc": {
"version": "0.38.1",
"resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.38.1.tgz",
"integrity": "sha512-IBBb+iI2NLu4VQn3Vwldyi2QwaXt5+hTyh58ggAMoCGE6DJmPvwL3KPBWcJl1m9LYPChBLE980Jw+CS4Wokqxw==",
"dev": true
},
"ansi-styles": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"requires": {
"color-convert": "^1.9.0"
}
},
"argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
},
"balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
}
},
"color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"requires": {
"color-name": "1.1.3"
}
},
"color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
},
"commander": {
"version": "10.0.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
"integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug=="
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
},
"diff": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz",
"integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw=="
},
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="
},
"fast-xml-parser": {
"version": "4.2.4",
"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.4.tgz",
"integrity": "sha512-fbfMDvgBNIdDJLdLOwacjFAPYt67tr31H9ZhWSm45CDAxvd0I6WTlSOUo7K2P/K5sA5JgMKG64PI3DMcaFdWpQ==",
"requires": {
"strnum": "^1.0.5"
}
},
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
},
"function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
},
"git-diff": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/git-diff/-/git-diff-2.0.6.tgz",
"integrity": "sha512-/Iu4prUrydE3Pb3lCBMbcSNIf81tgGt0W1ZwknnyF62t3tHmtiJTRj0f+1ZIhp3+Rh0ktz1pJVoa7ZXUCskivA==",
"requires": {
"chalk": "^2.3.2",
"diff": "^3.5.0",
"loglevel": "^1.6.1",
"shelljs": "^0.8.1",
"shelljs.exec": "^1.1.7"
},
"dependencies": {
"diff": {
"version": "3.5.0",
"resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
"integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA=="
}
}
},
"glob": {
"version": "7.2.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.1.1",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
},
"has": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"requires": {
"function-bind": "^1.1.1"
}
},
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="
},
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
"requires": {
"once": "^1.3.0",
"wrappy": "1"
}
},
"inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"interpret": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
"integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA=="
},
"is-core-module": {
"version": "2.11.0",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
"integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
"requires": {
"has": "^1.0.3"
}
},
"js-yaml": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"requires": {
"argparse": "^2.0.1"
}
},
"loglevel": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.1.tgz",
"integrity": "sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg=="
},
"markdown-escape": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/markdown-escape/-/markdown-escape-2.0.0.tgz",
"integrity": "sha512-Trz4v0+XWlwy68LJIyw3bLbsJiC8XAbRCKF9DbEtZjyndKOGVx6n+wNB0VfoRmY2LKboQLeniap3xrb6LGSJ8A=="
},
"minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"requires": {
"brace-expansion": "^1.1.7"
}
},
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
"requires": {
"wrappy": "1"
}
},
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="
},
"path-parse": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
},
"rechoir": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
"integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==",
"requires": {
"resolve": "^1.1.6"
}
},
"resolve": {
"version": "1.22.1",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
"integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
"requires": {
"is-core-module": "^2.9.0",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
}
},
"sax": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
},
"shelljs": {
"version": "0.8.5",
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz",
"integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==",
"requires": {
"glob": "^7.0.0",
"interpret": "^1.0.0",
"rechoir": "^0.6.2"
}
},
"shelljs.exec": {
"version": "1.1.8",
"resolved": "https://registry.npmjs.org/shelljs.exec/-/shelljs.exec-1.1.8.tgz",
"integrity": "sha512-vFILCw+lzUtiwBAHV8/Ex8JsFjelFMdhONIsgKNLgTzeRckp2AOYRQtHJE/9LhNvdMmE27AGtzWx0+DHpwIwSw=="
},
"strnum": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz",
"integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA=="
},
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"requires": {
"has-flag": "^3.0.0"
}
},
"supports-preserve-symlinks-flag": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
},
"xml-formatter": {
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/xml-formatter/-/xml-formatter-3.4.1.tgz",
"integrity": "sha512-C7VwnZpz662mZlKtrdREucsABAIlmdph/nMEUszTMsRAGGPMSNfyNOU4UaPBqxXYVadb9uSpc1Xibbj6XpbGRA==",
"requires": {
"xml-parser-xo": "^4.1.0"
}
},
"xml-js": {
"version": "1.6.11",
"resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz",
"integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==",
"requires": {
"sax": "^1.2.4"
}
},
"xml-parser-xo": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/xml-parser-xo/-/xml-parser-xo-4.1.0.tgz",
"integrity": "sha512-9mQMLmq8J++XlQH9WF57oQxFVbR3YM6dPPtTuV+++aMe2gRoRU/kj819/6IptUmfhC1d2DSFiYxEcpkoLabeJw=="
}
}
}

30
package.json Normal file
View File

@ -0,0 +1,30 @@
{
"name": "document-phases",
"version": "1.0.0",
"description": "",
"main": "src/index.js",
"scripts": {
"clear": "rm -rfv ./model/* && rm -rfv ./recipes/*",
"model": "node src/index.js model",
"recipe": "node src/index.js recipe",
"format": "node src/index.js format",
"ls": "ls",
"test": "echo \"Error: no test specified\" && exit 1",
"build": "ncc build main.js"
},
"author": "giles bradshaw",
"license": "ISC",
"devDependencies": {
"@vercel/ncc": "^0.38.1"
},
"dependencies": {
"commander": "^10.0.1",
"diff": "^5.1.0",
"fast-xml-parser": "^4.2.4",
"git-diff": "^2.0.6",
"js-yaml": "^4.1.0",
"markdown-escape": "^2.0.0",
"xml-formatter": "^3.4.1",
"xml-js": "^1.6.11"
}
}

File diff suppressed because one or more lines are too long

2
recipes/ALL_CLEAN.OXML Normal file

File diff suppressed because one or more lines are too long

2
recipes/ALL_LIQ_ADD.OXML Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

158
recipes/ALL_RESET.OXML Normal file
View File

@ -0,0 +1,158 @@
<?xml version="1.0" encoding="UTF-8"?>
<RecipeElement xmlns="urn:Rockwell/MasterRecipe"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:Rockwell/MasterRecipe C:\PROGRA~1\ROCKWE~1\BATCH\SCHEMAS\MasterRecipe.xsd" SchemaVersion="3530">
<RecipeElementID>ALL_RESET</RecipeElementID>
<Header>
<Abstract></Abstract>
<ApprovedBy></ApprovedBy>
<AreaModel>\\DESKTOP-PKHILQE\BATCHCTL\ZONE-10\EQUIPMENT-MODEL.CFG</AreaModel>
<AreaModelDate>2023-06-23T16:09:45</AreaModelDate>
<Author>GB</Author>
<BeingEditedBy>Not being handled yet</BeingEditedBy>
<ClassBased>true</ClassBased>
<DBSchema>3530</DBSchema>
<DefaultSize>0.</DefaultSize>
<Description></Description>
<Duration>0</Duration>
<LocaleID>-1</LocaleID>
<MaxSize>0.</MaxSize>
<MinSize>0.</MinSize>
<ProductCode></ProductCode>
<ProductID></ProductID>
<ProductUnits></ProductUnits>
<RecipeType>Operation</RecipeType>
<Released>0</Released>
<ReleaseAsStep>true</ReleaseAsStep>
<Resource>UNIT_CLS</Resource>
<VerificationDate>2023-10-16T14:46:41</VerificationDate>
<Version>1.0</Version>
<VersionDate>2023-02-17T10:20:02</VersionDate>
<Obsoleted>false</Obsoleted>
<NextWIPNumber>2</NextWIPNumber>
<VersionDescription></VersionDescription>
<ParentName></ParentName>
<ParentVersionDescription></ParentVersionDescription>
<ParentVersionDate>1950-02-28T00:00:00</ParentVersionDate>
<ParentVerificationDate>1950-02-28T00:00:00</ParentVerificationDate>
<ParentAreaModelDate>1950-02-28T00:00:00</ParentAreaModelDate>
<ParentAreaModelName></ParentAreaModelName>
<SecurityAuthorityIdentifier>NOT_AVAILABLE</SecurityAuthorityIdentifier>
</Header>
<Steps>
<InitialStep XPos="700" YPos="100">
<Name>INITIALSTEP:1</Name>
</InitialStep>
<TerminalStep XPos="800" YPos="1100">
<Name>TERMINALSTEP:1</Name>
</TerminalStep>
<Step XPos="600" YPos="600" AcquireUnit="true" SystemStep="false">
<Name>ACCUMULATOR:1</Name>
<StepRecipeID>ACCUMULATOR</StepRecipeID>
<PackedFlags>1</PackedFlags>
<UnitAlias>UNIT_CLS</UnitAlias>
<FormulaValue>
<Name>ADD</Name>
<Display>false</Display>
<Value/>
<Real>-1</Real>
<EngineeringUnits></EngineeringUnits>
<FormulaValueLimit Verification="No_Limits">
<LowLowLowValue>0.</LowLowLowValue>
<LowLowValue>0.</LowLowValue>
<LowValue>0.</LowValue>
<HighValue>0.</HighValue>
<HighHighValue>0.</HighHighValue>
<HighHighHighValue>0.</HighHighHighValue>
</FormulaValueLimit>
</FormulaValue>
<FormulaValue>
<Name>PROMPT</Name>
<Display>false</Display>
<Value/>
<String>END OF BATCH</String>
<FormulaValueLimit Verification="No_Limits">
<LowLowLowValue>0.</LowLowLowValue>
<LowLowValue>0.</LowLowValue>
<LowValue>0.</LowValue>
<HighValue>0.</HighValue>
<HighHighValue>0.</HighHighValue>
<HighHighHighValue>0.</HighHighHighValue>
</FormulaValueLimit>
</FormulaValue>
<FormulaValue>
<Name>RESET</Name>
<Display>false</Display>
<Value/>
<EnumerationSet>YES_NO</EnumerationSet>
<EnumerationMember>YES</EnumerationMember>
<FormulaValueLimit Verification="No_Limits">
<LowLowLowValue>0.</LowLowLowValue>
<LowLowValue>0.</LowLowValue>
<LowValue>0.</LowValue>
<HighValue>0.</HighValue>
<HighHighValue>0.</HighHighValue>
<HighHighHighValue>0.</HighHighHighValue>
</FormulaValueLimit>
</FormulaValue>
<FormulaValue>
<Name>USE_ACCUMULATOR</Name>
<Display>false</Display>
<Value/>
<EnumerationSet>ACCUMULATORS_ENUM</EnumerationSet>
<EnumerationMember>SUB_BATCH</EnumerationMember>
<FormulaValueLimit Verification="No_Limits">
<LowLowLowValue>0.</LowLowLowValue>
<LowLowValue>0.</LowLowValue>
<LowValue>0.</LowValue>
<HighValue>0.</HighValue>
<HighHighValue>0.</HighHighValue>
<HighHighHighValue>0.</HighHighHighValue>
</FormulaValueLimit>
</FormulaValue>
<ReportLimit Verification="No_Limits">
<Name>ACCUMULATOR</Name>
<LowLowLowValue></LowLowLowValue>
<LowLowValue></LowLowValue>
<LowValue></LowValue>
<HighValue></HighValue>
<HighHighValue></HighHighValue>
<HighHighHighValue></HighHighHighValue>
<VerificationLimitCalculation>Absolute</VerificationLimitCalculation>
<TargetParameter></TargetParameter>
</ReportLimit>
</Step>
</Steps>
<Transition XPos="800" YPos="400">
<Name>T1</Name>
<ConditionalExpression>[4]</ConditionalExpression>
</Transition>
<Transition XPos="800" YPos="900">
<Name>T2</Name>
<ConditionalExpression>ACCUMULATOR:1.[21] = [14]</ConditionalExpression>
</Transition>
<ElementLink>
<FromTransition>T1</FromTransition>
<ToStep>ACCUMULATOR:1</ToStep>
</ElementLink>
<ElementLink>
<FromStep>ACCUMULATOR:1</FromStep>
<ToTransition>T2</ToTransition>
</ElementLink>
<ElementLink>
<FromStep>INITIALSTEP:1</FromStep>
<ToTransition>T1</ToTransition>
</ElementLink>
<ElementLink>
<FromTransition>T2</FromTransition>
<ToStep>TERMINALSTEP:1</ToStep>
</ElementLink>
<UnitRequirement>
<UnitAlias>UNIT_CLS</UnitAlias>
<ClassInstance>UNIT_CLS</ClassInstance>
<BindingMethod>BatchCreation</BindingMethod>
<MaterialBindingMethod>ByInventory</MaterialBindingMethod>
<ClassBased>true</ClassBased>
</UnitRequirement>
<Comments/>
<Formulations/>
</RecipeElement>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
recipes/DR540_HEAT.OXML Normal file

File diff suppressed because one or more lines are too long

2
recipes/DR540_LOD.OXML Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<RecipeElement xmlns="urn:Rockwell/MasterRecipe" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:Rockwell/MasterRecipe C:\PROGRA~1\ROCKWE~1\BATCH\SCHEMAS\MasterRecipe.xsd" SchemaVersion="3530"><RecipeElementID>DR540_MANUAL_CLEAN</RecipeElementID><Header><Abstract></Abstract><ApprovedBy></ApprovedBy><AreaModel>\\DESKTOP-PKHILQE\BATCHCTL\ZONE-10\EQUIPMENT-MODEL.CFG</AreaModel><AreaModelDate>2023-06-23T16:09:45</AreaModelDate><Author>SQL-15\GILES</Author><BeingEditedBy>Not being handled yet</BeingEditedBy><ClassBased>false</ClassBased><DBSchema>3530</DBSchema><DefaultSize>0.</DefaultSize><Description></Description><Duration>0</Duration><LocaleID>-1</LocaleID><MaxSize>0.</MaxSize><MinSize>0.</MinSize><ProductCode></ProductCode><ProductID></ProductID><ProductUnits></ProductUnits><RecipeType>Operation</RecipeType><Released>0</Released><ReleaseAsStep>true</ReleaseAsStep><Resource>DR540</Resource><VerificationDate>2023-10-16T14:46:41</VerificationDate><Version>1.0</Version><VersionDate>2022-11-15T15:41:45</VersionDate><Obsoleted>false</Obsoleted><NextWIPNumber>2</NextWIPNumber><VersionDescription></VersionDescription><ParentName></ParentName><ParentVersionDescription></ParentVersionDescription><ParentVersionDate>1950-02-28T00:00:00</ParentVersionDate><ParentVerificationDate>1950-02-28T00:00:00</ParentVerificationDate><ParentAreaModelDate>1950-02-28T00:00:00</ParentAreaModelDate><ParentAreaModelName></ParentAreaModelName><SecurityAuthorityIdentifier>NOT_AVAILABLE</SecurityAuthorityIdentifier></Header><Steps><InitialStep XPos="700" YPos="100"><Name>INITIALSTEP:1</Name></InitialStep><TerminalStep XPos="800" YPos="1100"><Name>TERMINALSTEP:1</Name></TerminalStep><Step XPos="600" YPos="600" AcquireUnit="true" SystemStep="false"><Name>EP_MANUAL_CLEAN:1</Name><StepRecipeID>EP_MANUAL_CLEAN</StepRecipeID><PackedFlags>1</PackedFlags><UnitAlias>DR540</UnitAlias></Step></Steps><Transition XPos="800" YPos="400"><Name>T1</Name><ConditionalExpression>[4]</ConditionalExpression></Transition><Transition XPos="800" YPos="900"><Name>T2</Name><ConditionalExpression>EP_MANUAL_CLEAN:1.[21] = [14]</ConditionalExpression></Transition><ElementLink><FromTransition>T1</FromTransition><ToStep>EP_MANUAL_CLEAN:1</ToStep></ElementLink><ElementLink><FromStep>EP_MANUAL_CLEAN:1</FromStep><ToTransition>T2</ToTransition></ElementLink><ElementLink><FromStep>INITIALSTEP:1</FromStep><ToTransition>T1</ToTransition></ElementLink><ElementLink><FromTransition>T2</FromTransition><ToStep>TERMINALSTEP:1</ToStep></ElementLink><UnitRequirement><UnitAlias>DR540</UnitAlias><ClassInstance>DR540</ClassInstance><BindingMethod>BatchCreation</BindingMethod><MaterialBindingMethod>ByInventory</MaterialBindingMethod><ClassBased>false</ClassBased></UnitRequirement><Comments/><Formulations/></RecipeElement>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<RecipeElement xmlns="urn:Rockwell/MasterRecipe" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:Rockwell/MasterRecipe C:\PROGRA~1\ROCKWE~1\BATCH\SCHEMAS\MasterRecipe.xsd" SchemaVersion="3530"><RecipeElementID>DR540_PLENUM_DRY</RecipeElementID><Header><Abstract></Abstract><ApprovedBy></ApprovedBy><AreaModel>\\DESKTOP-PKHILQE\BATCHCTL\ZONE-10\EQUIPMENT-MODEL.CFG</AreaModel><AreaModelDate>2023-06-23T16:09:45</AreaModelDate><Author>SQL-15\GILES</Author><BeingEditedBy>Not being handled yet</BeingEditedBy><ClassBased>false</ClassBased><DBSchema>3530</DBSchema><DefaultSize>0.</DefaultSize><Description></Description><Duration>0</Duration><LocaleID>-1</LocaleID><MaxSize>0.</MaxSize><MinSize>0.</MinSize><ProductCode></ProductCode><ProductID></ProductID><ProductUnits></ProductUnits><RecipeType>Operation</RecipeType><Released>0</Released><ReleaseAsStep>true</ReleaseAsStep><Resource>DR540</Resource><VerificationDate>2023-10-16T14:46:41</VerificationDate><Version>1.0</Version><VersionDate>2022-11-15T15:42:35</VersionDate><Obsoleted>false</Obsoleted><NextWIPNumber>2</NextWIPNumber><VersionDescription></VersionDescription><ParentName></ParentName><ParentVersionDescription></ParentVersionDescription><ParentVersionDate>1950-02-28T00:00:00</ParentVersionDate><ParentVerificationDate>1950-02-28T00:00:00</ParentVerificationDate><ParentAreaModelDate>1950-02-28T00:00:00</ParentAreaModelDate><ParentAreaModelName></ParentAreaModelName><SecurityAuthorityIdentifier>NOT_AVAILABLE</SecurityAuthorityIdentifier></Header><Steps><InitialStep XPos="700" YPos="100"><Name>INITIALSTEP:1</Name></InitialStep><TerminalStep XPos="800" YPos="1100"><Name>TERMINALSTEP:1</Name></TerminalStep><Step XPos="600" YPos="600" AcquireUnit="true" SystemStep="false"><Name>EP_PLENUM_DRY:1</Name><StepRecipeID>EP_PLENUM_DRY</StepRecipeID><PackedFlags>1</PackedFlags><UnitAlias>DR540</UnitAlias></Step></Steps><Transition XPos="800" YPos="400"><Name>T1</Name><ConditionalExpression>[4]</ConditionalExpression></Transition><Transition XPos="800" YPos="900"><Name>T2</Name><ConditionalExpression>EP_PLENUM_DRY:1.[21] = [14]</ConditionalExpression></Transition><ElementLink><FromTransition>T1</FromTransition><ToStep>EP_PLENUM_DRY:1</ToStep></ElementLink><ElementLink><FromStep>EP_PLENUM_DRY:1</FromStep><ToTransition>T2</ToTransition></ElementLink><ElementLink><FromStep>INITIALSTEP:1</FromStep><ToTransition>T1</ToTransition></ElementLink><ElementLink><FromTransition>T2</FromTransition><ToStep>TERMINALSTEP:1</ToStep></ElementLink><UnitRequirement><UnitAlias>DR540</UnitAlias><ClassInstance>DR540</ClassInstance><BindingMethod>BatchCreation</BindingMethod><MaterialBindingMethod>ByInventory</MaterialBindingMethod><ClassBased>false</ClassBased></UnitRequirement><Comments/><Formulations/></RecipeElement>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<RecipeElement xmlns="urn:Rockwell/MasterRecipe" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:Rockwell/MasterRecipe C:\PROGRA~1\ROCKWE~1\BATCH\SCHEMAS\MasterRecipe.xsd" SchemaVersion="3530"><RecipeElementID>DR540_ROTARY_FEEDER</RecipeElementID><Header><Abstract></Abstract><ApprovedBy></ApprovedBy><AreaModel>\\DESKTOP-PKHILQE\BATCHCTL\ZONE-10\EQUIPMENT-MODEL.CFG</AreaModel><AreaModelDate>2023-06-23T16:09:45</AreaModelDate><Author>SQL-15\GILES</Author><BeingEditedBy>Not being handled yet</BeingEditedBy><ClassBased>false</ClassBased><DBSchema>3530</DBSchema><DefaultSize>0.</DefaultSize><Description></Description><Duration>0</Duration><LocaleID>-1</LocaleID><MaxSize>0.</MaxSize><MinSize>0.</MinSize><ProductCode></ProductCode><ProductID></ProductID><ProductUnits></ProductUnits><RecipeType>Operation</RecipeType><Released>0</Released><ReleaseAsStep>true</ReleaseAsStep><Resource>DR540</Resource><VerificationDate>2023-10-16T14:46:41</VerificationDate><Version>1.0</Version><VersionDate>2022-11-15T15:37:21</VersionDate><Obsoleted>false</Obsoleted><NextWIPNumber>2</NextWIPNumber><VersionDescription></VersionDescription><ParentName></ParentName><ParentVersionDescription></ParentVersionDescription><ParentVersionDate>1950-02-28T00:00:00</ParentVersionDate><ParentVerificationDate>1950-02-28T00:00:00</ParentVerificationDate><ParentAreaModelDate>1950-02-28T00:00:00</ParentAreaModelDate><ParentAreaModelName></ParentAreaModelName><SecurityAuthorityIdentifier>NOT_AVAILABLE</SecurityAuthorityIdentifier></Header><Steps><InitialStep XPos="700" YPos="100"><Name>INITIALSTEP:1</Name></InitialStep><TerminalStep XPos="800" YPos="1098"><Name>TERMINALSTEP:1</Name></TerminalStep><Step XPos="600" YPos="598" AcquireUnit="true" SystemStep="false"><Name>EP_ROTARY_FEEDER:1</Name><StepRecipeID>EP_ROTARY_FEEDER</StepRecipeID><PackedFlags>1</PackedFlags><UnitAlias>DR540</UnitAlias></Step></Steps><Transition XPos="800" YPos="398"><Name>T1</Name><ConditionalExpression>[4]</ConditionalExpression></Transition><Transition XPos="800" YPos="898"><Name>T2</Name><ConditionalExpression>EP_ROTARY_FEEDER:1.[21] = [14]</ConditionalExpression></Transition><ElementLink><FromTransition>T1</FromTransition><ToStep>EP_ROTARY_FEEDER:1</ToStep></ElementLink><ElementLink><FromStep>EP_ROTARY_FEEDER:1</FromStep><ToTransition>T2</ToTransition></ElementLink><ElementLink><FromStep>INITIALSTEP:1</FromStep><ToTransition>T1</ToTransition></ElementLink><ElementLink><FromTransition>T2</FromTransition><ToStep>TERMINALSTEP:1</ToStep></ElementLink><UnitRequirement><UnitAlias>DR540</UnitAlias><ClassInstance>DR540</ClassInstance><BindingMethod>BatchCreation</BindingMethod><MaterialBindingMethod>ByInventory</MaterialBindingMethod><ClassBased>false</ClassBased></UnitRequirement><Comments/><Formulations/></RecipeElement>

2
recipes/DR540_WIP.OXML Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<RecipeElement xmlns="urn:Rockwell/MasterRecipe" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:Rockwell/MasterRecipe C:\PROGRA~1\ROCKWE~1\BATCH\SCHEMAS\MasterRecipe.xsd" SchemaVersion="3530"><RecipeElementID>HO580_CHECK_PRESENT</RecipeElementID><Header><Abstract></Abstract><ApprovedBy></ApprovedBy><AreaModel>\\DESKTOP-PKHILQE\BATCHCTL\ZONE-10\EQUIPMENT-MODEL.CFG</AreaModel><AreaModelDate>2023-06-23T16:09:45</AreaModelDate><Author>GB</Author><BeingEditedBy>Not being handled yet</BeingEditedBy><ClassBased>false</ClassBased><DBSchema>3530</DBSchema><DefaultSize>0.</DefaultSize><Description></Description><Duration>0</Duration><LocaleID>-1</LocaleID><MaxSize>0.</MaxSize><MinSize>0.</MinSize><ProductCode></ProductCode><ProductID>Generic</ProductID><ProductUnits></ProductUnits><RecipeType>Operation</RecipeType><Released>0</Released><ReleaseAsStep>true</ReleaseAsStep><Resource>HO580</Resource><VerificationDate>2023-10-16T14:46:41</VerificationDate><Version>1.0</Version><VersionDate>2023-04-19T10:47:50</VersionDate><Obsoleted>false</Obsoleted><NextWIPNumber>2</NextWIPNumber><VersionDescription></VersionDescription><ParentName></ParentName><ParentVersionDescription></ParentVersionDescription><ParentVersionDate>1950-02-28T00:00:00</ParentVersionDate><ParentVerificationDate>1950-02-28T00:00:00</ParentVerificationDate><ParentAreaModelDate>1950-02-28T00:00:00</ParentAreaModelDate><ParentAreaModelName></ParentAreaModelName><SecurityAuthorityIdentifier>NOT_AVAILABLE</SecurityAuthorityIdentifier></Header><Steps><InitialStep XPos="700" YPos="100"><Name>INITIALSTEP:1</Name></InitialStep><TerminalStep XPos="800" YPos="1000"><Name>TERMINALSTEP:1</Name></TerminalStep><Step XPos="600" YPos="500" AcquireUnit="true" SystemStep="false"><Name>EP_PROMPT:1</Name><StepRecipeID>EP_PROMPT</StepRecipeID><PackedFlags>1</PackedFlags><UnitAlias>HO580</UnitAlias><FormulaValue><Name>PROMPT</Name><Display>true</Display><Value/><String>CONFIRM BIN IS ON SCALE</String><FormulaValueLimit Verification="No_Limits"><LowLowLowValue>0.</LowLowLowValue><LowLowValue>0.</LowLowValue><LowValue>0.</LowValue><HighValue>0.</HighValue><HighHighValue>0.</HighHighValue><HighHighHighValue>0.</HighHighHighValue></FormulaValueLimit></FormulaValue></Step></Steps><Transition XPos="800" YPos="400"><Name>T1</Name><ConditionalExpression>[4]</ConditionalExpression></Transition><Transition XPos="800" YPos="900"><Name>T2</Name><ConditionalExpression>EP_PROMPT:1.[21] = [14]</ConditionalExpression></Transition><ElementLink><FromTransition>T1</FromTransition><ToStep>EP_PROMPT:1</ToStep></ElementLink><ElementLink><FromStep>EP_PROMPT:1</FromStep><ToTransition>T2</ToTransition></ElementLink><ElementLink><FromStep>INITIALSTEP:1</FromStep><ToTransition>T1</ToTransition></ElementLink><ElementLink><FromTransition>T2</FromTransition><ToStep>TERMINALSTEP:1</ToStep></ElementLink><UnitRequirement><UnitAlias>HO580</UnitAlias><ClassInstance>HO580</ClassInstance><BindingMethod>BatchCreation</BindingMethod><MaterialBindingMethod>ByInventory</MaterialBindingMethod><ClassBased>false</ClassBased></UnitRequirement><Comments/><Formulations/></RecipeElement>

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<RecipeElement xmlns="urn:Rockwell/MasterRecipe" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:Rockwell/MasterRecipe C:\PROGRA~1\ROCKWE~1\BATCH\SCHEMAS\MasterRecipe.xsd" SchemaVersion="3530"><RecipeElementID>HO580_LUB_ADD</RecipeElementID><Header><Abstract></Abstract><ApprovedBy></ApprovedBy><AreaModel>\\DESKTOP-PKHILQE\BATCHCTL\ZONE-10\EQUIPMENT-MODEL.CFG</AreaModel><AreaModelDate>2023-06-23T16:09:45</AreaModelDate><Author>GB</Author><BeingEditedBy>Not being handled yet</BeingEditedBy><ClassBased>false</ClassBased><DBSchema>3530</DBSchema><DefaultSize>0.</DefaultSize><Description></Description><Duration>0</Duration><LocaleID>-1</LocaleID><MaxSize>0.</MaxSize><MinSize>0.</MinSize><ProductCode></ProductCode><ProductID>Generic</ProductID><ProductUnits></ProductUnits><RecipeType>Operation</RecipeType><Released>0</Released><ReleaseAsStep>true</ReleaseAsStep><Resource>HO580</Resource><VerificationDate>2023-10-16T14:46:41</VerificationDate><Version>1.0</Version><VersionDate>2022-11-04T09:22:32</VersionDate><Obsoleted>false</Obsoleted><NextWIPNumber>2</NextWIPNumber><VersionDescription></VersionDescription><ParentName></ParentName><ParentVersionDescription></ParentVersionDescription><ParentVersionDate>1950-02-28T00:00:00</ParentVersionDate><ParentVerificationDate>1950-02-28T00:00:00</ParentVerificationDate><ParentAreaModelDate>1950-02-28T00:00:00</ParentAreaModelDate><ParentAreaModelName></ParentAreaModelName><SecurityAuthorityIdentifier>NOT_AVAILABLE</SecurityAuthorityIdentifier></Header><Steps><InitialStep XPos="700" YPos="100"><Name>INITIALSTEP:1</Name></InitialStep><TerminalStep XPos="800" YPos="1100"><Name>TERMINALSTEP:1</Name></TerminalStep><Step XPos="600" YPos="600" AcquireUnit="true" SystemStep="false"><Name>EP_LUB_ADDED:1</Name><StepRecipeID>EP_LUB_ADDED</StepRecipeID><PackedFlags>1</PackedFlags><UnitAlias>HO580</UnitAlias></Step></Steps><Transition XPos="800" YPos="400"><Name>T1</Name><ConditionalExpression>[4]</ConditionalExpression></Transition><Transition XPos="800" YPos="900"><Name>T2</Name><ConditionalExpression>EP_LUB_ADDED:1.[21] = [14]</ConditionalExpression></Transition><ElementLink><FromTransition>T1</FromTransition><ToStep>EP_LUB_ADDED:1</ToStep></ElementLink><ElementLink><FromStep>EP_LUB_ADDED:1</FromStep><ToTransition>T2</ToTransition></ElementLink><ElementLink><FromStep>INITIALSTEP:1</FromStep><ToTransition>T1</ToTransition></ElementLink><ElementLink><FromTransition>T2</FromTransition><ToStep>TERMINALSTEP:1</ToStep></ElementLink><UnitRequirement><UnitAlias>HO580</UnitAlias><ClassInstance>HO580</ClassInstance><BindingMethod>BatchCreation</BindingMethod><MaterialBindingMethod>ByInventory</MaterialBindingMethod><ClassBased>false</ClassBased></UnitRequirement><Comments/><Formulations/></RecipeElement>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<RecipeElement xmlns="urn:Rockwell/MasterRecipe" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:Rockwell/MasterRecipe C:\PROGRA~1\ROCKWE~1\BATCH\SCHEMAS\MasterRecipe.xsd" SchemaVersion="3530"><RecipeElementID>MX520_CHECK_DRYER</RecipeElementID><Header><Abstract></Abstract><ApprovedBy></ApprovedBy><AreaModel>\\DESKTOP-PKHILQE\BATCHCTL\ZONE-10\EQUIPMENT-MODEL.CFG</AreaModel><AreaModelDate>2023-06-23T16:09:45</AreaModelDate><Author>GB</Author><BeingEditedBy>Not being handled yet</BeingEditedBy><ClassBased>false</ClassBased><DBSchema>3530</DBSchema><DefaultSize>0.</DefaultSize><Description></Description><Duration>0</Duration><LocaleID>-1</LocaleID><MaxSize>0.</MaxSize><MinSize>0.</MinSize><ProductCode></ProductCode><ProductID>Generic</ProductID><ProductUnits></ProductUnits><RecipeType>Operation</RecipeType><Released>0</Released><ReleaseAsStep>true</ReleaseAsStep><Resource>MX520</Resource><VerificationDate>2023-10-16T14:46:41</VerificationDate><Version>1.0</Version><VersionDate>2023-10-16T14:46:49</VersionDate><Obsoleted>false</Obsoleted><NextWIPNumber>2</NextWIPNumber><VersionDescription></VersionDescription><ParentName></ParentName><ParentVersionDescription></ParentVersionDescription><ParentVersionDate>1950-02-28T00:00:00</ParentVersionDate><ParentVerificationDate>1950-02-28T00:00:00</ParentVerificationDate><ParentAreaModelDate>1950-02-28T00:00:00</ParentAreaModelDate><ParentAreaModelName></ParentAreaModelName><SecurityAuthorityIdentifier>NOT_AVAILABLE</SecurityAuthorityIdentifier></Header><Parameter><Name>MILL</Name><ERPAlias></ERPAlias><PLCReference>1</PLCReference><EnumerationSet>YES_NO</EnumerationSet><EnumerationMember>NO</EnumerationMember></Parameter><Steps><InitialStep XPos="700" YPos="100"><Name>INITIALSTEP:1</Name></InitialStep><TerminalStep XPos="800" YPos="1100"><Name>TERMINALSTEP:1</Name></TerminalStep><Step XPos="600" YPos="600" AcquireUnit="true" SystemStep="false"><Name>PARTNER_SEND:1</Name><StepRecipeID>PARTNER_SEND</StepRecipeID><PackedFlags>1</PackedFlags><UnitAlias>MX520</UnitAlias><FormulaValue><Name>REASON</Name><Display>false</Display><Value/><String>CHECK DR540 READY</String><FormulaValueLimit Verification="No_Limits"><LowLowLowValue>0.</LowLowLowValue><LowLowValue>0.</LowLowValue><LowValue>0.</LowValue><HighValue>0.</HighValue><HighHighValue>0.</HighHighValue><HighHighHighValue>0.</HighHighHighValue></FormulaValueLimit></FormulaValue></Step></Steps><Transition XPos="800" YPos="400"><Name>T1</Name><ConditionalExpression>[4]</ConditionalExpression></Transition><Transition XPos="800" YPos="900"><Name>T2</Name><ConditionalExpression>PARTNER_SEND:1.[21] = [14]</ConditionalExpression></Transition><ElementLink><FromStep>INITIALSTEP:1</FromStep><ToTransition>T1</ToTransition></ElementLink><ElementLink><FromTransition>T1</FromTransition><ToStep>PARTNER_SEND:1</ToStep></ElementLink><ElementLink><FromStep>PARTNER_SEND:1</FromStep><ToTransition>T2</ToTransition></ElementLink><ElementLink><FromTransition>T2</FromTransition><ToStep>TERMINALSTEP:1</ToStep></ElementLink><UnitRequirement><UnitAlias>MX520</UnitAlias><ClassInstance>MX520</ClassInstance><BindingMethod>BatchCreation</BindingMethod><MaterialBindingMethod>ByInventory</MaterialBindingMethod><ClassBased>false</ClassBased></UnitRequirement><Comments/><Formulations/></RecipeElement>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
recipes/MX520_FILL.OXML Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
recipes/SC_VYT.PXML Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<RecipeElement xmlns="urn:Rockwell/MasterRecipe" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:Rockwell/MasterRecipe C:\PROGRA~1\ROCKWE~1\BATCH\SCHEMAS\MasterRecipe.xsd" SchemaVersion="3530"><RecipeElementID>SC_VYT_HO561</RecipeElementID><Header><Abstract></Abstract><ApprovedBy></ApprovedBy><AreaModel>\\DESKTOP-PKHILQE\BATCHCTL\ZONE-10\EQUIPMENT-MODEL.CFG</AreaModel><AreaModelDate>2023-06-23T16:09:45</AreaModelDate><Author>GB</Author><BeingEditedBy>Not being handled yet</BeingEditedBy><ClassBased>false</ClassBased><DBSchema>3530</DBSchema><DefaultSize>0.</DefaultSize><Description></Description><Duration>0</Duration><LocaleID>-1</LocaleID><MaxSize>0.</MaxSize><MinSize>0.</MinSize><ProductCode>SC</ProductCode><ProductID></ProductID><ProductUnits></ProductUnits><RecipeType>UnitProcedure</RecipeType><Released>1</Released><ReleaseAsStep>true</ReleaseAsStep><Resource>HO561</Resource><VerificationDate>2023-10-16T14:46:41</VerificationDate><Version>1.0</Version><VersionDate>2023-10-16T14:46:48</VersionDate><Obsoleted>false</Obsoleted><NextWIPNumber>2</NextWIPNumber><VersionDescription></VersionDescription><ParentName></ParentName><ParentVersionDescription></ParentVersionDescription><ParentVersionDate>1950-02-28T00:00:00</ParentVersionDate><ParentVerificationDate>1950-02-28T00:00:00</ParentVerificationDate><ParentAreaModelDate>1950-02-28T00:00:00</ParentAreaModelDate><ParentAreaModelName></ParentAreaModelName><SecurityAuthorityIdentifier>NOT_AVAILABLE</SecurityAuthorityIdentifier></Header><Steps><InitialStep XPos="700" YPos="100"><Name>INITIALSTEP:1</Name></InitialStep><TerminalStep XPos="800" YPos="1598"><Name>TERMINALSTEP:1</Name></TerminalStep><Step XPos="600" YPos="598" AcquireUnit="true" SystemStep="false"><Name>ALL_CHECK_EMPTY:1</Name><StepRecipeID>ALL_CHECK_EMPTY</StepRecipeID><PackedFlags>1</PackedFlags><UnitAlias>HO561</UnitAlias><FormulaValue><Name>MAX_EMPTY_WEIGHT</Name><Display>false</Display><Value/><Real>0</Real><EngineeringUnits></EngineeringUnits></FormulaValue></Step><Step XPos="600" YPos="1100" AcquireUnit="true" SystemStep="false"><Name>HO561_SELF_CHECK:1</Name><StepRecipeID>HO561_SELF_CHECK</StepRecipeID><PackedFlags>1</PackedFlags><UnitAlias>HO561</UnitAlias></Step></Steps><Transition XPos="800" YPos="398"><Name>T1</Name><ConditionalExpression>[4]</ConditionalExpression></Transition><Transition XPos="800" YPos="898"><Name>T2</Name><ConditionalExpression>ALL_CHECK_EMPTY:1.[21] = [14]</ConditionalExpression></Transition><Transition XPos="800" YPos="1398"><Name>T3</Name><ConditionalExpression>HO561_SELF_CHECK:1.[21] = [14]</ConditionalExpression></Transition><ElementLink><FromTransition>T1</FromTransition><ToStep>ALL_CHECK_EMPTY:1</ToStep></ElementLink><ElementLink><FromStep>ALL_CHECK_EMPTY:1</FromStep><ToTransition>T2</ToTransition></ElementLink><ElementLink><FromTransition>T2</FromTransition><ToStep>HO561_SELF_CHECK:1</ToStep></ElementLink><ElementLink><FromStep>HO561_SELF_CHECK:1</FromStep><ToTransition>T3</ToTransition></ElementLink><ElementLink><FromStep>INITIALSTEP:1</FromStep><ToTransition>T1</ToTransition></ElementLink><ElementLink><FromTransition>T3</FromTransition><ToStep>TERMINALSTEP:1</ToStep></ElementLink><UnitRequirement><UnitAlias>HO561</UnitAlias><ClassInstance>HO561</ClassInstance><BindingMethod>BatchCreation</BindingMethod><MaterialBindingMethod>ByInventory</MaterialBindingMethod><ClassBased>false</ClassBased></UnitRequirement><Comments/><Formulations/></RecipeElement>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<RecipeElement xmlns="urn:Rockwell/MasterRecipe" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:Rockwell/MasterRecipe C:\PROGRA~1\ROCKWE~1\BATCH\SCHEMAS\MasterRecipe.xsd" SchemaVersion="3530"><RecipeElementID>SC_VYT_HO580</RecipeElementID><Header><Abstract></Abstract><ApprovedBy></ApprovedBy><AreaModel>\\DESKTOP-PKHILQE\BATCHCTL\ZONE-10\EQUIPMENT-MODEL.CFG</AreaModel><AreaModelDate>2023-06-23T16:09:45</AreaModelDate><Author>D Clark</Author><BeingEditedBy>Not being handled yet</BeingEditedBy><ClassBased>false</ClassBased><DBSchema>3530</DBSchema><DefaultSize>0.</DefaultSize><Description>Unit procedure for HO580 self check for Singulair 10mg (blender not used)</Description><Duration>0</Duration><LocaleID>-1</LocaleID><MaxSize>0.</MaxSize><MinSize>0.</MinSize><ProductCode>SC</ProductCode><ProductID></ProductID><ProductUnits></ProductUnits><RecipeType>UnitProcedure</RecipeType><Released>0</Released><ReleaseAsStep>true</ReleaseAsStep><Resource>HO580</Resource><VerificationDate>2023-10-16T14:46:41</VerificationDate><Version>1.0</Version><VersionDate>2023-10-16T14:46:48</VersionDate><Obsoleted>false</Obsoleted><NextWIPNumber>2</NextWIPNumber><VersionDescription></VersionDescription><ParentName></ParentName><ParentVersionDescription></ParentVersionDescription><ParentVersionDate>1950-02-28T00:00:00</ParentVersionDate><ParentVerificationDate>1950-02-28T00:00:00</ParentVerificationDate><ParentAreaModelDate>1950-02-28T00:00:00</ParentAreaModelDate><ParentAreaModelName></ParentAreaModelName><SecurityAuthorityIdentifier>NOT_AVAILABLE</SecurityAuthorityIdentifier></Header><Steps><InitialStep XPos="700" YPos="100"><Name>INITIALSTEP:1</Name></InitialStep><TerminalStep XPos="800" YPos="1100"><Name>TERMINALSTEP:1</Name></TerminalStep><Step XPos="600" YPos="600" AcquireUnit="true" SystemStep="false"><Name>HO580_SELF_CHECK_NB:1</Name><StepRecipeID>HO580_SELF_CHECK_NB</StepRecipeID><PackedFlags>1</PackedFlags><UnitAlias>HO580</UnitAlias></Step></Steps><Transition XPos="800" YPos="398"><Name>T1</Name><ConditionalExpression>[4]</ConditionalExpression></Transition><Transition XPos="800" YPos="900"><Name>T3</Name><ConditionalExpression>HO580_SELF_CHECK_NB:1.[21] = [14]</ConditionalExpression></Transition><ElementLink><FromTransition>T1</FromTransition><ToStep>HO580_SELF_CHECK_NB:1</ToStep></ElementLink><ElementLink><FromStep>HO580_SELF_CHECK_NB:1</FromStep><ToTransition>T3</ToTransition></ElementLink><ElementLink><FromStep>INITIALSTEP:1</FromStep><ToTransition>T1</ToTransition></ElementLink><ElementLink><FromTransition>T3</FromTransition><ToStep>TERMINALSTEP:1</ToStep></ElementLink><UnitRequirement><UnitAlias>HO580</UnitAlias><ClassInstance>HO580</ClassInstance><BindingMethod>BatchCreation</BindingMethod><MaterialBindingMethod>ByInventory</MaterialBindingMethod><ClassBased>false</ClassBased></UnitRequirement><Comments/><Formulations/></RecipeElement>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<RecipeElement xmlns="urn:Rockwell/MasterRecipe" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:Rockwell/MasterRecipe C:\PROGRA~1\ROCKWE~1\BATCH\SCHEMAS\MasterRecipe.xsd" SchemaVersion="3530"><RecipeElementID>TA521_IMS_PUMP</RecipeElementID><Header><Abstract></Abstract><ApprovedBy></ApprovedBy><AreaModel>\\DESKTOP-PKHILQE\BATCHCTL\ZONE-10\EQUIPMENT-MODEL.CFG</AreaModel><AreaModelDate>2023-06-23T16:09:45</AreaModelDate><Author>SQL-15\GILES</Author><BeingEditedBy>Not being handled yet</BeingEditedBy><ClassBased>false</ClassBased><DBSchema>3530</DBSchema><DefaultSize>0.</DefaultSize><Description></Description><Duration>0</Duration><LocaleID>-1</LocaleID><MaxSize>0.</MaxSize><MinSize>0.</MinSize><ProductCode></ProductCode><ProductID></ProductID><ProductUnits></ProductUnits><RecipeType>Operation</RecipeType><Released>0</Released><ReleaseAsStep>true</ReleaseAsStep><Resource>TA521</Resource><VerificationDate>2023-10-16T14:46:41</VerificationDate><Version>1.0</Version><VersionDate>2022-11-15T21:00:32</VersionDate><Obsoleted>false</Obsoleted><NextWIPNumber>2</NextWIPNumber><VersionDescription></VersionDescription><ParentName></ParentName><ParentVersionDescription></ParentVersionDescription><ParentVersionDate>1950-02-28T00:00:00</ParentVersionDate><ParentVerificationDate>1950-02-28T00:00:00</ParentVerificationDate><ParentAreaModelDate>1950-02-28T00:00:00</ParentAreaModelDate><ParentAreaModelName></ParentAreaModelName><SecurityAuthorityIdentifier>NOT_AVAILABLE</SecurityAuthorityIdentifier></Header><Steps><InitialStep XPos="700" YPos="100"><Name>INITIALSTEP:1</Name></InitialStep><TerminalStep XPos="800" YPos="1100"><Name>TERMINALSTEP:1</Name></TerminalStep><Step XPos="600" YPos="600" AcquireUnit="true" SystemStep="false"><Name>EP_IMS_RUNNING:1</Name><StepRecipeID>EP_IMS_RUNNING</StepRecipeID><PackedFlags>1</PackedFlags><UnitAlias>TA521</UnitAlias></Step></Steps><Transition XPos="800" YPos="400"><Name>T1</Name><ConditionalExpression>[4]</ConditionalExpression></Transition><Transition XPos="800" YPos="900"><Name>T2</Name><ConditionalExpression>EP_IMS_RUNNING:1.[21] = [14]</ConditionalExpression></Transition><ElementLink><FromTransition>T1</FromTransition><ToStep>EP_IMS_RUNNING:1</ToStep></ElementLink><ElementLink><FromStep>EP_IMS_RUNNING:1</FromStep><ToTransition>T2</ToTransition></ElementLink><ElementLink><FromStep>INITIALSTEP:1</FromStep><ToTransition>T1</ToTransition></ElementLink><ElementLink><FromTransition>T2</FromTransition><ToStep>TERMINALSTEP:1</ToStep></ElementLink><UnitRequirement><UnitAlias>TA521</UnitAlias><ClassInstance>TA521</ClassInstance><BindingMethod>BatchCreation</BindingMethod><MaterialBindingMethod>ByInventory</MaterialBindingMethod><ClassBased>false</ClassBased></UnitRequirement><Comments/><Formulations/></RecipeElement>

File diff suppressed because one or more lines are too long

2
recipes/TA521_RINSE.OXML Normal file

File diff suppressed because one or more lines are too long

2
recipes/TA521_STIR.OXML Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
recipes/TA522_DRAIN.OXML Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<RecipeElement xmlns="urn:Rockwell/MasterRecipe" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:Rockwell/MasterRecipe C:\PROGRA~1\ROCKWE~1\BATCH\SCHEMAS\MasterRecipe.xsd" SchemaVersion="3530"><RecipeElementID>TA522_PIPEWORK_REMOVED</RecipeElementID><Header><Abstract></Abstract><ApprovedBy></ApprovedBy><AreaModel>\\DESKTOP-PKHILQE\BATCHCTL\ZONE-10\EQUIPMENT-MODEL.CFG</AreaModel><AreaModelDate>2023-06-23T16:09:45</AreaModelDate><Author>SQL-15\GILES</Author><BeingEditedBy>Not being handled yet</BeingEditedBy><ClassBased>false</ClassBased><DBSchema>3530</DBSchema><DefaultSize>0.</DefaultSize><Description></Description><Duration>0</Duration><LocaleID>-1</LocaleID><MaxSize>0.</MaxSize><MinSize>0.</MinSize><ProductCode></ProductCode><ProductID></ProductID><ProductUnits></ProductUnits><RecipeType>Operation</RecipeType><Released>0</Released><ReleaseAsStep>true</ReleaseAsStep><Resource>TA522</Resource><VerificationDate>2023-10-16T14:46:41</VerificationDate><Version>1.0</Version><VersionDate>2022-11-15T20:52:03</VersionDate><Obsoleted>false</Obsoleted><NextWIPNumber>2</NextWIPNumber><VersionDescription></VersionDescription><ParentName></ParentName><ParentVersionDescription></ParentVersionDescription><ParentVersionDate>1950-02-28T00:00:00</ParentVersionDate><ParentVerificationDate>1950-02-28T00:00:00</ParentVerificationDate><ParentAreaModelDate>1950-02-28T00:00:00</ParentAreaModelDate><ParentAreaModelName></ParentAreaModelName><SecurityAuthorityIdentifier>NOT_AVAILABLE</SecurityAuthorityIdentifier></Header><Steps><InitialStep XPos="700" YPos="100"><Name>INITIALSTEP:1</Name></InitialStep><TerminalStep XPos="800" YPos="1100"><Name>TERMINALSTEP:1</Name></TerminalStep><Step XPos="600" YPos="600" AcquireUnit="true" SystemStep="false"><Name>EP_CHECK_PIPEWORK_REMOVED:1</Name><StepRecipeID>EP_CHECK_PIPEWORK_REMOVED</StepRecipeID><PackedFlags>1</PackedFlags><UnitAlias>TA522</UnitAlias></Step></Steps><Transition XPos="800" YPos="400"><Name>T1</Name><ConditionalExpression>[4]</ConditionalExpression></Transition><Transition XPos="800" YPos="900"><Name>T2</Name><ConditionalExpression>EP_CHECK_PIPEWORK_REMOVED:1.[21] = [14]</ConditionalExpression></Transition><ElementLink><FromTransition>T1</FromTransition><ToStep>EP_CHECK_PIPEWORK_REMOVED:1</ToStep></ElementLink><ElementLink><FromStep>EP_CHECK_PIPEWORK_REMOVED:1</FromStep><ToTransition>T2</ToTransition></ElementLink><ElementLink><FromStep>INITIALSTEP:1</FromStep><ToTransition>T1</ToTransition></ElementLink><ElementLink><FromTransition>T2</FromTransition><ToStep>TERMINALSTEP:1</ToStep></ElementLink><UnitRequirement><UnitAlias>TA522</UnitAlias><ClassInstance>TA522</ClassInstance><BindingMethod>BatchCreation</BindingMethod><MaterialBindingMethod>ByInventory</MaterialBindingMethod><ClassBased>false</ClassBased></UnitRequirement><Comments/><Formulations/></RecipeElement>

2
recipes/TA522_RINSE.OXML Normal file

File diff suppressed because one or more lines are too long

7
recipes/TA522_SETP.OXML Normal file

File diff suppressed because one or more lines are too long

2
recipes/VYT_10.PXML Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
recipes/VYT_20.PXML Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
recipes/VYT_40.PXML Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
recipes/VYT_80.PXML Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
recipes/VYT_DR540.UXML Normal file

File diff suppressed because one or more lines are too long

2
recipes/VYT_HO561.UXML Normal file

File diff suppressed because one or more lines are too long

2
recipes/VYT_HO580.UXML Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<RecipeElement xmlns="urn:Rockwell/MasterRecipe" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:Rockwell/MasterRecipe C:\PROGRA~1\ROCKWE~1\BATCH\SCHEMAS\MasterRecipe.xsd" SchemaVersion="3530"><RecipeElementID>VYT_TANK_WIP</RecipeElementID><Header><Abstract></Abstract><ApprovedBy></ApprovedBy><AreaModel>\\DESKTOP-PKHILQE\BATCHCTL\ZONE-10\EQUIPMENT-MODEL.CFG</AreaModel><AreaModelDate>2023-06-23T16:09:45</AreaModelDate><Author>GB</Author><BeingEditedBy>Not being handled yet</BeingEditedBy><ClassBased>true</ClassBased><DBSchema>3530</DBSchema><DefaultSize>0.</DefaultSize><Description></Description><Duration>0</Duration><LocaleID>-1</LocaleID><MaxSize>0.</MaxSize><MinSize>0.</MinSize><ProductCode></ProductCode><ProductID></ProductID><ProductUnits></ProductUnits><RecipeType>Procedure</RecipeType><Released>1</Released><ReleaseAsStep>false</ReleaseAsStep><Resource></Resource><VerificationDate>2023-10-16T14:46:41</VerificationDate><Version>1.0</Version><VersionDate>2023-02-17T14:23:58</VersionDate><Obsoleted>false</Obsoleted><NextWIPNumber>2</NextWIPNumber><VersionDescription></VersionDescription><ParentName></ParentName><ParentVersionDescription></ParentVersionDescription><ParentVersionDate>1950-02-28T00:00:00</ParentVersionDate><ParentVerificationDate>1950-02-28T00:00:00</ParentVerificationDate><ParentAreaModelDate>1950-02-28T00:00:00</ParentAreaModelDate><ParentAreaModelName></ParentAreaModelName><SecurityAuthorityIdentifier>NOT_AVAILABLE</SecurityAuthorityIdentifier></Header><Steps><InitialStep XPos="700" YPos="100"><Name>INITIALSTEP:1</Name></InitialStep><TerminalStep XPos="800" YPos="1300"><Name>TERMINALSTEP:1</Name></TerminalStep><Step XPos="600" YPos="700" AcquireUnit="false" SystemStep="false"><Name>VYT_WIP_TA521:1</Name><StepRecipeID>VYT_WIP_TA521</StepRecipeID><PackedFlags>0</PackedFlags><UnitAlias>TA521_VYT_WIP:1</UnitAlias></Step><Step XPos="1400" YPos="700" AcquireUnit="false" SystemStep="false"><Name>VYT_WIP_TA522:1</Name><StepRecipeID>VYT_WIP_TA522</StepRecipeID><PackedFlags>0</PackedFlags><UnitAlias>TA522_VYT_WIP:1</UnitAlias></Step></Steps><PhaseLinkGroup><Name>GROUP3</Name><PhaseLink><UnitProcedureStepName>VYT_WIP_TA522:1</UnitProcedureStepName><OperationStepName>TA522_CHARGEWIP_IMS:1</OperationStepName><PhaseStepName>PARTNER_RECEIVE:1</PhaseStepName></PhaseLink><PhaseLink><UnitProcedureStepName>VYT_WIP_TA521:1</UnitProcedureStepName><OperationStepName>TA521_FLUSHTHROUGH:1</OperationStepName><PhaseStepName>PARTNER_SEND:1</PhaseStepName></PhaseLink></PhaseLinkGroup><PhaseLinkGroup><Name>GROUP4</Name><PhaseLink><UnitProcedureStepName>VYT_WIP_TA522:1</UnitProcedureStepName><OperationStepName>TA522_CHARGEWIP_IMS:2</OperationStepName><PhaseStepName>PARTNER_RECEIVE:1</PhaseStepName></PhaseLink><PhaseLink><UnitProcedureStepName>VYT_WIP_TA521:1</UnitProcedureStepName><OperationStepName>TA521_FLUSHTHROUGH:2</OperationStepName><PhaseStepName>PARTNER_SEND:1</PhaseStepName></PhaseLink></PhaseLinkGroup><Transition XPos="800" YPos="400"><Name>T1</Name><ConditionalExpression>[4]</ConditionalExpression></Transition><Transition XPos="800" YPos="1098"><Name>T2</Name><ConditionalExpression>VYT_WIP_TA522:1.[21] = [14] [3] VYT_WIP_TA521:1.[21] = [14]</ConditionalExpression></Transition><ElementLink><FromStep>INITIALSTEP:1</FromStep><ToTransition>T1</ToTransition></ElementLink><ElementLink><FromTransition>T2</FromTransition><ToStep>TERMINALSTEP:1</ToStep></ElementLink><ElementLink><FromTransition>T1</FromTransition><ToStep>VYT_WIP_TA521:1</ToStep></ElementLink><ElementLink><FromStep>VYT_WIP_TA521:1</FromStep><ToTransition>T2</ToTransition></ElementLink><ElementLink><FromTransition>T1</FromTransition><ToStep>VYT_WIP_TA522:1</ToStep></ElementLink><ElementLink><FromStep>VYT_WIP_TA522:1</FromStep><ToTransition>T2</ToTransition></ElementLink><UnitRequirement><UnitAlias>TA521_VYT_WIP:1</UnitAlias><ClassInstance>TA521</ClassInstance><BindingMethod>Static</BindingMethod><MaterialBindingMethod>ByInventory</MaterialBindingMethod><ClassBased>false</ClassBased></UnitRequirement><UnitRequirement><UnitAlias>TA522_VYT_WIP:1</UnitAlias><ClassInstance>TA522</ClassInstance><BindingMethod>Static</BindingMethod><MaterialBindingMethod>ByInventory</MaterialBindingMethod><ClassBased>false</ClassBased></UnitRequirement><Comments/><Formulations/></RecipeElement>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
recipes/WIP_DR540.UXML Normal file

File diff suppressed because one or more lines are too long

46
src/format/index.js Normal file
View File

@ -0,0 +1,46 @@
import p from 'path'
import { promises as fs } from "fs"
import { XMLValidator } from 'fast-xml-parser'
import format from 'xml-formatter'
import directories from '../lib/directories.js'
import files from '../lib/files.js'
export default program => async (root, destination, { extensions }) => {
await directories(
root,
async path => {
if (path !== `${root}/.git`) {
await files(
path,
async (fileName) => {
const ext = p.extname(fileName)
if (extensions.find(e => e === ext)) {
const xml = await
fs.readFile(
`${path}/${fileName}`,
'utf8',
)
const val = XMLValidator.validate(xml)
if (val === true) {
await fs.writeFile(
`${path.replace(root, destination)}/${fileName}`,
format(xml, { collapseContent: true }),
)
} else {
throw {
...val,
file: `${path}/${fileName}`
}
}
}
}
)
} else {
console.log(`excluded ${root}/.git` )
}
},
[`${root}/.git`],
)
}

41
src/index.js Normal file
View File

@ -0,0 +1,41 @@
import { program } from 'commander'
import model from './model/index.js'
import recipe from './recipe/index.js'
import format from './format/index.js'
const actionRunner = action =>
(...params) =>
action(...params)
.catch(err => {
console.error(err);
process.exit(1);
})
program
.name('string-util')
.description('CLI to some JavaScript string utilities')
.version('0.8.0');
program.command('recipe')
.description('generate recipe documentation')
.argument('<root>', 'write directory')
.argument('<recipes>', 'recipes directory')
.argument('<model>', 'model')
.action(actionRunner(recipe));
program.command('model')
.description('generate model')
.argument('<root>', 'write directory')
.argument('<model>', 'model')
.argument('<kepware>', 'kepware model')
.action(actionRunner(model));
program.command('format')
.description('format all xml')
.argument('<root>', 'root directory')
.argument('<destination>', 'destination directory')
.option('-e, --extensions [value...]', 'extensions')
.exitOverride()
.action(actionRunner(format(program)));
program.parse();

1
src/lib/base-name.js Normal file
View File

@ -0,0 +1 @@
export default (name) => name.replace(/\.[^/.]+$/, "");

19
src/lib/directories.js Normal file
View File

@ -0,0 +1,19 @@
import { promises as fs } from 'fs'
const directories = async (path, processor, excludes = []) => {
await processor(`${path}`)
const list = (await fs.readdir(path, { withFileTypes: true }))
.filter(dirent => dirent.isDirectory())
.map(dirent => dirent.name)
for (const directory of list) {
if (!excludes.find(e => e === `${path}/${directory}`)) {
await directories(
`${path}/${directory}`,
processor
)
}
}
}
export default directories

7
src/lib/elements.js Normal file
View File

@ -0,0 +1,7 @@
export default ({ elements }, elementName) =>
elements
.filter(
({ type, name }) =>
type === 'element'
&& name === elementName
)

5
src/lib/escape-text.js Normal file
View File

@ -0,0 +1,5 @@
import escape from 'markdown-escape'
import text from './text.js'
export default p =>
escape(text(p))

10
src/lib/exists.js Normal file
View File

@ -0,0 +1,10 @@
import { promises as fs } from "fs"
export default async (path) => {
try {
await fs.access(path)
} catch (ex) {
return false
}
return true
}

8
src/lib/files-2.js Normal file
View File

@ -0,0 +1,8 @@
import { promises as fs } from 'fs'
export default async (path) => (await fs.readdir(path, { withFileTypes: true }))
.filter(dirent => !dirent.isDirectory())
.map(dirent => dirent.name)
.sort(
(a, b) => a.localeCompare(b),
);

19
src/lib/files.js Normal file
View File

@ -0,0 +1,19 @@
import { promises as fs } from 'fs'
import sequence from './sequence'
const files = async (path, processor) => {
const flist = (await fs.readdir(path, { withFileTypes: true }))
.filter(dirent => !dirent.isDirectory())
.map(dirent => dirent.name)
.sort(
(a, b) => a.localeCompare(b),
)
return sequence(
flist
.map(
(...f) => async () => processor(...f),
)
)
}
export default files

23
src/lib/get-attributes.js Normal file
View File

@ -0,0 +1,23 @@
const getAttributes = (elements) => {
const ret =
elements
.reduce(
((current, { type, name, elements }) => ({
...current,
...type === 'element' && elements && {
[name]: elements
.find(
({
type,
}) =>
type === 'text'
)?.text || getAttributes(elements),
}
})
),
{},
)
return ret
}
export default getAttributes

59
src/lib/get-opc.js Normal file
View File

@ -0,0 +1,59 @@
export default (opc, path, address) => {
const route = [
...path.split('.'),
...address.split('.')
]
if (route[0] === 'INSTRUCTIONS') {
return
}
const channel = opc
.project
.channels
.find(
({ "common.ALLTYPES_NAME": name }) =>
name.toUpperCase() === route[0].toUpperCase()
)
if (channel) {
const device = channel
.devices
.find(
({ "common.ALLTYPES_NAME": name }) =>
name.toUpperCase() === route[1].toUpperCase()
)
if (device) {
const group = route.slice(2, route.length - 1)
.reduce(
(current, _group) =>
current
.tag_groups
.find(
({ "common.ALLTYPES_NAME": name }) =>
name.toUpperCase() === _group.toUpperCase()
),
device
)
if (group) {
const address =
group
.tags
.find(
({ "common.ALLTYPES_NAME": name }) =>
name.toUpperCase() === route[route.length -1].toUpperCase()
)
if (address) {
return address['servermain.TAG_ADDRESS']
} else {
throw new Error(`no tag found for ${route.join(',')}`)
}
} else {
throw new Error(`no tag group found for ${route.join(',')}`)
}
} else {
throw new Error(`no device ${route[1]} for channel ${route[0]}`)
}
} else {
throw new Error(`no channnel ${route[0]} for ${route.join(',')}`)
}
}

7
src/lib/mkdir-if-new.js Normal file
View File

@ -0,0 +1,7 @@
import { promises as fs } from "fs"
import exists from './exists.js'
export default async (path) => fs.mkdir(
path,
{ recursive: true }
);

10
src/lib/read-if-exists.js Normal file
View File

@ -0,0 +1,10 @@
import { promises as fs } from "fs"
import exists from './exists.js'
export default async (fileName, content) => {
if ((await exists(fileName))) {
return (await fs.readFile(
fileName,
)).toString()
}
}

18
src/lib/read-me.js Normal file
View File

@ -0,0 +1,18 @@
import { promises as fs } from 'fs'
import writeIfNew from './write-if-new.js'
import mkdirIfNew from './mkdir-if-new.js'
export default async ({
title,
root,
}) => {
await mkdirIfNew(root)
const path = `${root}/README.md`
await writeIfNew(
path,
`# ${title}\n\n`
)
return path
}

19
src/lib/remove-dir.js Normal file
View File

@ -0,0 +1,19 @@
import { promises as fs } from 'fs'
const removeDir = async (path) => {
// const exists = await fs.exists(path)
const files = await fs.readdir(path)
for (const file of files) {
const stat = await fs.stat(path + "/" + file)
if (stat.isDirectory()) {
await removeDir(path + "/" + file)
await fs.rmdir(path + "/" + file)
} else {
await fs.unlink(path + "/" + file)
}
}
}
export default removeDir

10
src/lib/sequence.js Normal file
View File

@ -0,0 +1,10 @@
export default async (promises) => {
let results = [];
for (let promise of promises) {
results = [
...results,
await promise(),
]
}
return results;
};

Some files were not shown because too many files have changed in this diff Show More