命名空间:netMarketing.automation.plc.Omron.FinsLibrary
功能:欧姆龙PLC基于Tcp通讯的Fins通讯类,支持全系列的欧龙PLC
功能详细说明:
FinsSocket支持的欧姆龙PLC包括CP系列, Nj系列, Nx系列的欧姆PLC。可以在监视模式或者运行模下读写PLC的内存。
这个类使用简单,已经经过多个项目检验过,勇哥推荐使用它!
常用函数列表:
/// 构造函数 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)
示例程序:
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,转载请注明出处!讨论可扫码加群:



少有人走的路

















