1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- <?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="883px" preserveAspectRatio="none" style="width:438px;height:883px;background:#FFFFFF;" version="1.1" viewBox="0 0 438 883" width="438px" zoomAndPan="magnify"><defs/><g><rect height="26.2969" style="stroke:#00000000;stroke-width:1.0;fill:none;" width="263" x="86" y="15"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="253" x="91" y="32.9951">Programmablauf PLC-Connector</text><ellipse cx="194" cy="57.2969" fill="#222222" rx="10" ry="10" style="stroke:#222222;stroke-width:1.0;"/><rect fill="#F1F1F1" height="33.9688" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="113" x="137.5" y="87.2969"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="93" x="147.5" y="108.4355">read config file</text><rect fill="#F1F1F1" height="75.875" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="126" x="131" y="141.2656"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="46" x="169" y="162.4043">initialze</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="93" x="141" y="176.373">input modules,</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="106" x="141" y="190.3418">middlewares and</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="99" x="141" y="204.3105">output modules</text><rect fill="#F1F1F1" height="33.9688" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="139" x="124.5" y="237.1406"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="119" x="134.5" y="258.2793">start input threads</text><rect fill="#F1F1F1" height="33.9688" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="136" x="126" y="335.1094"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="116" x="136" y="356.248">read input queues</text><rect fill="none" height="232.7344" style="stroke:#000000;stroke-width:1.5;" width="352" x="11" y="392.3286"/><path d="M107,392.3286 L107,401.6255 L97,411.6255 L11,411.6255 " fill="none" style="stroke:#000000;stroke-width:1.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="86" x="14" y="406.3237">Middlewares</text><line style="stroke:#181818;stroke-width:1.5;" x1="73.5" x2="311" y1="428.6255" y2="428.6255"/><rect fill="#F1F1F1" height="33.9688" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="78" x="34.5" y="470.1255"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="58" x="44.5" y="491.2642">module a</text><rect fill="#F1F1F1" height="33.9688" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="101" x="23" y="539.0942"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="81" x="33" y="560.2329">submodule b</text><rect fill="#F1F1F1" height="33.9688" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="77" x="152" y="504.6099"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="57" x="162" y="525.7485">module c</text><rect fill="#F1F1F1" height="33.9688" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="78" x="272" y="448.6255"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="58" x="282" y="469.7642">module d</text><line style="stroke:#181818;stroke-width:1.5;" x1="285" x2="339" y1="517.5942" y2="517.5942"/><rect fill="#F1F1F1" height="33.9688" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="28" x="271" y="539.0942"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="8" x="281" y="560.2329">e</text><rect fill="#F1F1F1" height="33.9688" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="24" x="327" y="539.0942"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="4" x="337" y="560.2329">f</text><line style="stroke:#181818;stroke-width:1.5;" x1="285" x2="339" y1="593.063" y2="593.063"/><line style="stroke:#181818;stroke-width:1.5;" x1="73.5" x2="311" y1="613.063" y2="613.063"/><rect fill="#F1F1F1" height="33.9688" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="120" x="134" y="664.2734"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="100" x="144" y="685.4121">write to outputs</text><polygon fill="#F1F1F1" points="194,291.1094,206,303.1094,194,315.1094,182,303.1094,194,291.1094" style="stroke:#181818;stroke-width:0.5;"/><polygon fill="#F1F1F1" points="162,718.2422,226,718.2422,238,730.2422,226,742.2422,162,742.2422,150,730.2422,162,718.2422" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="64" x="162" y="734.0503">interupted?</text><rect fill="#F1F1F1" height="33.9688" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="54" x="373" y="496.4614"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="34" x="383" y="517.6001">sleep</text><rect fill="#F1F1F1" height="33.9688" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="137" x="125.5" y="783.6411"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="117" x="135.5" y="804.7798">stop input threads</text><ellipse cx="194" cy="848.6099" rx="11" ry="11" style="stroke:#222222;stroke-width:1.0;fill:none;"/><ellipse cx="194" cy="848.6099" fill="#222222" rx="6" ry="6" style="stroke:#111111;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="194" x2="194" y1="67.2969" y2="87.2969"/><polygon fill="#181818" points="190,77.2969,194,87.2969,198,77.2969,194,81.2969" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="194" x2="194" y1="121.2656" y2="141.2656"/><polygon fill="#181818" points="190,131.2656,194,141.2656,198,131.2656,194,135.2656" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="194" x2="194" y1="217.1406" y2="237.1406"/><polygon fill="#181818" points="190,227.1406,194,237.1406,198,227.1406,194,231.1406" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="73.5" x2="73.5" y1="504.0942" y2="539.0942"/><polygon fill="#181818" points="69.5,529.0942,73.5,539.0942,77.5,529.0942,73.5,533.0942" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="285" x2="285" y1="519.0942" y2="539.0942"/><polygon fill="#181818" points="281,529.0942,285,539.0942,289,529.0942,285,533.0942" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="339" x2="339" y1="519.0942" y2="539.0942"/><polygon fill="#181818" points="335,529.0942,339,539.0942,343,529.0942,339,533.0942" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="285" x2="285" y1="573.063" y2="593.063"/><polygon fill="#181818" points="281,583.063,285,593.063,289,583.063,285,587.063" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="339" x2="339" y1="573.063" y2="593.063"/><polygon fill="#181818" points="335,583.063,339,593.063,343,583.063,339,587.063" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="311" x2="311" y1="482.5942" y2="517.5942"/><polygon fill="#181818" points="307,507.5942,311,517.5942,315,507.5942,311,511.5942" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="73.5" x2="73.5" y1="430.1255" y2="470.1255"/><polygon fill="#181818" points="69.5,460.1255,73.5,470.1255,77.5,460.1255,73.5,464.1255" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="190.5" x2="190.5" y1="430.1255" y2="504.6099"/><polygon fill="#181818" points="186.5,494.6099,190.5,504.6099,194.5,494.6099,190.5,498.6099" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="311" x2="311" y1="430.1255" y2="448.6255"/><polygon fill="#181818" points="307,438.6255,311,448.6255,315,438.6255,311,442.6255" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="73.5" x2="73.5" y1="573.063" y2="613.063"/><polygon fill="#181818" points="69.5,603.063,73.5,613.063,77.5,603.063,73.5,607.063" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="311" x2="311" y1="594.563" y2="613.063"/><polygon fill="#181818" points="307,603.063,311,613.063,315,603.063,311,607.063" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="194" x2="194" y1="369.0781" y2="428.6255"/><polygon fill="#181818" points="190,418.6255,194,428.6255,198,418.6255,194,422.6255" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="37" x="198" y="390.3828">values</text><line style="stroke:#181818;stroke-width:1.0;" x1="194" x2="194" y1="614.563" y2="664.2734"/><polygon fill="#181818" points="190,654.2734,194,664.2734,198,654.2734,194,658.2734" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="40" x="198" y="642.7734">results</text><line style="stroke:#181818;stroke-width:1.0;" x1="194" x2="194" y1="315.1094" y2="335.1094"/><polygon fill="#181818" points="190,325.1094,194,335.1094,198,325.1094,194,329.1094" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="238" x2="400" y1="730.2422" y2="730.2422"/><line style="stroke:#181818;stroke-width:1.0;" x1="400" x2="400" y1="530.4302" y2="730.2422"/><polygon fill="#181818" points="396,540.4302,400,530.4302,404,540.4302,400,536.4302" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="400" x2="400" y1="303.1094" y2="496.4614"/><line style="stroke:#181818;stroke-width:1.0;" x1="400" x2="206" y1="303.1094" y2="303.1094"/><polygon fill="#181818" points="216,299.1094,206,303.1094,216,307.1094,212,303.1094" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="194" x2="194" y1="698.2422" y2="718.2422"/><polygon fill="#181818" points="190,708.2422,194,718.2422,198,708.2422,194,712.2422" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="194" x2="194" y1="271.1094" y2="291.1094"/><polygon fill="#181818" points="190,281.1094,194,291.1094,198,281.1094,194,285.1094" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="194" x2="194" y1="742.2422" y2="783.6411"/><polygon fill="#181818" points="190,773.6411,194,783.6411,198,773.6411,194,777.6411" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="20" x="198" y="763.5469">yes</text><line style="stroke:#181818;stroke-width:1.0;" x1="194" x2="194" y1="817.6099" y2="837.6099"/><polygon fill="#181818" points="190,827.6099,194,837.6099,198,827.6099,194,831.6099" style="stroke:#181818;stroke-width:1.0;"/><rect height="11.6406" style="stroke:#00000000;stroke-width:1.0;fill:none;" width="89" x="336" y="858.6099"/><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="89" x="336" y="867.8921">jomueller, 08.2022</text><!--MD5=[18c026ad6f4c76c6aacfbebf55cad828]
- @startuml PLC-Connector-main
- title Programmablauf PLC-Connector
- right footer jomueller, 08.2022
- start
- :read config file;
- : initialze
- input modules,
- middlewares and
- output modules;
- :start input threads;
- repeat
- :read input queues;
- partition Middlewares {
- -> values;
- split
- :module a;
- :submodule b;
- split again
- :module c;
- -[hidden]->
- split again
- :module d;
- split
- :e;
- split again
- :f;
- end split
- end split
- }
- -> results;
- :write to outputs;
- backward:sleep;
- repeat while(interupted?)
- -> yes;
- :stop input threads;
- stop
- @enduml
- PlantUML version 1.2022.6(Tue Jun 21 17:34:49 UTC 2022)
- (GPL source distribution)
- Java Runtime: OpenJDK Runtime Environment
- JVM: OpenJDK 64-Bit Server VM
- Default Encoding: UTF-8
- Language: en
- Country: null
- --></g></svg>
|