巨石化纤
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.5 KiB

using S7.Net;
using System;
namespace SSWMS.Server
{
public class S7Net
{
private const int count1 = 1;
private static Plc plc1 = null;
private static byte[] bytesRead1 = new byte[count1];
public static void Read()
{
if (plc1 == null || !plc1.IsConnected)
{
if (plc1 == null)
{
plc1 = new Plc(CpuType.S71500, "192.168.0.1", 0, 1);
}
plc1.Open();
}
byte[] bytes1 = plc1.ReadBytes(DataType.DataBlock, 1, 0, count1);
//byte[] bytesA = new byte[count1];
//Array.Copy(bytes1, 0, bytesA, 0, count1);
Array.Copy(bytes1, bytesRead1, count1);
}
public static void Close()
{
if (plc1 != null)
{
if (plc1.IsConnected)
{
plc1.Close();
}
plc1 = null;
}
}
public static bool Write1(int startByteAdr, byte[] value, out string sResult)
{
sResult = string.Empty;
if (plc1 == null || !plc1.IsConnected)
{
sResult = "未连接PLC";
return false;
}
ErrorCode errorCode = plc1.WriteBytes(DataType.DataBlock, 1, startByteAdr, value);
sResult = $"错误代码 {errorCode}";
return errorCode == ErrorCode.NoError;
}
}
}