资源简介
这是一个通过C#网络socket功能,通过CIP协议实现AB,欧姆龙NJ/NX系列PLC简单标签(不包括数组结构体联合体)读写的例子,希望给研究CIP协议通信采集PLC数据的同学一个参考。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace UMMC
{
public partial class Form1 : Form
{
public static Form1 form;
funtion f = new funtion();
potocol p = new potocol();
bool but1_flag = false;
Socket clientSocket;
IPEndPoint ipe;
IPAddress ip;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender EventArgs e)
{
//窗体加载时对socket进行初始化
int port = int.Parse(porttxtB.Text);
string host = IPtxt.Text;
ip = IPAddress.Parse(host);
ipe = new IPEndPoint(ip port);
}
private void ctBtn_Click(object sender EventArgs e)
{
if (but1_flag)
{
ctBtn.Text = “连接“;
but1_flag = false;
clientSocket.Close();
}
else
{
ctBtn.Text = “断开“;
but1_flag = true;
clientSocket = new Socket(AddressFamily.InterNetwork SocketType.Stream ProtocolType.Tcp);
clientSocket.Connect(ipe);
}
}
private void button2_Click(object sender EventArgs e)
{
clientSocket.Send(p.Registercmd);
textBox1.AppendText(GetCurrentTime() + “\r\n“ + BitConverter.ToString(p.Registercmd) + “\r\n\n“);
Thread.Sleep(2);
byte[] raed_resp = new byte[100];
int CNT= clientSocket.Receive(raed_resp raed_resp.Length 0);
byte[] rcv = new byte[CNT];
Array.Copy(raed_resp0 rcv0 CNT);
textBox1.AppendText(GetCurrentTime() + “\r\n“ + BitConverter.ToString(rcv) + “\r\n\n“);
byte[] ReadCMD = f.CreatReadCode(read_text.Text);
ReadCMD[4] = raed_resp[4]; ReadCMD[5] = raed_resp[5]; ReadCMD[6] = raed_resp[6]; ReadCMD[7] = raed_resp[7];
clientSocket.Send(ReadCMD);
textBox1.AppendText(GetCurrentTime() + “\r\n“ + BitConverter.ToString(ReadCMD) + “\r\n\n“);
Thread.Sleep(2);
CNT = clientSocket.Receive(raed_resp raed_resp.Length 0);
byte[] rcv1 = new byte[CNT];
Array.Copy(raed_resp 0 rcv1 0 CNT);
textBox1.AppendText(GetCurrentTime() + “\r\n“ + BitConverter.ToString(rcv1) + “\r\n\n“);
//Byte[] S_TO_ASCII = f.Str_TO_ASCII(read_text.Text);
//read_resptext.Text = BitConverter.ToString(S_TO_ASCII);
//byte[] rmassg = f.CreatReadCode(read_text.Text);
//textBox1.Text= BitConverter.ToString(rmassg)+ rmassg.Length;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
..A..H. 24576 2019-11-24 01:22 UMMC\.vs\UCMM\v14\.suo
..A..H. 50176 2019-11-23 16:58 UMMC\.vs\UCMM\v15\.suo
文件 0 2019-10-11 18:31 UMMC\.vs\UCMM\v15\Server\sqlite3\db.lock
文件 602112 2019-11-22 14:51 UMMC\.vs\UCMM\v15\Server\sqlite3\storage.ide
文件 32768 2019-11-23 13:21 UMMC\.vs\UCMM\v15\Server\sqlite3\storage.ide-shm
文件 4140632 2019-11-23 13:33 UMMC\.vs\UCMM\v15\Server\sqlite3\storage.ide-wal
文件 1110 2019-10-11 18:33 UMMC\UCMM.sln
文件 189 2019-10-09 16:50 UMMC\UMMC\App.config
文件 17920 2019-11-23 13:33 UMMC\UMMC\bin\Debug\UMMC.exe
文件 189 2019-10-09 16:50 UMMC\UMMC\bin\Debug\UMMC.exe.config
文件 40448 2019-11-23 13:33 UMMC\UMMC\bin\Debug\UMMC.pdb
文件 22696 2019-11-24 00:36 UMMC\UMMC\bin\Debug\UMMC.vshost.exe
文件 189 2019-10-09 16:50 UMMC\UMMC\bin\Debug\UMMC.vshost.exe.config
文件 490 2018-04-12 07:35 UMMC\UMMC\bin\Debug\UMMC.vshost.exe.manifest
文件 7132 2019-11-22 14:48 UMMC\UMMC\Form1.cs
文件 13443 2019-11-22 14:48 UMMC\UMMC\Form1.Designer.cs
文件 5817 2019-11-22 14:48 UMMC\UMMC\Form1.resx
文件 7080 2019-11-23 13:33 UMMC\UMMC\funtion.cs
文件 1443 2019-10-10 13:47 UMMC\UMMC\obj\Debug\DesignTimeResolveAssemblyReferences.cache
文件 7048 2019-11-24 00:36 UMMC\UMMC\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 0 2019-10-09 16:50 UMMC\UMMC\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
文件 0 2019-10-09 16:50 UMMC\UMMC\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
文件 0 2019-10-09 16:50 UMMC\UMMC\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
文件 42 2019-10-11 18:31 UMMC\UMMC\obj\Debug\UCMM.csproj.CoreCompileInputs.cache
文件 791 2019-11-24 00:36 UMMC\UMMC\obj\Debug\UCMM.csproj.FileListAbsolute.txt
文件 1012 2019-11-22 14:48 UMMC\UMMC\obj\Debug\UCMM.csproj.GenerateResource.cache
文件 11490 2019-10-11 18:31 UMMC\UMMC\obj\Debug\UCMM.csprojAssemblyReference.cache
文件 42 2019-10-10 16:16 UMMC\UMMC\obj\Debug\UMMC.csproj.CoreCompileInputs.cache
文件 685 2019-10-11 17:04 UMMC\UMMC\obj\Debug\UMMC.csproj.FileListAbsolute.txt
文件 1012 2019-10-11 09:57 UMMC\UMMC\obj\Debug\UMMC.csproj.GenerateResource.cache
............此处省略35个文件信息
- 上一篇:C#开发大全提高卷ISO镜像
- 下一篇:C#2048源码
评论
共有 条评论