Files
kou_zhaoxielou_shandong/口罩泄露定制款/Modbus/Connect_TSI.cs
2026-01-16 20:53:33 +08:00

128 lines
3.9 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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();
}
}
}
}
}