命名空间:netMarketing.automation.plc.Omron.FinsLibrary
功能:欧姆龙PLC基于Tcp通讯的Fins通讯类,支持全系列的欧龙PLC
功能详细说明:
FinsSocket支持的欧姆龙PLC包括CP系列, Nj系列, Nx系列的欧姆PLC。可以在监视模式或者运行模下读写PLC的内存。
这个类使用简单,已经经过多个项目检验过,勇哥推荐使用它!
常用函数列表:
C#
/// 构造函数
public FinsSocket(string strServerIP = "192.168.250.1", int ServPort = 9600)
/// 写内存
public bool Write(_eMemory eMemory, ushort offSet, byte bitOffset, bool data)
public bool Write(_eMemory eMemory, ushort offSet, byte bitOffset, bool[] data)
public bool Write(_eMemory eMemory, ushort offset, short data)
public bool Write(_eMemory eMemory, ushort offset, short[] data)
public bool Write(_eMemory eMemory, ushort offset, int data)
public bool Write(_eMemory eMemory, ushort offset, int[] data)
public bool Write(_eMemory eMemory, ushort offset, long data)
public bool Write(_eMemory eMemory, ushort offset, long[] data)
public bool Write(_eMemory eMemory, ushort offset, float data)
public bool Write(_eMemory eMemory, ushort offset, float[] data)
public bool Write(_eMemory eMemory, ushort offset, double data)
/// 读内存
public bool Read(_eMemory eMemory, ushort OffSet, byte bit, ref bool reData)
public bool Read(_eMemory eMemory, ushort OffSet, byte bit, ref bool[] reData)
public bool Read(_eMemory eMemory, ushort OffSet, ref short reData)
public bool Read(_eMemory eMemory, ushort OffSet, ref short[] reData)
public bool Read(_eMemory eMemory, ushort OffSet, ref int reData)
public bool Read(_eMemory eMemory, ushort OffSet, ref int[] reData)
public bool Read(_eMemory eMemory, ushort OffSet, ref long reData)
public bool Read(_eMemory eMemory, ushort OffSet, ref long[] reData)
public bool Read(_eMemory eMemory, ushort OffSet, ref float reData)
public bool Read(_eMemory eMemory, ushort OffSet, ref float[] reData)
public bool Read(_eMemory eMemory, ushort OffSet, ref double reData)
public bool Read(_eMemory eMemory, ushort OffSet, ref double[] reData)
public bool Write(_eMemory eMemory, ushort offset, double[] data)
public bool ChangePLCMode(_ePLCMode eMode)
public bool WriteMultiple(_eMemory startMemory, ushort offset, short[] iMultiple)
public bool ReadMultiple(_eMemory startMemory, ushort offset, ref short[] iMultiple)
示例程序:
C#
using netMarketing.automation.plc.Omron.FinsLibrary;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace FinsLibraryTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
FinsSocket cp1h;
cp1h = new FinsSocket();
cp1h.IP = "192.168.250.1";//PLC IP地址
cp1h.Port = 9600; //PLC IP端口号
float[] plcdataF = new float[1] { 0 };
cp1h.Write(_eMemory.DM, 2000, 111.5f);
Thread.Sleep(200);
cp1h.Read(_eMemory.DM, 2000, ref plcdataF);
richTextBox1.AppendText(plcdataF[0].ToString());
}
}
}
观察plc内存,可以看到结果是正确的。
---------------------
作者:hackpig
来源:www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!
本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:


