Skip to content

Commit b450cb0

Browse files
committed
HR<->MAP in tools match ratc (change still needed in humanc)
1 parent 5ecfceb commit b450cb0

5 files changed

Lines changed: 327 additions & 5 deletions

File tree

tools/bangbang.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44

55
def bangbang_controller(ym):
66
amp = 0
7-
if ym[0]>70:
7+
if ym[1]>70:
88
amp = 3
9-
elif ym[0]<65:
9+
elif ym[1]<65:
1010
amp = 1
1111

1212

tools/cardiac_pm.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,10 @@ def cardiac_pm(x0,u):
2727

2828
hr,mapp,x0 = cardiac_pm(x0,u)
2929

30-
dummy = np.array([hr,mapp])
30+
#dummy = np.array([hr,mapp])
31+
dummy = np.array([mapp,hr])
3132
print(str(concore.simtime) + " u="+str(u) + "ym=" + str(dummy))
32-
concore.write(1,"ym",list(np.array([hr,mapp])),delta=1)
33+
#concore.write(1,"ym",list(np.array([hr,mapp])),delta=1)
34+
concore.write(1,"ym",list(np.array([mapp,hr])),delta=1)
3335

3436

tools/pid2.graphml

Lines changed: 256 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,256 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2+
<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd" xmlns:y="http://www.yworks.com/xml/graphml">
3+
<key for="node" id="d6" yfiles.type="nodegraphics"/>
4+
<key for="edge" id="d10" yfiles.type="edgegraphics"/>
5+
<graph edgedefault="directed" id="1663351439583" projectName="autonomous">
6+
<node id="550865d1-28a3-40a9-9e25-d3b68ad277d6">
7+
<data key="d6">
8+
<y:ShapeNode>
9+
<y:Geometry height="50" width="148" x="245" y="85"/>
10+
<y:Fill color="#ffcc00" opacity="1"/>
11+
<y:BorderStyle color="#000" width="1"/>
12+
<y:NodeLabel>PZ:cardiac_pm.py</y:NodeLabel>
13+
<y:Shape type="rectangle"/>
14+
</y:ShapeNode>
15+
</data>
16+
</node>
17+
<node id="36b9f1df-7c84-4f07-8fce-c4a6f6462931">
18+
<data key="d6">
19+
<y:ShapeNode>
20+
<y:Geometry height="50" width="193" x="252" y="264"/>
21+
<y:Fill color="#ffcc00" opacity="1"/>
22+
<y:BorderStyle color="#000" width="1"/>
23+
<y:NodeLabel>CZ:pid2.py</y:NodeLabel>
24+
<y:Shape type="rectangle"/>
25+
</y:ShapeNode>
26+
</data>
27+
</node>
28+
<node id="4b860aae-05c9-4eb5-bc48-f8000ccb42a8">
29+
<data key="d6">
30+
<y:ShapeNode>
31+
<y:Geometry height="50" width="114" x="507" y="160"/>
32+
<y:Fill color="#ffcc00" opacity="1"/>
33+
<y:BorderStyle color="#000" width="1"/>
34+
<y:NodeLabel>XZ:plotym.py</y:NodeLabel>
35+
<y:Shape type="rectangle"/>
36+
</y:ShapeNode>
37+
</data>
38+
</node>
39+
<edge id="0" source="550865d1-28a3-40a9-9e25-d3b68ad277d6" target="4b860aae-05c9-4eb5-bc48-f8000ccb42a8">
40+
<data key="d10">
41+
<y:GenericEdge configuration="com.yworks.bpmn.Connection">
42+
<y:LineStyle color="#7c4dff" width="1" type="solid"/>
43+
<y:Arrows source="none" target="delta"/>
44+
<y:EdgeLabel>PYM</y:EdgeLabel>
45+
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0">
46+
<y:Point x="413" y="133.09160305343514"/>
47+
</y:Path>
48+
</y:GenericEdge>
49+
</data>
50+
</edge>
51+
<edge id="1" source="36b9f1df-7c84-4f07-8fce-c4a6f6462931" target="550865d1-28a3-40a9-9e25-d3b68ad277d6">
52+
<data key="d10">
53+
<y:GenericEdge configuration="com.yworks.bpmn.Connection">
54+
<y:LineStyle color="#f44336" width="1" type="solid"/>
55+
<y:Arrows source="none" target="delta"/>
56+
<y:EdgeLabel>CU</y:EdgeLabel>
57+
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0">
58+
<y:Point x="248.0111731843575" y="162"/>
59+
</y:Path>
60+
</y:GenericEdge>
61+
</data>
62+
</edge>
63+
<edge id="2" source="4b860aae-05c9-4eb5-bc48-f8000ccb42a8" target="36b9f1df-7c84-4f07-8fce-c4a6f6462931">
64+
<data key="d10">
65+
<y:GenericEdge configuration="com.yworks.bpmn.Connection">
66+
<y:LineStyle color="#1565c0" width="1" type="solid"/>
67+
<y:Arrows source="none" target="delta"/>
68+
<y:EdgeLabel>XYM</y:EdgeLabel>
69+
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0">
70+
<y:Point x="351" y="223.62352941176476"/>
71+
</y:Path>
72+
</y:GenericEdge>
73+
</data>
74+
</edge>
75+
<actionHistory>
76+
<tid>1644943336906</tid>
77+
<authorName>sanmi</authorName>
78+
<inverse>
79+
<actionName>DEL_NODE</actionName>
80+
<parameters>WyI1NTA4NjVkMS0yOGEzLTQwYTktOWUyNS1kM2I2OGFkMjc3ZDYiXQ==</parameters>
81+
</inverse>
82+
<equivalent>
83+
<actionName>ADD_NODE</actionName>
84+
<parameters>WyJQWjpjYXJkaWFjX3BtLnB5Iix7IndpZHRoIjoxNDgsImhlaWdodCI6NTAsInNoYXBlIjoicmVjdGFuZ2xlIiwib3BhY2l0eSI6MSwiYmFja2dyb3VuZENvbG9yIjoiI2ZmY2MwMCIsImJvcmRlckNvbG9yIjoiIzAwMCIsImJvcmRlcldpZHRoIjoxfSwib3JkaW4iLHsieCI6MjQ1LCJ5Ijo4NX0se30sIjU1MDg2NWQxLTI4YTMtNDBhOS05ZTI1LWQzYjY4YWQyNzdkNiJd</parameters>
85+
</equivalent>
86+
</actionHistory>
87+
<actionHistory>
88+
<tid>1644943355554</tid>
89+
<authorName>sanmi</authorName>
90+
<inverse>
91+
<actionName>DEL_NODE</actionName>
92+
<parameters>WyIzNmI5ZjFkZi03Yzg0LTRmMDctOGZjZS1jNGE2ZjY0NjI5MzEiXQ==</parameters>
93+
</inverse>
94+
<equivalent>
95+
<actionName>ADD_NODE</actionName>
96+
<parameters>WyJDWjpkdW1teV9jb250cm9sbGVyLnB5Iix7IndpZHRoIjoxOTMsImhlaWdodCI6NTAsInNoYXBlIjoicmVjdGFuZ2xlIiwib3BhY2l0eSI6MSwiYmFja2dyb3VuZENvbG9yIjoiI2ZmY2MwMCIsImJvcmRlckNvbG9yIjoiIzAwMCIsImJvcmRlcldpZHRoIjoxfSwib3JkaW4iLHsieCI6MjUyLCJ5IjoyNjR9LHt9LCIzNmI5ZjFkZi03Yzg0LTRmMDctOGZjZS1jNGE2ZjY0NjI5MzEiXQ==</parameters>
97+
</equivalent>
98+
</actionHistory>
99+
<actionHistory>
100+
<tid>1644943358106</tid>
101+
<authorName>sanmi</authorName>
102+
<inverse>
103+
<actionName>SET_POS</actionName>
104+
<parameters>WyIzNmI5ZjFkZi03Yzg0LTRmMDctOGZjZS1jNGE2ZjY0NjI5MzEiLHsieCI6MTEwLCJ5IjoxMTB9LHsieCI6MTM0LCJ5IjoyNjZ9XQ==</parameters>
105+
</inverse>
106+
<equivalent>
107+
<actionName>SET_POS</actionName>
108+
<parameters>WyIzNmI5ZjFkZi03Yzg0LTRmMDctOGZjZS1jNGE2ZjY0NjI5MzEiLHsieCI6MTM0LCJ5IjoyNjZ9LHsieCI6MTEwLCJ5IjoxMTB9XQ==</parameters>
109+
</equivalent>
110+
</actionHistory>
111+
<actionHistory>
112+
<tid>1644943359494</tid>
113+
<authorName>sanmi</authorName>
114+
<inverse>
115+
<actionName>SET_POS</actionName>
116+
<parameters>WyI1NTA4NjVkMS0yOGEzLTQwYTktOWUyNS1kM2I2OGFkMjc3ZDYiLHsieCI6MTAwLCJ5IjoxMDB9LHsieCI6MjQ1LCJ5Ijo4NX1d</parameters>
117+
</inverse>
118+
<equivalent>
119+
<actionName>SET_POS</actionName>
120+
<parameters>WyI1NTA4NjVkMS0yOGEzLTQwYTktOWUyNS1kM2I2OGFkMjc3ZDYiLHsieCI6MjQ1LCJ5Ijo4NX0seyJ4IjoxMDAsInkiOjEwMH1d</parameters>
121+
</equivalent>
122+
</actionHistory>
123+
<actionHistory>
124+
<tid>1644943362210</tid>
125+
<authorName>sanmi</authorName>
126+
<inverse>
127+
<actionName>SET_POS</actionName>
128+
<parameters>WyIzNmI5ZjFkZi03Yzg0LTRmMDctOGZjZS1jNGE2ZjY0NjI5MzEiLHsieCI6MTM0LCJ5IjoyNjZ9LHsieCI6MjUyLCJ5IjoyNjR9XQ==</parameters>
129+
</inverse>
130+
<equivalent>
131+
<actionName>SET_POS</actionName>
132+
<parameters>WyIzNmI5ZjFkZi03Yzg0LTRmMDctOGZjZS1jNGE2ZjY0NjI5MzEiLHsieCI6MjUyLCJ5IjoyNjR9LHsieCI6MTM0LCJ5IjoyNjZ9XQ==</parameters>
133+
</equivalent>
134+
</actionHistory>
135+
<actionHistory>
136+
<tid>1644943375398</tid>
137+
<authorName>sanmi</authorName>
138+
<inverse>
139+
<actionName>DEL_NODE</actionName>
140+
<parameters>WyI0Yjg2MGFhZS0wNWM5LTRlYjUtYmM0OC1mODAwMGNjYjQyYTgiXQ==</parameters>
141+
</inverse>
142+
<equivalent>
143+
<actionName>ADD_NODE</actionName>
144+
<parameters>WyJYWjpwbG90eW0iLHsid2lkdGgiOjEwMCwiaGVpZ2h0Ijo1MCwic2hhcGUiOiJyZWN0YW5nbGUiLCJvcGFjaXR5IjoxLCJiYWNrZ3JvdW5kQ29sb3IiOiIjZmZjYzAwIiwiYm9yZGVyQ29sb3IiOiIjMDAwIiwiYm9yZGVyV2lkdGgiOjF9LCJvcmRpbiIseyJ4Ijo1MDcsInkiOjE2MH0se30sIjRiODYwYWFlLTA1YzktNGViNS1iYzQ4LWY4MDAwY2NiNDJhOCJd</parameters>
145+
</equivalent>
146+
</actionHistory>
147+
<actionHistory>
148+
<tid>1644943378630</tid>
149+
<authorName>sanmi</authorName>
150+
<inverse>
151+
<actionName>SET_POS</actionName>
152+
<parameters>WyI0Yjg2MGFhZS0wNWM5LTRlYjUtYmM0OC1mODAwMGNjYjQyYTgiLHsieCI6MTAwLCJ5IjoxMDB9LHsieCI6NTA3LCJ5IjoxNjB9XQ==</parameters>
153+
</inverse>
154+
<equivalent>
155+
<actionName>SET_POS</actionName>
156+
<parameters>WyI0Yjg2MGFhZS0wNWM5LTRlYjUtYmM0OC1mODAwMGNjYjQyYTgiLHsieCI6NTA3LCJ5IjoxNjB9LHsieCI6MTAwLCJ5IjoxMDB9XQ==</parameters>
157+
</equivalent>
158+
</actionHistory>
159+
<actionHistory>
160+
<tid>1644943386853</tid>
161+
<authorName>sanmi</authorName>
162+
<inverse>
163+
<actionName>DEL_EDGE</actionName>
164+
<parameters>WyI0NzcwODQwZi04OGEwLTQ3NTItOWMxOS0yZTdmODlmOGZhNzkiXQ==</parameters>
165+
</inverse>
166+
<equivalent>
167+
<actionName>ADD_EDGE</actionName>
168+
<parameters>W3sic291cmNlSUQiOiI1NTA4NjVkMS0yOGEzLTQwYTktOWUyNS1kM2I2OGFkMjc3ZDYiLCJ0YXJnZXRJRCI6IjRiODYwYWFlLTA1YzktNGViNS1iYzQ4LWY4MDAwY2NiNDJhOCIsImxhYmVsIjoiUFlNIiwic3R5bGUiOnsidGhpY2tuZXNzIjoxLCJiYWNrZ3JvdW5kQ29sb3IiOiIjN2M0ZGZmIiwic2hhcGUiOiJzb2xpZCJ9LCJpZCI6IjQ3NzA4NDBmLTg4YTAtNDc1Mi05YzE5LTJlN2Y4OWY4ZmE3OSJ9XQ==</parameters>
169+
</equivalent>
170+
</actionHistory>
171+
<actionHistory>
172+
<tid>1644943394719</tid>
173+
<authorName>sanmi</authorName>
174+
<inverse>
175+
<actionName>DEL_EDGE</actionName>
176+
<parameters>WyI3ZjJiMWM0Yy04ZjJmLTQyZjQtYjU1Yy0xY2RlNzdiMWU4NTIiXQ==</parameters>
177+
</inverse>
178+
<equivalent>
179+
<actionName>ADD_EDGE</actionName>
180+
<parameters>W3sic291cmNlSUQiOiIzNmI5ZjFkZi03Yzg0LTRmMDctOGZjZS1jNGE2ZjY0NjI5MzEiLCJ0YXJnZXRJRCI6IjU1MDg2NWQxLTI4YTMtNDBhOS05ZTI1LWQzYjY4YWQyNzdkNiIsImxhYmVsIjoiQ1UiLCJzdHlsZSI6eyJ0aGlja25lc3MiOjEsImJhY2tncm91bmRDb2xvciI6IiNmNDQzMzYiLCJzaGFwZSI6InNvbGlkIn0sImlkIjoiN2YyYjFjNGMtOGYyZi00MmY0LWI1NWMtMWNkZTc3YjFlODUyIn1d</parameters>
181+
</equivalent>
182+
</actionHistory>
183+
<actionHistory>
184+
<tid>1644943403841</tid>
185+
<authorName>sanmi</authorName>
186+
<inverse>
187+
<actionName>DEL_EDGE</actionName>
188+
<parameters>WyIyZDdlZjk4ZS04Y2E5LTRhZjMtYWQxOS1hYzM0MTQ2ZmZlYmYiXQ==</parameters>
189+
</inverse>
190+
<equivalent>
191+
<actionName>ADD_EDGE</actionName>
192+
<parameters>W3sic291cmNlSUQiOiI0Yjg2MGFhZS0wNWM5LTRlYjUtYmM0OC1mODAwMGNjYjQyYTgiLCJ0YXJnZXRJRCI6IjM2YjlmMWRmLTdjODQtNGYwNy04ZmNlLWM0YTZmNjQ2MjkzMSIsImxhYmVsIjoiWFlNIiwic3R5bGUiOnsidGhpY2tuZXNzIjoxLCJiYWNrZ3JvdW5kQ29sb3IiOiIjMTU2NWMwIiwic2hhcGUiOiJzb2xpZCJ9LCJpZCI6IjJkN2VmOThlLThjYTktNGFmMy1hZDE5LWFjMzQxNDZmZmViZiJ9XQ==</parameters>
193+
</equivalent>
194+
</actionHistory>
195+
<actionHistory>
196+
<tid>1644943683422</tid>
197+
<authorName>sanmi</authorName>
198+
<inverse>
199+
<actionName>UPDATE_NODE</actionName>
200+
<parameters>WyI0Yjg2MGFhZS0wNWM5LTRlYjUtYmM0OC1mODAwMGNjYjQyYTgiLHsid2lkdGgiOjEwMCwiaGVpZ2h0Ijo1MCwic2hhcGUiOiJyZWN0YW5nbGUiLCJvcGFjaXR5IjoxLCJiYWNrZ3JvdW5kQ29sb3IiOiIjZmZjYzAwIiwiYm9yZGVyQ29sb3IiOiIjMDAwIiwiYm9yZGVyV2lkdGgiOjF9LCJYWjpwbG90eW0iLHRydWVd</parameters>
201+
</inverse>
202+
<equivalent>
203+
<actionName>UPDATE_NODE</actionName>
204+
<parameters>WyI0Yjg2MGFhZS0wNWM5LTRlYjUtYmM0OC1mODAwMGNjYjQyYTgiLHsid2lkdGgiOjExNCwiaGVpZ2h0Ijo1MCwic2hhcGUiOiJyZWN0YW5nbGUiLCJvcGFjaXR5IjoxLCJiYWNrZ3JvdW5kQ29sb3IiOiIjZmZjYzAwIiwiYm9yZGVyQ29sb3IiOiIjMDAwIiwiYm9yZGVyV2lkdGgiOjF9LCJYWjpwbG90eW0ucHkiLHRydWVd</parameters>
205+
</equivalent>
206+
</actionHistory>
207+
<actionHistory>
208+
<tid>1662144313252</tid>
209+
<authorName>sanmi</authorName>
210+
<inverse>
211+
<actionName>UPDATE_NODE</actionName>
212+
<parameters>WyIzNmI5ZjFkZi03Yzg0LTRmMDctOGZjZS1jNGE2ZjY0NjI5MzEiLHsid2lkdGgiOjE5MywiaGVpZ2h0Ijo1MCwib3BhY2l0eSI6MSwic2hhcGUiOiJyZWN0YW5nbGUiLCJiYWNrZ3JvdW5kQ29sb3IiOiIjZmZjYzAwIiwiYm9yZGVyQ29sb3IiOiIjMDAwIiwiYm9yZGVyV2lkdGgiOjF9LCJDWjpkdW1teV9jb250cm9sbGVyLnB5Iix0cnVlXQ==</parameters>
213+
</inverse>
214+
<equivalent>
215+
<actionName>UPDATE_NODE</actionName>
216+
<parameters>WyIzNmI5ZjFkZi03Yzg0LTRmMDctOGZjZS1jNGE2ZjY0NjI5MzEiLHsid2lkdGgiOjE5MywiaGVpZ2h0Ijo1MCwib3BhY2l0eSI6MSwic2hhcGUiOiJyZWN0YW5nbGUiLCJiYWNrZ3JvdW5kQ29sb3IiOiIjZmZjYzAwIiwiYm9yZGVyQ29sb3IiOiIjMDAwIiwiYm9yZGVyV2lkdGgiOjF9LCJDWjpiYW5nbmJhbmcucHkiLHRydWVd</parameters>
217+
</equivalent>
218+
</actionHistory>
219+
<actionHistory>
220+
<tid>1662144436617</tid>
221+
<authorName>sanmi</authorName>
222+
<inverse>
223+
<actionName>UPDATE_NODE</actionName>
224+
<parameters>WyIzNmI5ZjFkZi03Yzg0LTRmMDctOGZjZS1jNGE2ZjY0NjI5MzEiLHsid2lkdGgiOjE5MywiaGVpZ2h0Ijo1MCwib3BhY2l0eSI6MSwic2hhcGUiOiJyZWN0YW5nbGUiLCJiYWNrZ3JvdW5kQ29sb3IiOiIjZmZjYzAwIiwiYm9yZGVyQ29sb3IiOiIjMDAwIiwiYm9yZGVyV2lkdGgiOjF9LCJDWjpiYW5nbmJhbmcucHkiLHRydWVd</parameters>
225+
</inverse>
226+
<equivalent>
227+
<actionName>UPDATE_NODE</actionName>
228+
<parameters>WyIzNmI5ZjFkZi03Yzg0LTRmMDctOGZjZS1jNGE2ZjY0NjI5MzEiLHsid2lkdGgiOjE5MywiaGVpZ2h0Ijo1MCwib3BhY2l0eSI6MSwic2hhcGUiOiJyZWN0YW5nbGUiLCJiYWNrZ3JvdW5kQ29sb3IiOiIjZmZjYzAwIiwiYm9yZGVyQ29sb3IiOiIjMDAwIiwiYm9yZGVyV2lkdGgiOjF9LCJDWjpiYW5nYmFuZy5weSIsdHJ1ZV0=</parameters>
229+
</equivalent>
230+
</actionHistory>
231+
<actionHistory>
232+
<tid>1662583658804</tid>
233+
<authorName>Shannon</authorName>
234+
<inverse>
235+
<actionName>UPDATE_NODE</actionName>
236+
<parameters>WyIzNmI5ZjFkZi03Yzg0LTRmMDctOGZjZS1jNGE2ZjY0NjI5MzEiLHsid2lkdGgiOjE5MywiaGVpZ2h0Ijo1MCwib3BhY2l0eSI6MSwic2hhcGUiOiJyZWN0YW5nbGUiLCJiYWNrZ3JvdW5kQ29sb3IiOiIjZmZjYzAwIiwiYm9yZGVyQ29sb3IiOiIjMDAwIiwiYm9yZGVyV2lkdGgiOjF9LCJDWjpiYW5nYmFuZy5weSIsdHJ1ZV0=</parameters>
237+
</inverse>
238+
<equivalent>
239+
<actionName>UPDATE_NODE</actionName>
240+
<parameters>WyIzNmI5ZjFkZi03Yzg0LTRmMDctOGZjZS1jNGE2ZjY0NjI5MzEiLHsid2lkdGgiOjE5MywiaGVpZ2h0Ijo1MCwib3BhY2l0eSI6MSwic2hhcGUiOiJyZWN0YW5nbGUiLCJiYWNrZ3JvdW5kQ29sb3IiOiIjZmZjYzAwIiwiYm9yZGVyQ29sb3IiOiIjMDAwIiwiYm9yZGVyV2lkdGgiOjF9LCJDWjpzaGFubm9uLnB5Iix0cnVlXQ==</parameters>
241+
</equivalent>
242+
</actionHistory>
243+
<actionHistory>
244+
<tid>1663351448627</tid>
245+
<authorName>mark</authorName>
246+
<inverse>
247+
<actionName>UPDATE_NODE</actionName>
248+
<parameters>WyIzNmI5ZjFkZi03Yzg0LTRmMDctOGZjZS1jNGE2ZjY0NjI5MzEiLHsid2lkdGgiOjE5MywiaGVpZ2h0Ijo1MCwib3BhY2l0eSI6MSwic2hhcGUiOiJyZWN0YW5nbGUiLCJiYWNrZ3JvdW5kQ29sb3IiOiIjZmZjYzAwIiwiYm9yZGVyQ29sb3IiOiIjMDAwIiwiYm9yZGVyV2lkdGgiOjF9LCJDWjpzaGFubm9uLnB5Iix0cnVlXQ==</parameters>
249+
</inverse>
250+
<equivalent>
251+
<actionName>UPDATE_NODE</actionName>
252+
<parameters>WyIzNmI5ZjFkZi03Yzg0LTRmMDctOGZjZS1jNGE2ZjY0NjI5MzEiLHsid2lkdGgiOjE5MywiaGVpZ2h0Ijo1MCwib3BhY2l0eSI6MSwic2hhcGUiOiJyZWN0YW5nbGUiLCJiYWNrZ3JvdW5kQ29sb3IiOiIjZmZjYzAwIiwiYm9yZGVyQ29sb3IiOiIjMDAwIiwiYm9yZGVyV2lkdGgiOjF9LCJDWjpwaWQyLnB5Iix0cnVlXQ==</parameters>
253+
</equivalent>
254+
</actionHistory>
255+
</graph>
256+
</graphml>

tools/pid2.py

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
import numpy as np
2+
import concore
3+
setpoint = 67.5
4+
setpointF = 75.0
5+
KpF = 0.1
6+
KiF = 0.01
7+
KdF = 0.01
8+
Kp = 0.1
9+
Ki = 0.01
10+
Kd = 0.01
11+
dT = 0.1
12+
global Prev_Error, I
13+
Prev_Error = 0
14+
I = 0
15+
global Prev_ErrorF, IF
16+
Prev_ErrorF = 0
17+
IF = 0
18+
19+
20+
def pid_controller(ym):
21+
global Prev_Error, I
22+
global Prev_ErrorF, IF
23+
Error = setpoint- ym[1]
24+
dT = 60.0/ym[1]
25+
P = Error
26+
I = I + Error*dT
27+
D = (Error - Prev_Error )/dT
28+
amp = Kp*P + Ki*I + Kd*D
29+
if amp>3:
30+
amp = 3
31+
if amp<0:
32+
amp = 0
33+
Prev_Error = Error
34+
35+
ErrorF = setpointF- ym[0]
36+
PF = ErrorF
37+
IF = IF + ErrorF*dT
38+
DF = (ErrorF - Prev_ErrorF )/dT
39+
freq= KpF*PF + KiF*IF + KdF*DF
40+
if freq>30:
41+
freq = 30
42+
if freq<10:
43+
freq = 10
44+
Prev_ErrorF = ErrorF
45+
ustar = np.array([amp,30])
46+
return ustar
47+
48+
49+
concore.default_maxtime(150)
50+
concore.delay = 0.02
51+
init_simtime_u = "[0.0, 0.0,0.0]"
52+
init_simtime_ym = "[0.0, 70.0,91]"
53+
u = np.array([concore.initval(init_simtime_u)]).T
54+
print("Shannon's PID controller: setpoint is "+str(setpoint))
55+
while(concore.simtime<concore.maxtime):
56+
while concore.unchanged():
57+
ym = concore.read(1,"ym",init_simtime_ym)
58+
ym = np.array(ym)
59+
60+
ustar = pid_controller(ym)
61+
62+
print(str(concore.simtime) + " u="+str(ustar) + "ym="+str(ym))
63+
concore.write(1,"u",list(ustar),delta=0)
64+

tools/shannon.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
def pid_controller(ym):
1414
global Prev_Error, I
15-
Error = setpoint- ym[0]
15+
Error = setpoint- ym[1]
1616
P = Error
1717
I = I + Error*dT
1818
D = (Error - Prev_Error )/dT

0 commit comments

Comments
 (0)