128 lines
3.9 KiB
C#
128 lines
3.9 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.IO.Ports;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
using System.Windows.Forms;
|
||
|
||
namespace 口罩泄露定制款.Modbus
|
||
{
|
||
public class Connect_TSI
|
||
{
|
||
private SerialPort sp_Indoor;
|
||
private SerialPort sp_Outdoor;
|
||
private SerialPort sp_bendiPort;
|
||
static string _indoor_data = "0.00";
|
||
static string _outdoor_data = "0.00";
|
||
static string sp_bendi = "0.00";
|
||
public string Indoor_Data { get { return _indoor_data; } set { _indoor_data = value; } }
|
||
public string Outdoor_Data { get { return _outdoor_data; } set { _outdoor_data = value; } }
|
||
public string sp_bendiData { get { return sp_bendi; } set { sp_bendi = value; } }
|
||
|
||
public Connect_TSI(string ComPort_TSI_Indoor, string ComPort_TSI_Outdoor)
|
||
{
|
||
try
|
||
{
|
||
|
||
sp_Indoor = new SerialPort(ComPort_TSI_Indoor, 9600, Parity.None, 8, StopBits.One);
|
||
// 订阅DataReceived事件(可选,用于接收数据)
|
||
sp_Indoor.DataReceived += new SerialDataReceivedEventHandler(Sp_Indoor_DataReceived);
|
||
sp_Outdoor = new SerialPort(ComPort_TSI_Outdoor, 9600, Parity.None, 8, StopBits.One);
|
||
sp_Outdoor.DataReceived += new SerialDataReceivedEventHandler(Sp_Outdoor_DataReceived);
|
||
|
||
sp_bendiPort = new SerialPort(ComPort_TSI_Outdoor, 9600, Parity.None, 8, StopBits.One);
|
||
sp_bendiPort.DataReceived += new SerialDataReceivedEventHandler(Sp_bendi_DataReceived);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
MessageBox.Show(ex.Message);
|
||
}
|
||
}
|
||
private void Sp_Indoor_DataReceived(object sender, SerialDataReceivedEventArgs e)
|
||
{
|
||
Indoor_Data = sp_Indoor.ReadExisting().Trim();
|
||
sp_bendiData = Indoor_Data;
|
||
}
|
||
private void Sp_Outdoor_DataReceived(object sender, SerialDataReceivedEventArgs e)
|
||
{
|
||
Outdoor_Data = sp_Outdoor.ReadExisting().Trim();
|
||
}
|
||
private void Sp_bendi_DataReceived(object sender, SerialDataReceivedEventArgs e)
|
||
{
|
||
sp_bendiData = sp_bendiPort.ReadExisting().Trim();
|
||
}
|
||
|
||
public void Start_Indoor()
|
||
{
|
||
if (sp_Outdoor.IsOpen)
|
||
sp_Indoor.WriteLine("X");
|
||
}
|
||
public void Start_Outdoor()
|
||
{
|
||
if (sp_Outdoor.IsOpen)
|
||
sp_Outdoor.WriteLine("X");
|
||
}
|
||
|
||
|
||
public void Start_bendidoor()
|
||
{
|
||
if (sp_bendiPort.IsOpen)
|
||
sp_bendiPort.WriteLine("X");
|
||
}
|
||
|
||
|
||
public void Stop_Indoor()
|
||
{
|
||
if (sp_Outdoor.IsOpen)
|
||
sp_Indoor.WriteLine("Z");
|
||
}
|
||
public void Stop_Outdoor()
|
||
{
|
||
if (sp_Outdoor.IsOpen)
|
||
sp_Outdoor.WriteLine("Z");
|
||
}
|
||
public void Stop_bendidoor()
|
||
{
|
||
if (sp_bendiPort.IsOpen)
|
||
sp_bendiPort.WriteLine("Z");
|
||
}
|
||
|
||
|
||
|
||
public void Connect()
|
||
{
|
||
sp_Indoor.Open();
|
||
sp_Outdoor.Open();
|
||
//sp_bendiPort.Open();
|
||
//if (sp_Indoor != null && sp_Outdoor != null)
|
||
//{
|
||
// if (!sp_Indoor.IsOpen)
|
||
// {
|
||
// sp_Indoor.Open();
|
||
// }
|
||
// if (!sp_Outdoor.IsOpen)
|
||
// {
|
||
// sp_Outdoor.Open();
|
||
// }
|
||
|
||
//}
|
||
|
||
}
|
||
public void Disconnect()
|
||
{
|
||
if (sp_Indoor != null && sp_Outdoor != null)
|
||
{
|
||
if (sp_Indoor.IsOpen)
|
||
{
|
||
sp_Indoor.Close();
|
||
}
|
||
if (sp_Outdoor.IsOpen)
|
||
{
|
||
sp_Outdoor.Close();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|