{
	"version": "0.10.24",
	"allow_edit": true,
	"plugins": [],
	"panes": [
		{
			"title": "Contrôle de l'application",
			"width": 1,
			"row": {
				"3": 1,
				"4": 1,
				"5": 1
			},
			"col": {
				"3": 2,
				"4": 1,
				"5": 1
			},
			"col_width": 1,
			"widgets": [
				{
					"type": "pythoncommand",
					"settings": {
						"title": "Marche / arrêt",
						"scriptfile": "./python/scripts/TourelleDeuxAxes/AsservissementVitesse.py",
						"ontext": "ON",
						"offtext": "OFF",
						"arguments": [
							"datasources[\"loc\"][\"simulation\"]",
							"0",
							"0"
						],
						"variable": [
							"datasources[\"loc\"][\"onoff\"]",
							"datasources[\"ws\"][\"apionoff\"]"
						],
						"onvalue": 0,
						"offvalue": 1,
						"variablestateoff": "",
						"switchoff_when_select_changed": true,
						"title2": "Réel ou simulation",
						"selectvariable": [
							"datasources[\"loc\"][\"simulation\"]"
						],
						"listcaptions": "Tourelle réelle,Tourelle simulée",
						"listvalues": "0,1",
						"selectdefaultvalue": "0",
						"state_text": "loc_simulation = datasources[\"loc\"][\"simulation\"];\n\nif (loc_simulation == 1) {\n    message = \"<br>\";\n}\nelse {\n    message = \"<span style='font-weight:normal;'>Port série: \" + default_serial_value + \"<br>(Paramètres &rarr; Port série par défaut)<br></span>\";\n}\n\nif (datasources[\"loc\"][\"onoff\"] == 0) {\n    if (datasources[\"ws\"][\"initOK\"] == 0) {\n    \treturn message + \"Init en cours: recherche de butée\";\n    }\n    else if (datasources[\"ws\"][\"initOK\"] == 1) {\n        return message;\n    }\n    else {\n        return message + \"Attente de démarrage\";\n    }\n}\nelse {\n    return message;\n}",
						"listerrorcodes": "1,2,3,4,5,6",
						"listerrortextes": ",Connexion impossible au port série,Fichier de licence absent,Code de licence incorrect,Licence expirée,Licence incorrecte pour cet ordinateur",
						"height": 1,
						"refresh_iframes": false,
						"parameters_title": "Moteur et mécanique Pan",
						"parameters": [
							"datasources[\"ws\"][\"J\"]",
							"datasources[\"ws\"][\"K\"]",
							"datasources[\"ws\"][\"R\"]",
							"datasources[\"ws\"][\"d\"]",
							"datasources[\"ws\"][\"Tstat\"]",
							"datasources[\"ws\"][\"Ms\"]"
						],
						"parameters_initialvalues": "4e-7,0.019,53,0.34,0.12,0.",
						"parameters_names": "Inertie,Constante de couple,Résistance,Frottement visqueux,Frottement sec,Masse smartphone",
						"parameters_units": "kg.m^2,N.m/A,ohms,N.m.s/rad,N.m,kg",
						"parameters_localstoragenames": "Tourelle_J,Tourelle_K,Tourelle_R,Tourelle_d,Tourelle_Ts,Tourelle_Ms",
						"parameters_popupurl": "parampopup_tourelle.html"
					}
				},
				{
					"type": "plotexplore",
					"settings": {
						"title": "Résultats",
						"type1": "save",
						"useplotdata1": true,
						"explore_with_qats1": false,
						"disablereset1": "",
						"value1": [
							"datasources[\"ws\"][\"Temps\"]",
							"datasources[\"ws\"][\"omegaref_1\"]",
							"datasources[\"ws\"][\"omegaref_2\"]",
							"datasources[\"ws\"][\"omegaref_3\"]",
							"datasources[\"ws\"][\"omega_1\"]",
							"datasources[\"ws\"][\"omega_2\"]",
							"datasources[\"ws\"][\"omega_3\"]",
							"datasources[\"ws\"][\"commande_1\"]",
							"datasources[\"ws\"][\"commande_2\"]",
							"datasources[\"ws\"][\"commande_3\"]",
							"datasources[\"ws\"][\"courant_1\"]",
							"datasources[\"ws\"][\"courant_2\"]",
							"datasources[\"ws\"][\"courant_3\"]"
						],
						"legends1": "Temps (s),Vcons 1 (rad/s),Vcons 2 (rad/s),Vcons 3 (rad/s),V1 (rad/s),V2 (rad/s),V3 (rad/s),U1 (V),U2 (V),U3 (V),I1(A),I2(A),I3(A)",
						"caption1": "Enregistrer",
						"numberoflegendcolumns1": 2,
						"disable_variable1": "if ((datasources[\"loc\"][\"onoff_1\"] == 1) || (datasources[\"loc\"][\"onoff_2\"] == 1) || (datasources[\"loc\"][\"onoff_3\"] == 1)) {\n    return 1;\n}\nelse {\n    return 0;\n}",
						"re_enable_variable1": "if ((datasources[\"loc\"][\"onoff_1\"] == 0) && (datasources[\"loc\"][\"onoff_2\"] == 0) && (datasources[\"loc\"][\"onoff_3\"] == 0)) {\n    return 1;\n}\nelse {\n    return 0;\n}",
						"type2": "plot",
						"useplotdata2": true,
						"explore_with_qats2": true,
						"text_compare2": "Simulé,Réel",
						"reset_compare2": "loc_simulation = datasources[\"loc\"][\"simulation\"];\nif (loc_simulation == 0) {\n    return 1;\n}\nelse {\n    return 0;\n}",
						"disablereset2": "",
						"value2": [
							"datasources[\"ws\"][\"Temps\"]",
							"datasources[\"ws\"][\"omegaref_1\"]",
							"datasources[\"ws\"][\"omegaref_2\"]",
							"datasources[\"ws\"][\"omegaref_3\"]",
							"datasources[\"ws\"][\"omega_1\"]",
							"datasources[\"ws\"][\"omega_2\"]",
							"datasources[\"ws\"][\"omega_3\"]",
							"datasources[\"ws\"][\"commande_1\"]",
							"datasources[\"ws\"][\"commande_2\"]",
							"datasources[\"ws\"][\"commande_3\"]",
							"datasources[\"ws\"][\"courant_1\"]",
							"datasources[\"ws\"][\"courant_2\"]",
							"datasources[\"ws\"][\"courant_3\"]"
						],
						"legends2": "Vcons 1 (rad/s),Vcons 2 (rad/s),Vcons 3 (rad/s),V1 (rad/s),V2 (rad/s),V3 (rad/s),U1 (V),U2 (V),U3 (V),I1(A),I2(A),I3(A)",
						"caption2": "Tracer",
						"title2": "Vitesse (rad/s), tension de commande (V) et courant (A)",
						"numberoflegendcolumns2": 6,
						"disable_variable2": "if ((datasources[\"loc\"][\"onoff_1\"] == 1) || (datasources[\"loc\"][\"onoff_2\"] == 1) || (datasources[\"loc\"][\"onoff_3\"] == 1)) {\n    return 1;\n}\nelse {\n    return 0;\n}",
						"re_enable_variable2": "if ((datasources[\"loc\"][\"onoff_1\"] == 0) && (datasources[\"loc\"][\"onoff_2\"] == 0) && (datasources[\"loc\"][\"onoff_3\"] == 0)) {\n    return 1;\n}\nelse {\n    return 0;\n}"
					}
				}
			]
		},
		{
			"title": "Vitesse (rad/s), tension de commande (V) et courant (A) du \"Pan\"",
			"width": 1,
			"row": {
				"2": 9,
				"3": 17,
				"4": 1,
				"5": 1
			},
			"col": {
				"2": 2,
				"3": 1,
				"4": 2,
				"5": 2
			},
			"col_width": "3",
			"widgets": [
				{
					"type": "plot",
					"settings": {
						"title": "",
						"xaxis": "datasource_column",
						"time": "datasources[\"ws\"][\"Temps\"]",
						"legendX": "Temps (s)",
						"time_window": "10",
						"value": [
							"datasources[\"ws\"][\"omegaref_1\"]",
							"datasources[\"ws\"][\"omegaref_2\"]",
							"datasources[\"ws\"][\"omegaref_3\"]",
							"datasources[\"ws\"][\"omega_1\"]",
							"datasources[\"ws\"][\"omega_2\"]",
							"datasources[\"ws\"][\"omega_3\"]"
						],
						"y_axis_min_range": "-0.4,0.4",
						"offset_y": "mean_value",
						"y2value": [
							"datasources[\"ws\"][\"commande_1\"]",
							"datasources[\"ws\"][\"commande_2\"]",
							"datasources[\"ws\"][\"commande_3\"]",
							"datasources[\"ws\"][\"courant_1\"]",
							"datasources[\"ws\"][\"courant_2\"]",
							"datasources[\"ws\"][\"courant_3\"]"
						],
						"y2_axis_min_range": "-4,4",
						"offset_y2": "mean_value",
						"include_legend": true,
						"legendStr": "Vcons 1 (rad/s),Vcons 2 (rad/s),Vcons 3 (rad/s),V1 (rad/s),V2 (rad/s),V3 (rad/s),U1 (V),U2 (V),U3 (V),I1 (A),I2 (A),I3 (A)",
						"height": 6,
						"pausable": false,
						"legendoutside": true,
						"numberofcolumns": 6,
						"refreshperiod": 100
					}
				}
			]
		},
		{
			"title": "Initialisation de l'angle (deg)",
			"width": 1,
			"row": {
				"3": 8,
				"4": 9,
				"5": 9,
				"6": 9
			},
			"col": {
				"3": 1,
				"4": 1,
				"5": 1,
				"6": 1
			},
			"col_width": 1,
			"widgets": [
				{
					"type": "slider",
					"settings": {
						"variable": "datasources[\"ws\"][\"thetaref\"]",
						"initialvalue": 180,
						"min": 30,
						"max": 270,
						"resolution": 1,
						"resetvalue": 180,
						"resetcaption": "Réinitialisation",
						"continuous_update": true
					}
				},
				{
					"type": "buttonled",
					"settings": {
						"title": "Initialiser avant chaque essai",
						"variable1": [
							"datasources[\"ws\"][\"initPos\"]"
						],
						"offvalue1": 0,
						"onvalue1": 1,
						"caption1": "Initialiser",
						"value": "if (datasources[\"ws\"][\"initPosOK\"] == 1) {\n    return 1;\n}\nelse {\n    return 0;\n}",
						"on_text": "Init. angle terminée",
						"disable_variable": "if ((datasources[\"loc\"][\"onoff\"] == 1) || (datasources[\"ws\"][\"initOK\"] != 1) || (datasources[\"loc\"][\"onoff_1\"] == 1) || (datasources[\"loc\"][\"onoff_2\"] == 1) || (datasources[\"loc\"][\"onoff_3\"] == 1)) {\n    return 1;\n}",
						"re_enable_variable": "if ((datasources[\"loc\"][\"onoff\"] == 0) && (datasources[\"ws\"][\"initOK\"] == 1) && (datasources[\"loc\"][\"onoff_1\"] == 0) && (datasources[\"loc\"][\"onoff_2\"] == 0) && (datasources[\"loc\"][\"onoff_3\"] == 0)) {\n    return 1;\n}",
						"state_text": "if (datasources[\"ws\"][\"initPosOK\"] == 2) {\n    return \"Initialisation en cours\";\n}\nelse {\n    return \"\";\n}"
					}
				}
			]
		},
		{
			"title": "Essai 2",
			"width": 1,
			"row": {
				"3": 35,
				"4": 15,
				"5": 19,
				"6": 19
			},
			"col": {
				"3": 2,
				"4": 3,
				"5": 2,
				"6": 2
			},
			"col_width": 1,
			"widgets": [
				{
					"type": "switchbutton",
					"settings": {
						"title": "Exécution possible si durée non infinie",
						"variable": [
							"datasources[\"ws\"][\"onoff_2\"]",
							"datasources[\"loc\"][\"onoff_2\"]"
						],
						"yestext": "ON",
						"yesvalue": "1",
						"notext": "OFF",
						"novalue": "0",
						"initialstate": false,
						"variablestateoff": "if (datasources[\"loc\"][\"onoff\"] == 1) {\n    return 1;\n}\nelse {\n    if (datasources[\"ws\"][\"switchoff_2\"] == 1) {\n    \treturn 1;\n    }\n    else{\n        return 0;\n    }\n}",
						"disable_variable": "if ((datasources[\"loc\"][\"onoff_1\"] == 1) || (datasources[\"loc\"][\"onoff_3\"] == 1) || (datasources[\"ws\"][\"essai1fini\"] == 0) || (datasources[\"ws\"][\"essai2fini\"] == 1) || (datasources[\"loc\"][\"duree\"] == 0) || (datasources[\"ws\"][\"initPosOK\"] != 1)) {\n   \treturn 1;\n}",
						"re_enable_variable": "if (datasources[\"loc\"][\"onoff_2\"] == 1) {\n    return 1;\n}\nif ((datasources[\"loc\"][\"onoff_1\"] == 0) && (datasources[\"loc\"][\"onoff_3\"] == 0) && (datasources[\"ws\"][\"essai1fini\"] == 1) && (datasources[\"ws\"][\"essai2fini\"] == 0) && (datasources[\"loc\"][\"duree\"] > 0) && (datasources[\"ws\"][\"initPosOK\"] == 1)) {\n    return 1;\n}",
						"switch_off_on_disable": false,
						"state_text": "if (datasources[\"ws\"][\"essai2fini\"] == 1) {\n    return \"Exécution essai2 terminée\";\n}\nelse {\n    return \"\";\n}",
						"text_aside": true,
						"refresh_iframes": false,
						"height": 1
					}
				},
				{
					"type": "slider",
					"settings": {
						"title": "Consigne moteur pan (rad/s)",
						"variable": "datasources[\"ws\"][\"amplitude_2\"]",
						"initialvalue": 0,
						"min": -1,
						"max": 1,
						"resolution": 2,
						"resetvalue": 0,
						"resetcaption": "Réinitialisation",
						"continuous_update": true
					}
				},
				{
					"type": "triplecompactslider",
					"settings": {
						"title": "Gains du PID",
						"ST1variable": "datasources[\"ws\"][\"Kp_2\"]",
						"ST1variablename": "Kp",
						"ST1initialvalue": 7,
						"ST1min": 2,
						"ST1max": 10,
						"ST1resolution": 2,
						"ST1resetvalue": 7,
						"ST1resetcaption": "Réinitialisation",
						"ST2variable": "datasources[\"ws\"][\"Ki_2\"]",
						"ST2variablename": "Ki",
						"ST2initialvalue": 50,
						"ST2min": 0,
						"ST2max": 80,
						"ST2resolution": 1,
						"ST2resetvalue": 200,
						"ST2resetcaption": "Réinitialisation",
						"ST3variable": "datasources[\"ws\"][\"Kd_2\"]",
						"ST3variablename": "Kd",
						"ST3initialvalue": 0,
						"ST3min": 0,
						"ST3max": 1,
						"ST3resolution": 2,
						"ST3resetvalue": 0,
						"ST3resetcaption": "Réinitialisation"
					}
				}
			]
		},
		{
			"title": "Essai 3",
			"width": 1,
			"row": {
				"3": 35,
				"4": 15,
				"5": 19,
				"6": 19
			},
			"col": {
				"3": 3,
				"4": 4,
				"5": 3,
				"6": 3
			},
			"col_width": 1,
			"widgets": [
				{
					"type": "switchbutton",
					"settings": {
						"title": "Exécution possible si durée non infinie",
						"variable": [
							"datasources[\"ws\"][\"onoff_3\"]",
							"datasources[\"loc\"][\"onoff_3\"]"
						],
						"yestext": "ON",
						"yesvalue": "1",
						"notext": "OFF",
						"novalue": "0",
						"initialstate": false,
						"variablestateoff": "if (datasources[\"loc\"][\"onoff\"] == 1) {\n    return 1;\n}\nelse {\n    if (datasources[\"ws\"][\"switchoff_3\"] == 1) {\n    \treturn 1;\n    }\n    else{\n        return 0;\n    }\n}",
						"disable_variable": "if ((datasources[\"loc\"][\"onoff_1\"] == 1) || (datasources[\"loc\"][\"onoff_2\"] == 1) || (datasources[\"ws\"][\"essai1fini\"] == 0) || (datasources[\"ws\"][\"essai3fini\"] == 1) || (datasources[\"ws\"][\"essai2fini\"] == 0) || (datasources[\"loc\"][\"duree\"] == 0) || (datasources[\"ws\"][\"initPosOK\"] != 1)) {\n\treturn 1;\n}",
						"re_enable_variable": "if (datasources[\"loc\"][\"onoff_3\"] == 1) {\n    return 1;\n}\nif ((datasources[\"loc\"][\"onoff_1\"] == 0) && (datasources[\"loc\"][\"onoff_2\"] == 0) && (datasources[\"ws\"][\"essai1fini\"] == 1) && (datasources[\"ws\"][\"essai3fini\"] == 0) && (datasources[\"ws\"][\"essai2fini\"] == 1) && (datasources[\"loc\"][\"duree\"] > 0) && (datasources[\"ws\"][\"initPosOK\"] == 1)) {\n    return 1;\n}",
						"switch_off_on_disable": false,
						"state_text": "if (datasources[\"ws\"][\"essai3fini\"] == 1) {\n    return \"Exécution essai3 terminée\";\n}\nelse {\n    return \"\";\n}",
						"text_aside": true,
						"refresh_iframes": false,
						"height": 1
					}
				},
				{
					"type": "slider",
					"settings": {
						"title": "Consigne moteur pan (rad/s)",
						"variable": "datasources[\"ws\"][\"amplitude_3\"]",
						"initialvalue": 0,
						"min": -1,
						"max": 1,
						"resolution": 2,
						"resetvalue": 0,
						"resetcaption": "Réinitialisation",
						"continuous_update": true
					}
				},
				{
					"type": "triplecompactslider",
					"settings": {
						"title": "Gains du PID",
						"ST1variable": "datasources[\"ws\"][\"Kp_3\"]",
						"ST1variablename": "Kp",
						"ST1initialvalue": 7,
						"ST1min": 2,
						"ST1max": 10,
						"ST1resolution": 2,
						"ST1resetvalue": 7,
						"ST1resetcaption": "Réinitialisation",
						"ST2variable": "datasources[\"ws\"][\"Ki_3\"]",
						"ST2variablename": "Ki",
						"ST2initialvalue": 50,
						"ST2min": 0,
						"ST2max": 80,
						"ST2resolution": 1,
						"ST2resetvalue": 50,
						"ST2resetcaption": "Réinitialisation",
						"ST3variable": "datasources[\"ws\"][\"Kd_3\"]",
						"ST3variablename": "Kd",
						"ST3initialvalue": 0,
						"ST3min": 0,
						"ST3max": 1,
						"ST3resolution": 2,
						"ST3resetvalue": 0,
						"ST3resetcaption": "Réinitialisation"
					}
				}
			]
		},
		{
			"title": "Essai 1",
			"width": 1,
			"row": {
				"3": 52,
				"4": 15,
				"5": 19,
				"6": 19
			},
			"col": {
				"3": 3,
				"4": 2,
				"5": 1,
				"6": 1
			},
			"col_width": 1,
			"widgets": [
				{
					"type": "switchbutton",
					"settings": {
						"title": "Exécution possible quelque soit la durée",
						"variable": [
							"datasources[\"ws\"][\"onoff_1\"]",
							"datasources[\"loc\"][\"onoff_1\"]"
						],
						"yestext": "ON",
						"yesvalue": "1",
						"notext": "OFF",
						"novalue": "0",
						"initialstate": false,
						"variablestateoff": "if (datasources[\"loc\"][\"onoff\"] == 1) {\n    return 1;\n}\nelse {\n    if (datasources[\"ws\"][\"switchoff_1\"] == 1) {\n    \treturn 1;\n    }\n    else{\n        return 0;\n    }\n}",
						"disable_variable": "if ((datasources[\"ws\"][\"initOK\"] != 1) || (datasources[\"loc\"][\"onoff\"] == 1) || (datasources[\"loc\"][\"onoff_2\"] == 1) || (datasources[\"loc\"][\"onoff_3\"] == 1) || (datasources[\"ws\"][\"initPosOK\"] != 1)) {\n    return 1;\n}",
						"re_enable_variable": "if (datasources[\"loc\"][\"onoff_1\"] == 1) {\n    return 1;\n}\nif ((datasources[\"ws\"][\"initOK\"] == 1) && (datasources[\"loc\"][\"onoff\"] == 0) && (datasources[\"loc\"][\"onoff_2\"] == 0) && (datasources[\"loc\"][\"onoff_3\"] == 0) && (datasources[\"ws\"][\"initPosOK\"] == 1)) {\n    return 1;\n}",
						"switch_off_on_disable": false,
						"state_text": "if (datasources[\"ws\"][\"essai1fini\"] == 1) {\n    return \"Exécution essai1 terminée\";\n}\nelse {\n    return \"\";\n}",
						"text_aside": true,
						"refresh_iframes": false,
						"height": 1
					}
				},
				{
					"type": "slider",
					"settings": {
						"title": "Consigne moteur pan (rad/s)",
						"variable": "datasources[\"ws\"][\"amplitude_1\"]",
						"initialvalue": 0,
						"min": -1,
						"max": 1,
						"resolution": 2,
						"resetvalue": 0,
						"resetcaption": "Réinitialisation",
						"continuous_update": true
					}
				},
				{
					"type": "triplecompactslider",
					"settings": {
						"title": "Gains du PID",
						"ST1variable": "datasources[\"ws\"][\"Kp_1\"]",
						"ST1variablename": "Kp",
						"ST1initialvalue": 7,
						"ST1min": 2,
						"ST1max": 10,
						"ST1resolution": 2,
						"ST1resetvalue": 7,
						"ST1resetcaption": "Réinitialisation",
						"ST2variable": "datasources[\"ws\"][\"Ki_1\"]",
						"ST2variablename": "Ki",
						"ST2initialvalue": 50,
						"ST2min": 0,
						"ST2max": 80,
						"ST2resolution": 1,
						"ST2resetvalue": 50,
						"ST2resetcaption": "Réinitialisation",
						"ST3variable": "datasources[\"ws\"][\"Kd_1\"]",
						"ST3variablename": "Kd",
						"ST3initialvalue": 0,
						"ST3min": 0,
						"ST3max": 1,
						"ST3resolution": 2,
						"ST3resetvalue": 0,
						"ST3resetcaption": "Réinitialisation"
					}
				}
			]
		},
		{
			"title": "Tilt",
			"width": 1,
			"row": {
				"3": 35,
				"4": 17,
				"5": 1,
				"6": 1
			},
			"col": {
				"3": 1,
				"4": 1,
				"5": 5,
				"6": 5
			},
			"col_width": 1,
			"widgets": [
				{
					"type": "buttondouble",
					"settings": {
						"variable1": "datasources[\"ws\"][\"tilt_pos\"]",
						"variable2": "datasources[\"ws\"][\"tilt_neg\"]",
						"offvalue1": 0,
						"offvalue2": 0,
						"onvalue1": 1,
						"onvalue2": 1,
						"caption1": "Positif",
						"caption2": "Négatif"
					}
				}
			]
		},
		{
			"title": "Générateur de signal",
			"width": 1,
			"row": {
				"3": 52,
				"4": 21,
				"5": 5,
				"6": 5
			},
			"col": {
				"3": 2,
				"4": 1,
				"5": 5,
				"6": 5
			},
			"col_width": 1,
			"widgets": [
				{
					"type": "select",
					"settings": {
						"title": "Type de signal",
						"variable": "datasources[\"ws\"][\"typeSignal\"]",
						"listcaptions": "Echelon,Sinus,Trapèze",
						"listvalues": "0,1,2",
						"defaultvalue": "0"
					}
				},
				{
					"type": "compactslider",
					"settings": {
						"title": "",
						"SC1variable": "datasources[\"ws\"][\"frequence\"]",
						"SC1variablename": "Fréq: (Hz)",
						"SC1initialvalue": 0,
						"SC1min": 0,
						"SC1max": 5,
						"SC1resolution": 2,
						"SC1resetvalue": 0,
						"SC1resetcaption": "Réinitialisation"
					}
				},
				{
					"type": "textinput",
					"settings": {
						"title": "Durée (s). 0: infini (uniquement avec l'essai 1)",
						"variable": [
							"datasources[\"ws\"][\"duree\"]",
							"datasources[\"loc\"][\"duree\"]"
						],
						"initialvalue": "2",
						"min": 0,
						"max": 100,
						"resetvalue": "2",
						"resetcaption": "Réinitialisation",
						"must_be_numeric": true
					}
				}
			]
		}
	],
	"datasources": [
		{
			"name": "ws",
			"type": "websocket",
			"settings": {
				"host": "ws://127.0.0.1:9090/ws",
				"portisunique": false,
				"variables_to_send": "duree,onoff_1,onoff_2,onoff_3,typeSignal,frequence,Kp_1,Ki_1,Kd_1,amplitude_1,Kp_2,Ki_2,Kd_2,amplitude_2,Kp_3,Ki_3,Kd_3,amplitude_3,tilt_pos,tilt_neg,initPos,thetaref,apionoff,J,K,R,d,Tstat,Ms,modeAPI",
				"refresh_rate": "100",
				"checksum": "sum",
				"variable1": "datasources[\"ws\"][\"modeAPI\"]",
				"value1": "0",
				"switchoff_variable1": "0"
			}
		},
		{
			"name": "loc",
			"type": "local",
			"settings": {
				"variables": "onoff,onoff_1,onoff_2,onoff_3,duree,simulation",
				"refresh_rate": 100
			}
		}
	],
	"columns": 4
}