⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pidtrainer.java

📁 用java编写的PID演示程序
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		lerrEdit.setTabIndex(8);
		lerrEdit.setText("");
		lerrEdit.setReadOnly(true);

		intgEdit.setBackColor(Color.INACTIVECAPTIONTEXT);
		intgEdit.setLocation(new Point(32, 112));
		intgEdit.setSize(new Point(58, 20));
		intgEdit.setTabIndex(9);
		intgEdit.setText("");
		intgEdit.setReadOnly(true);

		label11.setLocation(new Point(8, 88));
		label11.setSize(new Point(24, 16));
		label11.setTabIndex(4);
		label11.setTabStop(false);
		label11.setText("lerr");

		label12.setLocation(new Point(8, 112));
		label12.setSize(new Point(24, 16));
		label12.setTabIndex(3);
		label12.setTabStop(false);
		label12.setText("intg");

		timeIndexBox.setLocation(new Point(134, 250)); //236
		timeIndexBox.setSize(new Point(131, 21));
		timeIndexBox.setTabIndex(12);
		timeIndexBox.setText("Select Speed");
		timeIndexBox.setItems(new Object[] {
							  "Slowest (Normal Time)", 
							  "Slower (10 X Time)", 
							  "Slow (100 X Time)", 
							  "Fast (1000 X Time)", 
							  "Faster (2500 X Time)", 
							  "Fastest (5000 X Time)"});
		timeIndexBox.addOnSelectedIndexChanged(new EventHandler(this.timeIndexBox_selectedIndexChanged));

		panel1.setEnabled(false);
		panel1.setLocation(new Point(31, 11));
		panel1.setSize(new Point(308, 204));
		panel1.setTabIndex(13);
		panel1.setText("panel1");
		panel1.setVisible(false);

		groupBox3.setLocation(new Point(518, 3));
		groupBox3.setSize(new Point(81, 141));
		groupBox3.setTabIndex(14);
		groupBox3.setTabStop(false);
		groupBox3.setText("I/O Lag (sec)");

		measurementLagEdit.setLocation(new Point(21, 32));
		measurementLagEdit.setSize(new Point(35, 20));
		measurementLagEdit.setTabIndex(2);
		measurementLagEdit.setText("0");
		measurementLagEdit.addOnTextChanged(new EventHandler(this.measurementLagEdit_textChanged));

		label13.setLocation(new Point(6, 15));
		label13.setSize(new Point(71, 15));
		label13.setTabIndex(3);
		label13.setTabStop(false);
		label13.setText("Measurement");

		deadTimeEdit.setLocation(new Point(21, 76));
		deadTimeEdit.setSize(new Point(35, 20));
		deadTimeEdit.setTabIndex(0);
		deadTimeEdit.setText("0");
		deadTimeEdit.addOnTextChanged(new EventHandler(this.deadTimeEdit_textChanged));

		label14.setLocation(new Point(6, 61));
		label14.setSize(new Point(60, 15));
		label14.setTabIndex(1);
		label14.setTabStop(false);
		label14.setText("Dead Time");

		pidButton.setFont(new Font("MS Sans Serif", 16.0f, FontSize.CHARACTERHEIGHT, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0));
		pidButton.setLocation(new Point(409, 147));
		pidButton.setSize(new Point(190, 40));
		pidButton.setTabIndex(7);
		pidButton.setText("Apply");
		pidButton.addOnClick(new EventHandler(this.pidButton_click));

		groupBox4.setBackColor(Color.CONTROL);
		groupBox4.setForeColor(Color.CONTROLTEXT);
		groupBox4.setLocation(new Point(3, 250)); //234
		groupBox4.setSize(new Point(58, 88));
		groupBox4.setTabIndex(15);
		groupBox4.setTabStop(false);
		groupBox4.setText("Legend");

		label15.setBackColor(Color.CONTROLDARKDARK);
		label15.setFont(new Font("MS Sans Serif", 8.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0));
		label15.setForeColor(Color.BLUE);
		label15.setLocation(new Point(9, 31));
		label15.setSize(new Point(40, 16));
		label15.setTabIndex(0);
		label15.setTabStop(false);
		label15.setText("TE_10");

		label16.setBackColor(Color.CONTROLDARKDARK);
		label16.setFont(new Font("MS Sans Serif", 8.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0));
		label16.setForeColor(Color.WHITE);
		label16.setLocation(new Point(9, 15));
		label16.setSize(new Point(40, 16));
		label16.setTabIndex(1);
		label16.setTabStop(false);
		label16.setText("OAT");

		label17.setBackColor(Color.CONTROLDARKDARK);
		label17.setFont(new Font("MS Sans Serif", 8.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0));
		label17.setForeColor(Color.GRAY);
		label17.setLocation(new Point(9, 47));
		label17.setSize(new Point(40, 16));
		label17.setTabIndex(3);
		label17.setTabStop(false);
		label17.setText("Stpt10");

		label18.setBackColor(Color.CONTROLDARKDARK);
		label18.setFont(new Font("MS Sans Serif", 8.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0));
		label18.setForeColor(Color.RED);
		label18.setLocation(new Point(9, 62));
		label18.setSize(new Point(40, 16));
		label18.setTabIndex(2);
		label18.setTabStop(false);
		label18.setText("Load");

		label19.setLocation(new Point(66, 238));
		label19.setSize(new Point(61, 18));
		label19.setTabIndex(16);
		label19.setTabStop(false);
		label19.setText("Time Factor");
		label19.setTextAlign(HorizontalAlignment.RIGHT);

		styleGroup.setLocation(new Point(67, 259));
		styleGroup.setSize(new Point(120, 62));
		styleGroup.setTabIndex(17);
		styleGroup.setTabStop(false);
		styleGroup.setText("Load Signal");

		powerGroup.setLocation(new Point(193, 259));
		powerGroup.setSize(new Point(115, 63));
		powerGroup.setTabIndex(18);
		powerGroup.setTabStop(false);
		powerGroup.setText("Load Power");

		squareCheckBox.setLocation(new Point(10, 16));
		squareCheckBox.setSize(new Point(58, 21));
		squareCheckBox.setTabIndex(1);
		squareCheckBox.setTabStop(true);
		squareCheckBox.setText("Square");
		squareCheckBox.setChecked(true);
		squareCheckBox.addOnCheckedChanged(new EventHandler(this.squareCheckBox_checkedChanged));

		sineCheckBox.setLocation(new Point(9, 39));
		sineCheckBox.setSize(new Point(61, 21));
		sineCheckBox.setTabIndex(0);
		sineCheckBox.setText("Sine (+)");
		sineCheckBox.addOnCheckedChanged(new EventHandler(this.squareCheckBox_checkedChanged));

		offCheckBox.setForeColor(Color.RED);
		offCheckBox.setLocation(new Point(12, 17));
		offCheckBox.setSize(new Point(41, 21));
		offCheckBox.setTabIndex(3);
		offCheckBox.setTabStop(true);
		offCheckBox.setText("Off");
		offCheckBox.setChecked(true);
		offCheckBox.addOnCheckedChanged(new EventHandler(this.offCheckBox_checkedChanged));

		lowCheckBox.setLocation(new Point(12, 36));
		lowCheckBox.setSize(new Point(41, 21));
		lowCheckBox.setTabIndex(2);
		lowCheckBox.setText("Low");
		lowCheckBox.addOnCheckedChanged(new EventHandler(this.offCheckBox_checkedChanged));

		medCheckBox.setLocation(new Point(62, 17));
		medCheckBox.setSize(new Point(41, 21));
		medCheckBox.setTabIndex(1);
		medCheckBox.setText("Med");
		medCheckBox.addOnCheckedChanged(new EventHandler(this.offCheckBox_checkedChanged));

		highCheckBox.setLocation(new Point(62, 36));
		highCheckBox.setSize(new Point(41, 21));
		highCheckBox.setTabIndex(0);
		highCheckBox.setText("High");
		highCheckBox.addOnCheckedChanged(new EventHandler(this.offCheckBox_checkedChanged));

		hurtzGroup.setLocation(new Point(316, 259));
		hurtzGroup.setSize(new Point(88, 62));
		hurtzGroup.setTabIndex(19);
		hurtzGroup.setTabStop(false);
		hurtzGroup.setText("Load Hz / Day");

		hurtzEdit.setLocation(new Point(11, 23));
		hurtzEdit.setSize(new Point(67, 20));
		hurtzEdit.setTabIndex(0);
		hurtzEdit.setText("10");
		hurtzEdit.addOnTextChanged(new EventHandler(this.hurtzEdit_textChanged));

		menuItem1.setDefault(true);
		menuItem1.setEnabled(false);
		menuItem1.setText("File");
		menuItem1.setVisible(false);

		menuItem2.setDefault(true);
		menuItem2.setEnabled(false);
		menuItem2.setText("About");
		menuItem2.setVisible(false);

		mainMenu1.setMenuItems(new MenuItem[] {
							   menuItem1, 
							   menuItem2});
		/* @designTimeOnly mainMenu1.setLocation(new Point(156, 20)); */

		this.setText("PID - Trainer");
		this.setAutoScaleBaseSize(new Point(5, 13));
		this.setClientSize(new Point(600, 403));
		this.setIcon((Icon)resources.getObject("this_icon"));
		this.setMenu(mainMenu1);

		onCheckBox.setLocation(new Point(80, 16));
		onCheckBox.setSize(new Point(32, 23));
		onCheckBox.setTabIndex(2);
		onCheckBox.setText("On");
		onCheckBox.addOnCheckedChanged(new EventHandler(this.squareCheckBox_checkedChanged));

		pidResults.setFont(new Font("MS Sans Serif", 11.0f, FontSize.CHARACTERHEIGHT, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0));
		pidResults.setLocation(new Point(410, 196));
		pidResults.setSize(new Point(189, 111));
		pidResults.setTabIndex(20);
		pidResults.setTabStop(false);
		pidResults.setText("PID RESULTS (Filtered)");

		pEdit.setBackColor(Color.ACTIVECAPTION);
		pEdit.setFont(Font.DEFAULT_GUI);
		pEdit.setForeColor(Color.ACTIVECAPTIONTEXT);
		pEdit.setLocation(new Point(78, 40));
		pEdit.setSize(new Point(100, 20));
		pEdit.setTabIndex(2);
		pEdit.setText("");
		pEdit.setReadOnly(true);

		label20.setFont(Font.DEFAULT_GUI);
		label20.setLocation(new Point(13, 18));
		label20.setSize(new Point(170, 16));
		label20.setTabIndex(6);
		label20.setTabStop(false);
		label20.setText("Contributions from PID Terms");

		iEdit.setBackColor(Color.ACTIVECAPTION);
		iEdit.setFont(Font.DEFAULT_GUI);
		iEdit.setForeColor(Color.ACTIVECAPTIONTEXT);
		iEdit.setLocation(new Point(78, 64));
		iEdit.setSize(new Point(100, 20));
		iEdit.setTabIndex(1);
		iEdit.setText("");
		iEdit.setReadOnly(true);

		dEdit.setBackColor(Color.ACTIVECAPTION);
		dEdit.setFont(Font.DEFAULT_GUI);
		dEdit.setForeColor(Color.ACTIVECAPTIONTEXT);
		dEdit.setLocation(new Point(78, 86));
		dEdit.setSize(new Point(100, 20));
		dEdit.setTabIndex(0);
		dEdit.setText("");
		dEdit.setReadOnly(true);

		label21.setFont(Font.DEFAULT_GUI);
		label21.setLocation(new Point(6, 43));
		label21.setSize(new Point(68, 16));
		label21.setTabIndex(5);
		label21.setTabStop(false);
		label21.setText("P term adds:");
		label21.setTextAlign(HorizontalAlignment.RIGHT);

		label22.setFont(Font.DEFAULT_GUI);
		label22.setLocation(new Point(6, 64));
		label22.setSize(new Point(68, 16));
		label22.setTabIndex(4);
		label22.setTabStop(false);
		label22.setText("I term adds:");
		label22.setTextAlign(HorizontalAlignment.RIGHT);

		label23.setFont(Font.DEFAULT_GUI);
		label23.setLocation(new Point(6, 89));
		label23.setSize(new Point(68, 16));
		label23.setTabIndex(3);
		label23.setTabStop(false);
		label23.setText("D term adds:");
		label23.setTextAlign(HorizontalAlignment.RIGHT);

		madeSetpointLabel.setFont(new Font("MS Sans Serif", 11.0f, FontSize.CHARACTERHEIGHT, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0));
		madeSetpointLabel.setForeColor(new Color(0, 192, 0));
		madeSetpointLabel.setLocation(new Point(269, 233));
		madeSetpointLabel.setSize(new Point(62, 28));
		madeSetpointLabel.setTabIndex(21);
		madeSetpointLabel.setTabStop(false);
		madeSetpointLabel.setText("Made Setpoint");
		madeSetpointLabel.setVisible(false);
		madeSetpointLabel.setTextAlign(HorizontalAlignment.CENTER);

		highEdit.setLocation(new Point(6, 10));
		highEdit.setSize(new Point(24, 20));
		highEdit.setTabIndex(24);
		highEdit.setText("");

		lowEdit.setAnchor(ControlAnchor.BOTTOMLEFT);
		lowEdit.setLocation(new Point(6, 284));
		lowEdit.setSize(new Point(24, 20));
		lowEdit.setTabIndex(23);
		lowEdit.setText("");

		outputEdit.setAnchor(ControlAnchor.TOPRIGHT);
		outputEdit.setBackColor(Color.INACTIVECAPTIONTEXT);
		outputEdit.setLocation(new Point(339, 248));
		outputEdit.setSize(new Point(63, 20));
		outputEdit.setTabIndex(22);
		outputEdit.setText("");
		outputEdit.setReadOnly(true);

		this.setNewControls(new Control[] {
							outputEdit, 
							lowEdit, 
							highEdit, 
							madeSetpointLabel, 
							pidResults, 
							hurtzGroup, 
							powerGroup, 
							styleGroup, 
							label19, 
							groupBox4, 
							pidButton, 
							groupBox3, 
							panel1, 
							timeIndexBox, 
							labelD, 
							labelB, 
							labelC, 
							labelA, 
							groupBox2, 
							outputState, 
							label3, 
							label2, 
							label1, 
							outputBar, 
							groupBox1});
		groupBox1.setNewControls(new Control[] {
								 infoEdit});
		groupBox2.setNewControls(new Control[] {
								 label12, 
								 label11, 
								 intgEdit, 
								 lerrEdit, 
								 label5, 
								 label4, 
								 Kp, 
								 kdEdit, 
								 kiEdit, 
								 kpEdit});
		groupBox3.setNewControls(new Control[] {
								 label14, 
								 deadTimeEdit, 
								 label13, 
								 measurementLagEdit});
		groupBox4.setNewControls(new Control[] {
								 label18, 
								 label17, 
								 label16, 
								 label15});
		styleGroup.setNewControls(new Control[] {
								  onCheckBox, 
								  sineCheckBox, 
								  squareCheckBox});
		powerGroup.setNewControls(new Control[] {
								  highCheckBox, 
								  medCheckBox, 
								  lowCheckBox, 
								  offCheckBox});
		hurtzGroup.setNewControls(new Control[] {
								  hurtzEdit});
		pidResults.setNewControls(new Control[] {
								  label23, 
								  label22, 
								  label21, 
								  dEdit, 
								  iEdit, 
								  label20, 
								  pEdit});
	}

	/**
	 * The main entry point for the application. 
	 *
	 * @param args Array of parameters passed to the application
	 * via the command line.
	 */
	public static void main(String args[])
	{
		Application.run(new PIDTrainer());
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -