using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using DCON_PC_DOTNET; namespace DO { /// /// Form1 的摘要描述。 /// public class Form1 : System.Windows.Forms.Form { private System.Windows.Forms.TextBox textAddress; private System.Windows.Forms.Label label11; private System.Windows.Forms.TextBox textTotalChannel; private System.Windows.Forms.Label label6; private System.Windows.Forms.TextBox textTimeout; private System.Windows.Forms.TextBox textChecksum; private System.Windows.Forms.TextBox textSlot; private System.Windows.Forms.TextBox textBaudrate; private System.Windows.Forms.TextBox textComport; private System.Windows.Forms.Label label5; private System.Windows.Forms.Label label4; private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label1; private System.Windows.Forms.GroupBox groupBox2; private System.Windows.Forms.Button Open_Com; private System.Windows.Forms.Button Close_Com; private System.Windows.Forms.TextBox textDOValue; private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.Button Write_DO_All; private System.Windows.Forms.Button DO_Bit; private System.Windows.Forms.Label label7; private System.Windows.Forms.Label label8; private System.Windows.Forms.GroupBox groupBox3; private System.Windows.Forms.TextBox textChannelNum; private System.Windows.Forms.TextBox textState; private System.Windows.Forms.Button Read_DO; private System.Windows.Forms.TextBox textReadValue; private System.Windows.Forms.GroupBox groupBox4; private System.Windows.Forms.Button Read_DO_Bit; private System.Windows.Forms.TextBox textReadChannel; private System.Windows.Forms.Label label9; private System.Windows.Forms.TextBox textReadState; private System.Windows.Forms.Label label10; private System.Windows.Forms.GroupBox groupBox5; /// /// 設計工具所需的變數。 /// private System.ComponentModel.Container components = null; public Form1() { // // Windows Form 設計工具支援的必要項 // InitializeComponent(); // // TODO: 在 InitializeComponent 呼叫之後加入任何建構函式程式碼 // } /// /// 清除任何使用中的資源。 /// protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form 設計工具產生的程式碼 /// /// 此為設計工具支援所必須的方法 - 請勿使用程式碼編輯器修改 /// 這個方法的內容。 /// private void InitializeComponent() { this.textAddress = new System.Windows.Forms.TextBox(); this.label11 = new System.Windows.Forms.Label(); this.textTotalChannel = new System.Windows.Forms.TextBox(); this.label6 = new System.Windows.Forms.Label(); this.textTimeout = new System.Windows.Forms.TextBox(); this.textChecksum = new System.Windows.Forms.TextBox(); this.textSlot = new System.Windows.Forms.TextBox(); this.textBaudrate = new System.Windows.Forms.TextBox(); this.textComport = new System.Windows.Forms.TextBox(); this.label5 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label(); this.groupBox2 = new System.Windows.Forms.GroupBox(); this.Open_Com = new System.Windows.Forms.Button(); this.Close_Com = new System.Windows.Forms.Button(); this.textDOValue = new System.Windows.Forms.TextBox(); this.Write_DO_All = new System.Windows.Forms.Button(); this.groupBox1 = new System.Windows.Forms.GroupBox(); this.textChannelNum = new System.Windows.Forms.TextBox(); this.textState = new System.Windows.Forms.TextBox(); this.DO_Bit = new System.Windows.Forms.Button(); this.label7 = new System.Windows.Forms.Label(); this.label8 = new System.Windows.Forms.Label(); this.groupBox3 = new System.Windows.Forms.GroupBox(); this.textReadValue = new System.Windows.Forms.TextBox(); this.Read_DO = new System.Windows.Forms.Button(); this.groupBox4 = new System.Windows.Forms.GroupBox(); this.Read_DO_Bit = new System.Windows.Forms.Button(); this.textReadChannel = new System.Windows.Forms.TextBox(); this.label9 = new System.Windows.Forms.Label(); this.textReadState = new System.Windows.Forms.TextBox(); this.label10 = new System.Windows.Forms.Label(); this.groupBox5 = new System.Windows.Forms.GroupBox(); this.SuspendLayout(); // // textAddress // this.textAddress.Location = new System.Drawing.Point(80, 64); this.textAddress.Name = "textAddress"; this.textAddress.Size = new System.Drawing.Size(72, 22); this.textAddress.TabIndex = 48; this.textAddress.Text = "1"; // // label11 // this.label11.Location = new System.Drawing.Point(24, 64); this.label11.Name = "label11"; this.label11.Size = new System.Drawing.Size(48, 16); this.label11.TabIndex = 47; this.label11.Text = "Address"; // // textTotalChannel // this.textTotalChannel.Location = new System.Drawing.Point(80, 232); this.textTotalChannel.Name = "textTotalChannel"; this.textTotalChannel.Size = new System.Drawing.Size(72, 22); this.textTotalChannel.TabIndex = 46; this.textTotalChannel.Text = "16"; // // label6 // this.label6.Location = new System.Drawing.Point(24, 232); this.label6.Name = "label6"; this.label6.Size = new System.Drawing.Size(48, 24); this.label6.TabIndex = 45; this.label6.Text = "Total Channel"; // // textTimeout // this.textTimeout.Location = new System.Drawing.Point(80, 200); this.textTimeout.Name = "textTimeout"; this.textTimeout.Size = new System.Drawing.Size(72, 22); this.textTimeout.TabIndex = 44; this.textTimeout.Text = "100"; // // textChecksum // this.textChecksum.Location = new System.Drawing.Point(80, 168); this.textChecksum.Name = "textChecksum"; this.textChecksum.Size = new System.Drawing.Size(72, 22); this.textChecksum.TabIndex = 43; this.textChecksum.Text = "0"; // // textSlot // this.textSlot.Location = new System.Drawing.Point(80, 136); this.textSlot.Name = "textSlot"; this.textSlot.Size = new System.Drawing.Size(72, 22); this.textSlot.TabIndex = 42; this.textSlot.Text = "-1"; // // textBaudrate // this.textBaudrate.Location = new System.Drawing.Point(80, 96); this.textBaudrate.Name = "textBaudrate"; this.textBaudrate.Size = new System.Drawing.Size(72, 22); this.textBaudrate.TabIndex = 41; this.textBaudrate.Text = "9600"; // // textComport // this.textComport.Location = new System.Drawing.Point(80, 32); this.textComport.Name = "textComport"; this.textComport.Size = new System.Drawing.Size(72, 22); this.textComport.TabIndex = 40; this.textComport.Text = "1"; // // label5 // this.label5.Location = new System.Drawing.Point(24, 208); this.label5.Name = "label5"; this.label5.Size = new System.Drawing.Size(48, 16); this.label5.TabIndex = 39; this.label5.Text = "Timeout"; // // label4 // this.label4.Location = new System.Drawing.Point(16, 176); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(56, 16); this.label4.TabIndex = 38; this.label4.Text = "CheckSum"; // // label3 // this.label3.Location = new System.Drawing.Point(32, 144); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(24, 16); this.label3.TabIndex = 37; this.label3.Text = "Slot"; // // label2 // this.label2.Location = new System.Drawing.Point(24, 104); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(64, 16); this.label2.TabIndex = 36; this.label2.Text = "Baudrate"; // // label1 // this.label1.Location = new System.Drawing.Point(24, 32); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(48, 16); this.label1.TabIndex = 35; this.label1.Text = "ComPort"; // // groupBox2 // this.groupBox2.Location = new System.Drawing.Point(8, 8); this.groupBox2.Name = "groupBox2"; this.groupBox2.Size = new System.Drawing.Size(160, 256); this.groupBox2.TabIndex = 49; this.groupBox2.TabStop = false; this.groupBox2.Text = "Setting"; // // Open_Com // this.Open_Com.Location = new System.Drawing.Point(96, 272); this.Open_Com.Name = "Open_Com"; this.Open_Com.Size = new System.Drawing.Size(80, 32); this.Open_Com.TabIndex = 50; this.Open_Com.Text = "Open Com"; this.Open_Com.Click += new System.EventHandler(this.Open_Com_Click); // // Close_Com // this.Close_Com.Location = new System.Drawing.Point(232, 272); this.Close_Com.Name = "Close_Com"; this.Close_Com.Size = new System.Drawing.Size(80, 32); this.Close_Com.TabIndex = 51; this.Close_Com.Text = "Close Com"; this.Close_Com.Click += new System.EventHandler(this.Close_Com_Click); // // textDOValue // this.textDOValue.Location = new System.Drawing.Point(195, 32); this.textDOValue.Name = "textDOValue"; this.textDOValue.Size = new System.Drawing.Size(72, 22); this.textDOValue.TabIndex = 52; this.textDOValue.Text = "0"; // // Write_DO_All // this.Write_DO_All.Location = new System.Drawing.Point(195, 64); this.Write_DO_All.Name = "Write_DO_All"; this.Write_DO_All.Size = new System.Drawing.Size(72, 24); this.Write_DO_All.TabIndex = 53; this.Write_DO_All.Text = "Write DO"; this.Write_DO_All.Click += new System.EventHandler(this.button1_Click); // // groupBox1 // this.groupBox1.Location = new System.Drawing.Point(176, 8); this.groupBox1.Name = "groupBox1"; this.groupBox1.Size = new System.Drawing.Size(104, 96); this.groupBox1.TabIndex = 54; this.groupBox1.TabStop = false; this.groupBox1.Text = "DO Value"; // // textChannelNum // this.textChannelNum.Location = new System.Drawing.Point(232, 128); this.textChannelNum.Name = "textChannelNum"; this.textChannelNum.Size = new System.Drawing.Size(40, 22); this.textChannelNum.TabIndex = 55; this.textChannelNum.Text = "0"; // // textState // this.textState.Location = new System.Drawing.Point(232, 160); this.textState.Name = "textState"; this.textState.Size = new System.Drawing.Size(40, 22); this.textState.TabIndex = 56; this.textState.Text = "false"; // // DO_Bit // this.DO_Bit.Location = new System.Drawing.Point(192, 200); this.DO_Bit.Name = "DO_Bit"; this.DO_Bit.Size = new System.Drawing.Size(72, 48); this.DO_Bit.TabIndex = 57; this.DO_Bit.Text = "Write DO Bit"; this.DO_Bit.Click += new System.EventHandler(this.DO_Bit_Click); // // label7 // this.label7.Location = new System.Drawing.Point(184, 136); this.label7.Name = "label7"; this.label7.Size = new System.Drawing.Size(48, 16); this.label7.TabIndex = 58; this.label7.Text = "Channel"; // // label8 // this.label8.Location = new System.Drawing.Point(200, 160); this.label8.Name = "label8"; this.label8.Size = new System.Drawing.Size(32, 16); this.label8.TabIndex = 59; this.label8.Text = "State"; // // groupBox3 // this.groupBox3.Location = new System.Drawing.Point(176, 104); this.groupBox3.Name = "groupBox3"; this.groupBox3.Size = new System.Drawing.Size(104, 160); this.groupBox3.TabIndex = 60; this.groupBox3.TabStop = false; this.groupBox3.Text = "DO Bit"; // // textReadValue // this.textReadValue.Location = new System.Drawing.Point(304, 32); this.textReadValue.Name = "textReadValue"; this.textReadValue.Size = new System.Drawing.Size(64, 22); this.textReadValue.TabIndex = 61; this.textReadValue.Text = ""; // // Read_DO // this.Read_DO.Location = new System.Drawing.Point(304, 64); this.Read_DO.Name = "Read_DO"; this.Read_DO.Size = new System.Drawing.Size(64, 32); this.Read_DO.TabIndex = 62; this.Read_DO.Text = "Read DO"; this.Read_DO.Click += new System.EventHandler(this.Read_DO_Click); // // groupBox4 // this.groupBox4.Location = new System.Drawing.Point(288, 8); this.groupBox4.Name = "groupBox4"; this.groupBox4.Size = new System.Drawing.Size(104, 96); this.groupBox4.TabIndex = 63; this.groupBox4.TabStop = false; this.groupBox4.Text = "Read DO"; // // Read_DO_Bit // this.Read_DO_Bit.Location = new System.Drawing.Point(304, 168); this.Read_DO_Bit.Name = "Read_DO_Bit"; this.Read_DO_Bit.Size = new System.Drawing.Size(72, 40); this.Read_DO_Bit.TabIndex = 64; this.Read_DO_Bit.Text = "Read DO Bit"; this.Read_DO_Bit.Click += new System.EventHandler(this.button1_Click_1); // // textReadChannel // this.textReadChannel.Location = new System.Drawing.Point(344, 128); this.textReadChannel.Name = "textReadChannel"; this.textReadChannel.Size = new System.Drawing.Size(40, 22); this.textReadChannel.TabIndex = 65; this.textReadChannel.Text = ""; // // label9 // this.label9.Location = new System.Drawing.Point(296, 134); this.label9.Name = "label9"; this.label9.Size = new System.Drawing.Size(48, 24); this.label9.TabIndex = 66; this.label9.Text = "Channel"; // // textReadState // this.textReadState.Location = new System.Drawing.Point(344, 224); this.textReadState.Name = "textReadState"; this.textReadState.Size = new System.Drawing.Size(40, 22); this.textReadState.TabIndex = 67; this.textReadState.Text = ""; // // label10 // this.label10.Location = new System.Drawing.Point(304, 232); this.label10.Name = "label10"; this.label10.Size = new System.Drawing.Size(32, 16); this.label10.TabIndex = 68; this.label10.Text = "State"; // // groupBox5 // this.groupBox5.Location = new System.Drawing.Point(288, 104); this.groupBox5.Name = "groupBox5"; this.groupBox5.Size = new System.Drawing.Size(104, 160); this.groupBox5.TabIndex = 69; this.groupBox5.TabStop = false; this.groupBox5.Text = "Read DO Value"; // // Form1 // this.AutoScaleBaseSize = new System.Drawing.Size(5, 15); this.ClientSize = new System.Drawing.Size(400, 309); this.Controls.Add(this.label10); this.Controls.Add(this.textReadState); this.Controls.Add(this.label9); this.Controls.Add(this.textReadChannel); this.Controls.Add(this.Read_DO_Bit); this.Controls.Add(this.Read_DO); this.Controls.Add(this.textReadValue); this.Controls.Add(this.label8); this.Controls.Add(this.label7); this.Controls.Add(this.DO_Bit); this.Controls.Add(this.textState); this.Controls.Add(this.textChannelNum); this.Controls.Add(this.Write_DO_All); this.Controls.Add(this.textDOValue); this.Controls.Add(this.Close_Com); this.Controls.Add(this.Open_Com); this.Controls.Add(this.textAddress); this.Controls.Add(this.label11); this.Controls.Add(this.textTotalChannel); this.Controls.Add(this.label6); this.Controls.Add(this.textTimeout); this.Controls.Add(this.textChecksum); this.Controls.Add(this.textSlot); this.Controls.Add(this.textBaudrate); this.Controls.Add(this.textComport); this.Controls.Add(this.label5); this.Controls.Add(this.label4); this.Controls.Add(this.label3); this.Controls.Add(this.label2); this.Controls.Add(this.label1); this.Controls.Add(this.groupBox2); this.Controls.Add(this.groupBox1); this.Controls.Add(this.groupBox3); this.Controls.Add(this.groupBox4); this.Controls.Add(this.groupBox5); this.Name = "Form1"; this.Text = "Form1"; this.ResumeLayout(false); } #endregion /// /// 應用程式的主進入點。 /// [STAThread] static void Main() { Application.Run(new Form1()); } short iSlot,iTimeout,iTotalChannel,iAddress,bChecksum; byte iComport; uint iBaudrate; private void Open_Com_Click(object sender, System.EventArgs e) { short iRet; iComport=Convert.ToByte(textComport.Text); iAddress = Convert.ToInt16(textAddress.Text); iBaudrate=Convert.ToUInt32(textBaudrate.Text); iSlot=Convert.ToInt16(textSlot.Text); bChecksum=Convert.ToInt16(textChecksum.Text); iTimeout=Convert.ToInt16(textTimeout.Text); iTotalChannel=Convert.ToInt16(textTotalChannel.Text); iRet = DCON.UART.Open_Com(iComport, iBaudrate, 8, 0, 1); if (Convert.ToBoolean(iRet)) MessageBox.Show("ErrorCode " + Convert.ToString(iRet)); else MessageBox.Show("open com OK " + Convert.ToString(iRet)); } private void Close_Com_Click(object sender, System.EventArgs e) { DCON.UART.Close_Com(iComport); } private void button1_Click(object sender, System.EventArgs e) { short iRet; iRet=DCON.IO_Function.Write_DO(iComport,iAddress,iSlot,iTotalChannel,Convert.ToUInt32(textDOValue.Text,16),bChecksum,iTimeout); if(Convert.ToBoolean( iRet)) MessageBox.Show("ErrorCode " + Convert.ToString(iRet)); } private void DO_Bit_Click(object sender, System.EventArgs e) { short iRet; iRet=DCON.IO_Function.Write_DO_Bit(iComport,iAddress,iSlot,Convert.ToInt16(textChannelNum.Text),iTotalChannel,Convert.ToBoolean(textState.Text),bChecksum,iTimeout); if(Convert.ToBoolean( iRet)) MessageBox.Show("ErrorCode " + Convert.ToString(iRet)); } private void Read_DO_Click(object sender, System.EventArgs e) { uint DOValue; short iRet; iRet=DCON.IO_Function.Read_DO(iComport,iAddress,iSlot,iTotalChannel,bChecksum,iTimeout,out DOValue); if(Convert.ToBoolean( iRet)) MessageBox.Show("ErrorCode " + Convert.ToString(iRet)); else textReadValue.Text=Convert.ToString(DOValue,16); } private void button1_Click_1(object sender, System.EventArgs e) { bool iBit; short iRet; iRet=DCON.IO_Function.Read_DO_Bit(iComport,iAddress,iSlot,Convert.ToInt16(textReadChannel.Text),iTotalChannel,bChecksum,iTimeout,out iBit); if(Convert.ToBoolean( iRet)) MessageBox.Show("ErrorCode " + Convert.ToString(iRet)); else textReadState.Text=Convert.ToString(iBit); } } }