Files
kou_zhaoxielou_shandong/口罩泄露定制款/Modbus/Connect_TSI.cs

128 lines
3.9 KiB
C#
Raw Normal View History

2026-01-16 20:53:33 +08:00
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();
}
}
}
}
}