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();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|