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