資源簡介
用C#寫的西門子S7-200 PLC 的PPI通訊測試程序,可讀寫I,Q,M,VB等,希望對學習PPI通訊的同學有幫助。

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Linq;
using?System.Text;
namespace?testPPI
{
????class?ConvertDataToByte
????{
????????///?
????????///?寫一個Byte數組
????????///?
????????///?站號
????????///?地址
????????///?值
????????///?
????????public?static?byte[]?WriteVB(int?stationNO?int?address?int?value)
????????{
????????????byte[]?data?=?new?byte[38];
????????????//開始標記符
????????????data[0]?=?0x68;
????????????data[1]?=?0x20;
????????????data[2]?=?0x20;
????????????data[3]?=?0x68;
????????????//站號
????????????data[4]?=?(byte)stationNO;
????????????data[5]?=?0x00;
????????????//功能碼,寫入
????????????data[6]?=?0x7C;
????????????//
????????????data[7]?=?0x32;
????????????data[8]?=?0x01;
????????????data[9]?=?0x00;
????????????data[10]?=?0x00;
????????????data[11]?=?0x00;
????????????data[12]?=?0x00;
????????????data[13]?=?0x00;
????????????data[14]?=?0x0E;
????????????data[15]?=?0x00;
????????????data[16]?=?0x05;
????????????data[17]?=?0x05;
????????????data[18]?=?0x01;
????????????data[19]?=?0x12;
????????????data[20]?=?0x0A;
????????????data[21]?=?0x10;
????????????//長度
????????????//01:1?Bit
????????????//02:1?Byte?
????????????//04:1?Word?
????????????//06:Double?Word
????????????data[22]?=?0x02;
????????????data[23]?=?0x00;
????????????//個數
????????????data[24]?=?0x01;
????????????data[25]?=?0x00;
????????????//存儲器類型,01:V存儲器??00:其它
????????????data[26]?=?0x01;
????????????//存儲器類型
????????????//04:S 05:SM? 06:AI 07:AQ 1E:?C
????????????//81:I 82:Q 83:M 84:V 1F:?T
????????????data[27]?=?0x84;
????????????//地址,偏移量
????????????data[28]?=?0x00;
????????????data[29]?=?Convert.ToByte(address?*?8?/?256);
????????????data[30]?=?Convert.ToByte(address?*?8?%?256);
????????????data[31]?=?0x00;
????????????//如果寫入的是位數據這一字節為03,其它則為04
????????????data[32]?=?0x04;
????????????data[33]?=?0x00;
????????????//位數
????????????//01:?1?Bit 08:?1?Byte 10H:?1?Word??20H:?1?Double?Word???
????????????data[34]?=?0x08;
????????????//值
????????????data[35]?=?(byte)value;
????????????//效驗和
????????????int?j?=?0;
????????????for?(int?i?=?4;?i?<=?35;?i++)
????????????????j?=?j?+?data[i];
????????????data[36]?=?Convert.ToByte(j?%?256);
????????????data[37]?=?0x16;
????????????return?data;
????????}
????????///?
????????///?寫一個Byte數組
????????///?
????????///?站號
????????///?地址
????????///?值
????????///?
????????public?static?byte[]?WriteQ(int?stationNO?double?address?int?value)
????????{
????????????byte[]?data?=?new?byte[38];
????????????//開始標記符
????????????data[0]?=?0x68;
????????????data[1]?=?0x20;
????????????data[2]?=?0x20;
????????????data[3]?=?0x68;
?????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????18944??2012-12-04?12:42??testPPI\testPPI\bin\Debug\testPPI.exe
?????文件??????42496??2012-12-04?12:42??testPPI\testPPI\bin\Debug\testPPI.pdb
?????文件??????14328??2012-12-04?12:43??testPPI\testPPI\bin\Debug\testPPI.vshost.exe
?????文件????????490??2007-07-21?01:33??testPPI\testPPI\bin\Debug\testPPI.vshost.exe.manifest
?????文件??????13555??2012-12-03?00:29??testPPI\testPPI\ConvertDataToByte.cs
?????文件???????8766??2012-12-04?12:42??testPPI\testPPI\Form1.cs
?????文件??????16902??2012-12-04?12:42??testPPI\testPPI\Form1.Designer.cs
?????文件???????6013??2012-12-04?12:42??testPPI\testPPI\Form1.resx
?????文件????????804??2012-12-04?12:43??testPPI\testPPI\obj\Debug\testPPI.csproj.FileListAbsolute.txt
?????文件????????847??2012-12-04?12:42??testPPI\testPPI\obj\Debug\testPPI.csproj.GenerateResource.Cache
?????文件??????18944??2012-12-04?12:42??testPPI\testPPI\obj\Debug\testPPI.exe
?????文件????????180??2012-12-04?12:42??testPPI\testPPI\obj\Debug\testPPI.Form1.resources
?????文件??????42496??2012-12-04?12:42??testPPI\testPPI\obj\Debug\testPPI.pdb
?????文件????????180??2012-11-29?13:33??testPPI\testPPI\obj\Debug\testPPI.Properties.Resources.resources
?????文件????????488??2012-11-27?22:38??testPPI\testPPI\Program.cs
?????文件???????1346??2012-11-27?22:38??testPPI\testPPI\Properties\AssemblyInfo.cs
?????文件???????2864??2012-11-27?22:38??testPPI\testPPI\Properties\Resources.Designer.cs
?????文件???????5612??2012-11-27?22:38??testPPI\testPPI\Properties\Resources.resx
?????文件???????1092??2012-11-27?22:38??testPPI\testPPI\Properties\Settings.Designer.cs
?????文件????????249??2012-11-27?22:38??testPPI\testPPI\Properties\Settings.settings
?????文件???????5393??2012-11-29?13:33??testPPI\testPPI\testPPI.csproj
?????文件????????533??2012-11-29?13:33??testPPI\testPPI\testPPI.csproj.user
?????文件????????911??2012-11-27?22:38??testPPI\testPPI.sln
????..A..H.?????18432??2012-12-04?12:43??testPPI\testPPI.suo
?????目錄??????????0??2012-11-28?23:39??testPPI\testPPI\obj\Debug\Refactor
?????目錄??????????0??2012-11-27?22:38??testPPI\testPPI\obj\Debug\TempPE
?????目錄??????????0??2012-12-02?15:19??testPPI\testPPI\bin\Debug
?????目錄??????????0??2012-12-04?12:42??testPPI\testPPI\obj\Debug
?????目錄??????????0??2012-11-29?12:51??testPPI\testPPI\bin
?????目錄??????????0??2012-11-27?22:38??testPPI\testPPI\obj
............此處省略6個文件信息
- 上一篇:C#自動出題判分小程序
- 下一篇:Asp.net動態生成Word文檔并填充數據
評論
共有 條評論