資源簡介
C#與三菱Q系列PLC通過MC協議通信,讀取PLC寄存器中的數據,往PLC寄存器中寫數據。
代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Text;
using?System.Windows.Forms;
using?System.Net;
using?System.Net.Sockets;
using?System.Threading;
namespace?PLC_TEST
{
????public?partial?class?Form1?:?Form
????{
????????//內鎖?防止共用同一個SOCKET
????????//private?Mutex?mutexforsocket?=?new?Mutex(true?“MTX_FOR_KUBOTA_POKA“);
????????public?Form1()
????????{
????????????InitializeComponent();
????????}
????????private?void?Form1_Load(object?sender?EventArgs?e)
????????{
????????????this.cbxRegType.SelectedIndex?=?0;
????????????//this.mutexforsocket.ReleaseMutex();
????????}????????
????????private?string?b2s(byte[]?b)
????????{
????????????string?s?=?“寄存器[“?+?this.cbxRegType.Text?+?“]?地址[“?+?this.txtStartAddr.Text.Trim()?+?“]:?“;
????????????for?(int?i?=?0;?i?????????????{
????????????????s?=?s?+?b[i].ToString(“X“).PadLeft(2?‘0‘)?+?“?“;
????????????}
????????????return?s;
????????}
????????///?
????????///?生成Socket命令
????????///?
????????///?R:讀W:寫
????????///?寄存器地址
????????///?數據
????????///?
????????private?byte[]?createCommand(string?typeint?dregint?data)
????????{
????????????byte[]?sendBuf;
????????????switch?(type)
????????????{
????????????????case?“R“:
????????????????????{
????????????????????????sendBuf?=?new?byte[21];
????????????????????????//副標題
????????????????????????sendBuf[0]?=?0x50;
????????????????????????sendBuf[1]?=?0x00;
????????????????????????//網絡號
????????????????????????sendBuf[2]?=?0x00;
????????????????????????//PLC號
????????????????????????sendBuf[3]?=?0xFF;
????????????????????????//IO
????????????????????????sendBuf[4]?=?0xFF;
????????????????????????sendBuf[5]?=?0x03;
????????????????????????//站號
????????????????????????sendBuf[6]?=?0x00;
????????????????????????//字節數
????????????????????????sendBuf[7]?=?0x0C;
????????????????????????sendBuf[8]?=?0x00;
????????????????????????//等待長度
????????????????????????sendBuf[9]?=?0x0A;
????????????????????????sendBuf[10]?=?0x00;
????????????????????????//命令
????????????????????????sendBuf[11]?=?0x01;
????????????????????????sendBuf[12]?=?0x04;
????????????????????????//子命令
????????????????????????sendBuf[13]?=?0x00;
????????????????????????sendBuf[14]?=?0x00;
????????????????????????//起始寄存器地址
????????????????????????sendBuf[15]?=?(byte)(dreg?&?0xff);
????????????????????????sendBuf[16]?=?(byte)((dreg?&?0xff00)?>>?8);
????????????????????????sendBuf[17]?=?(byte)((dreg?&?0xff0000)?>>?16);
????????????????????????if(this.cbxRegType.Text.Equals(“R“))
????????????????????????{
????????????????????????????//寄存器類型-R類
????????????????????????????sendBuf[18]?=?0xAF;
????????????????????????}
????????????????????????if?(this.cbxRegType.Text.Equals(“D“))
?????????????????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-09-25?14:51??PLC_TEST\
?????目錄???????????0??2017-09-25?14:47??PLC_TEST\.vs\
?????目錄???????????0??2017-09-25?14:47??PLC_TEST\.vs\PLC_TEST\
?????目錄???????????0??2017-09-25?14:48??PLC_TEST\.vs\PLC_TEST\v14\
?????文件???????16384??2017-09-25?14:48??PLC_TEST\.vs\PLC_TEST\v14\.suo
?????目錄???????????0??2017-09-25?14:46??PLC_TEST\PLC_TEST\
?????文件?????????991??2017-09-25?14:47??PLC_TEST\PLC_TEST.sln
?????目錄???????????0??2017-09-25?14:46??PLC_TEST\PLC_TEST\bin\
?????目錄???????????0??2017-09-25?14:46??PLC_TEST\PLC_TEST\bin\Debug\
?????文件???????14336??2017-09-25?14:46??PLC_TEST\PLC_TEST\bin\Debug\PLC_TEST.exe
?????文件???????26112??2017-09-25?14:46??PLC_TEST\PLC_TEST\bin\Debug\PLC_TEST.pdb
?????文件???????21680??2017-09-25?14:47??PLC_TEST\PLC_TEST\bin\Debug\PLC_TEST.vshost.exe
?????文件?????????490??2010-03-17?22:39??PLC_TEST\PLC_TEST\bin\Debug\PLC_TEST.vshost.exe.manifest
?????目錄???????????0??2017-09-25?14:46??PLC_TEST\PLC_TEST\bin\Release\
?????文件???????22016??2017-09-25?14:46??PLC_TEST\PLC_TEST\bin\Release\PLC_TEST.pdb
?????文件???????12729??2017-09-25?14:46??PLC_TEST\PLC_TEST\Form1.cs
?????文件???????10955??2017-09-25?14:46??PLC_TEST\PLC_TEST\Form1.Designer.cs
?????文件????????5814??2017-09-25?14:46??PLC_TEST\PLC_TEST\Form1.resx
?????目錄???????????0??2017-09-25?14:46??PLC_TEST\PLC_TEST\obj\
?????目錄???????????0??2017-09-25?14:48??PLC_TEST\PLC_TEST\obj\Debug\
?????文件?????????790??2017-09-25?14:48??PLC_TEST\PLC_TEST\obj\Debug\DesignTimeResolveAssemblyReferences.cache
?????文件????????6085??2017-09-25?14:47??PLC_TEST\PLC_TEST\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
?????文件????????4265??2017-09-25?14:47??PLC_TEST\PLC_TEST\obj\Debug\PLC_TEST.csproj.FileListAbsolute.txt
?????文件?????????847??2017-09-25?14:46??PLC_TEST\PLC_TEST\obj\Debug\PLC_TEST.csproj.GenerateResource.Cache
?????文件???????14336??2017-09-25?14:46??PLC_TEST\PLC_TEST\obj\Debug\PLC_TEST.exe
?????文件?????????180??2017-09-25?14:46??PLC_TEST\PLC_TEST\obj\Debug\PLC_TEST.Form1.resources
?????文件???????26112??2017-09-25?14:46??PLC_TEST\PLC_TEST\obj\Debug\PLC_TEST.pdb
?????文件?????????180??2017-09-25?14:46??PLC_TEST\PLC_TEST\obj\Debug\PLC_TEST.Properties.Resources.resources
?????目錄???????????0??2017-09-25?14:46??PLC_TEST\PLC_TEST\obj\Debug\Refactor\
?????目錄???????????0??2017-09-25?14:47??PLC_TEST\PLC_TEST\obj\Debug\TempPE\
?????文件????????3584??2017-09-25?14:48??PLC_TEST\PLC_TEST\obj\Debug\TempPE\Properties.Resources.Designer.cs.dll
............此處省略15個文件信息
評論
共有 條評論