當前位置:編程學習大全網 - 源碼下載 - Uinttest源代碼

Uinttest源代碼

為C#和FX5U以太網之間的通信提供壹個代碼:

使用?系統。集合。泛型;

使用?系統;

使用?系統。Linq

使用?系統。繪圖;

使用?系統。診斷;

使用?系統。數據;

使用?系統。Xml . Linq

使用?微軟。VisualBasic

使用?系統。收藏;

使用?系統。Windows . Forms

使用?System.Net;

使用?系統。Runtime . InteropServices

命名空間?TCP _客戶端

{

公共?部分?班級?表單1

{

公共?表單1()

{

initialize component();

如果?(defaultInstance?==?空)

defaultInstance?=?這個;

}

#地區?違約?情況

私人?靜電?Form1?默認實例;

公共?靜電?Form1?默認

{

得到

{

如果?(defaultInstance?==?空)

{

defaultInstance?=?新的?form 1();

默認實例。表單關閉?+=?新的?FormClosedEventHandler(default instance _ form closed);

}

回歸?默認實例;

}

設置

{

defaultInstance?=?價值;

}

}

靜電?作廢?default instance _ form closed(object?發件人?FormClosedEventArgs?e)

{

defaultInstance?=?null

}

#結束區域

EntFxPlc。PlcClient?PLC?=?新的?EntFxPlc。PlcClient();

布爾?EntLink

龍?掃描計數;

矮?ScanRet

Int32?PlcHand

[DllImport("winmm.dll ",ExactSpelling=true,?CharSet =字符集。Ansi,?SetLastError=true)]

公共?靜電?extern?UInt32?time gettime();

公共?作廢?Form1_Load(系統。對象?發件人?系統。EventArgs?e)

{

這個。centerto screen();

cmbReadMry。items . Clear();

cmbReadMry。items . Add(" X ");

cmbReadMry。items . Add(" Y ");

cmbReadMry。items . Add(" M ");

cmbReadMry。items . Add(" D ");

cmbWriteMry。items . Clear();

cmbWriteMry。items . Add(" X ");

cmbWriteMry。items . Add(" Y ");

cmbWriteMry。items . Add(" M ");

cmbWriteMry。items . Add(" D ");

cmbBitMry。items . Clear();

cmbBitMry。items . Add(" X ");

cmbBitMry。items . Add(" Y ");

cmbBitMry。items . Add(" M ");

cmbReadType。items . Clear();

cmbReadType。items . Add(" int 16 ");

cmbReadType。items . Add(" uint 16 ");

cmbReadType。items . Add(" dint 32 ");

cmbReadType。items . Add(" hex 32 ");

cmbReadType。items . Add(" real 32 ");

cmbReadType。items . Add(" bin 16 ");

cmbWriteType。items . Clear();

cmbWriteType。items . Add(" int 16 ");

cmbWriteType。items . Add(" uint 16 ");

cmbWriteType。items . Add(" dint 32 ");

cmbWriteType。items . Add(" hex 32 ");

cmbWriteType。items . Add(" real 32 ");

cmbWriteType。items . Add(" bin 16 ");

cmbReadMry。SelectedIndex?=?3;

cmbWriteMry。SelectedIndex?=?3;

cmbBitMry。SelectedIndex?=?2;

cmbReadType。SelectedIndex?=?0;

cmbWriteType。SelectedIndex?=?0;

伊斯特雷德。items . Clear();

txtWrite。文字?=?"";

cmbCmdType。SelectedIndex?=?0;

}

公共?作廢?butLink_Click(系統。對象?發件人?系統。EventArgs?e)

{

矮?re?=?0;

字符串?雷斯特?=?"";

re?=?PLC。EntLink(txtLocalIP。Text.Trim(),?轉換。ToUInt16(txtLocalPort。正文),?txtRemoteIP。Text.Trim(),?(轉換。ToUInt16(txtRemotePort。正文))、“演示”,?裁判?PlcHand,轉換?. ToUInt16?(1000),轉換?。ToBoolean?(cmbCmdType?。SelectedIndex?));

txtReLink。文字?=?關於。ToString();

如果?(re?==?0)

{

EntLink?=?真實;

MessageBox。顯示(" PLC連接成功!");

}

其他

{

EntLink?=?假的;

MessageBox。顯示(" PLC連接失敗:?"?+?restr);

}

}

公共?作廢?butClose_Click(系統。對象?發件人?系統。EventArgs?e)

{

矮?re?=?0;

EntLink?=?假的;

re?=?PLC。德林克(PlcHand);

txt關閉。文字?=?關於。ToString();

}

公共?作廢?butRead_Click(系統。對象?發件人?系統。EventArgs?e)

{

矮?我?=?0;

對象[]?RD?=?null

RD?=?新的?對象[轉換。ToUInt16(txtReadCnt。正文)];

如果?(!EntLink)

{

MessageBox。Show("與PLC的連接尚未建立!");

返回;

}

int?var1?=?cmbReadType。SelectedIndex?+?1;

EntFxPlc。數據類型?typ?=?(EntFxPlc?. plcclient . datatype)var 1;

切換?(cmbReadMry。SelectedIndex)

{

案子?0:

ScanRet?=?PLC。CmdRead(PlcHand,EntFxPlc。PlcClient.PlcMemory.DI,?典型,轉換。touint 16(txtreadedd。正文),?轉換。ToUInt16(txtReadCnt。正文),?裁判?RD);

打破;

案子?1:

ScanRet?=?PLC。CmdRead(PlcHand,?EntFxPlc。PlcClient.PlcMemory.DQ,?typ,?轉換。touint 16(txtreadedd。正文),?轉換。ToUInt16(txtReadCnt。正文),?裁判?RD);

打破;

案子?2:

ScanRet?=?PLC。CmdRead(PlcHand,?EntFxPlc。妳好,先生?typ,?轉換。touint 16(txtreadedd。正文),?轉換。ToUInt16(txtReadCnt。正文),?裁判?RD);

打破;

案子?3:

ScanRet?=?PLC。CmdRead(PlcHand,?EntFxPlc。PlcClient.PlcMemory.DR .?typ,?轉換。touint 16(txtreadedd。正文),?轉換。ToUInt16(txtReadCnt。正文),?裁判?RD);

打破;

}

txtReRead。文字?=?斯坎雷特。ToString();

伊斯特雷德。items . Clear();

為了什麽?(我?=?0;?我?& lt=?(RD。長度?-?1);?i++)

{

如果?(!(RD[i]?==?null))

{

伊斯特雷德。items . Add(RD[I]);

}

其他

{

伊斯特雷德。items . Add(" 0 ");

}

}

}

公共?作廢?butWrite_Click(系統。對象?發件人?系統。EventArgs?e)

{

矮?我?=?0;

string[]?臨時工?=?null

對象[]?WD?=?null

如果?(!EntLink)

{

MessageBox。Show("與PLC的連接尚未建立!");

返回;

}

WD?=?新的?對象[轉換。ToUInt16(txtWriteCnt。正文)];

臨時工?=?txtWrite。text . Split(' \ n ');

為了什麽?(我?=?0;?我?& lt=?(WD。長度?-?1);?i++)

{

如果?(我?& gt?(溫度。長度?-?1))

{

WD[i]?=?0;

}

其他

{

WD[i]?=?temp[i]。trim();

}

}

int?var1?=?cmbWriteType。SelectedIndex?+?1;

EntFxPlc。數據類型?typ?=?(EntFxPlc。PlcClient . DataType)var 1;

切換?(cmbWriteMry。SelectedIndex)

{

案子?0:

ScanRet?=?PLC。CmdWrite(PlcHand,?EntFxPlc。PlcClient.PlcMemory.DI,?typ,?轉換。ToUInt16(txtWriteAdd。正文),?轉換。ToUInt16(txtWriteCnt。正文),?裁判?WD);

打破;

案子?1:

ScanRet?=?PLC。CmdWrite(PlcHand,?EntFxPlc。PlcClient.PlcMemory.DQ,?typ,?轉換。ToUInt16(txtWriteAdd。正文),?轉換。ToUInt16(txtWriteCnt。正文),?裁判?WD);

打破;

案子?2:

ScanRet?=?PLC。CmdWrite(PlcHand,?EntFxPlc。妳好,先生?typ,?轉換。ToUInt16(txtWriteAdd。正文),?轉換。ToUInt16(txtWriteCnt。正文),?裁判?WD);

打破;

案子?3:

ScanRet?=?PLC。CmdWrite(PlcHand,?EntFxPlc。PlcClient.PlcMemory.DR .?typ,?轉換。ToUInt16(txtWriteAdd。正文),?轉換。ToUInt16(txtWriteCnt。正文),?裁判?WD);

打破;

}

txtReWrite。文字?=?斯坎雷特。ToString();

}

公共?作廢?butScan_Click(系統。對象?發件人?系統。EventArgs?e)

{

如果?(!EntLink)

{

MessageBox。Show("與PLC的連接尚未建立!");

返回;

}

如果?(butScan。文字?==?“循環?讀/寫”)

{

ScanCount?=?0;

定時器1。啟用?=?真實;

但是掃描。文字?=?“停下來?讀/寫";

}

其他

{

定時器1。啟用?=?假的;

但是掃描。文字?=?“循環?讀/寫";

}

}

公共?作廢?定時器1_Tick(系統。對象?發件人?系統。EventArgs?e)

{

定時器1。啟用?=?假的;

int?蒂姆。=?系統。convert . toint 32(time gettime());

如果?(!EntLink)

{

MessageBox。Show("與PLC的連接尚未建立!");

返回;

}

//

butRead_Click(null,null);

butWrite_Click(null,?null);

//

如果?((轉換。toint 32(txt read。正文)?& lt?0)?||?(轉換。ToInt32(txtReWrite。正文)?& lt?0))

{

但是掃描。文字?=?“循環?讀/寫";

返回;

}

其他

{

scan count++;

txtScanCnt。文字?=?掃描計數。ToString();

txtScanPrd。文字?=?(系統。Convert.ToInt32(timeGetTime())?-?蒂姆)。ToString()?+?”女士”;

}

定時器1。啟用?=?真實;

}

公共?作廢?butBitTest_Click(系統。對象?發件人?系統。EventArgs?e)

{

如果?(!EntLink)

{

MessageBox。Show("與PLC的連接尚未建立!");

返回;

}

布爾?rd?=?假的;

矮?re?=?0;

切換?(cmbBitMry。SelectedIndex)

{

案子?0:

re?=?PLC。Bit_Test(PlcHand,?EntFxPlc。PlcClient.PlcMemory.DI,?轉換。ToUInt16(txtBitAdd。正文),?裁判?rd);

打破;

案子?1:

re?=?PLC。Bit_Test(PlcHand,?EntFxPlc。PlcClient.PlcMemory.DQ,?轉換。ToUInt16(txtBitAdd。正文),?裁判?rd);

打破;

案子?2:

re?=?PLC。Bit_Test(PlcHand,?EntFxPlc。妳好,先生?轉換。ToUInt16(txtBitAdd。正文),?裁判?rd);

打破;

}

txtBitTest。文字?=?研發。ToString();

txtReBit。文字?=?關於。ToString();

}

公共?作廢?butBitSet_Click(System。對象?發件人?系統。EventArgs?e)

{

如果?(!EntLink)

{

MessageBox。Show("與PLC的連接尚未建立!");

返回;

}

矮?re?=?0;

切換?(cmbBitMry。SelectedIndex)

{

案子?0:

re?=?PLC。Bit_Set(PlcHand,?EntFxPlc。PlcClient.PlcMemory.DI,?轉換。ToUInt16(txtBitAdd。正文));

打破;

案子?1:

re?=?PLC。Bit_Set(PlcHand,?EntFxPlc。PlcClient.PlcMemory.DQ,?轉換。ToUInt16(txtBitAdd。正文));

打破;

案子?2:

re?=?PLC。Bit_Set(PlcHand,?EntFxPlc。妳好,先生?轉換。ToUInt16(txtBitAdd。正文));

打破;

}

txtReBit。文字?=?關於。ToString();

}

公共?作廢?butBitRst_Click(系統。對象?發件人?系統。EventArgs?e)

{

如果?(!EntLink)

{

MessageBox。Show("與PLC的連接尚未建立!");

返回;

}

矮?re?=?0;

切換?(cmbBitMry。SelectedIndex)

{

案子?0:

re?=?PLC。Bit_Reset(PlcHand,?EntFxPlc。PlcClient.PlcMemory.DI,?轉換。ToUInt16(txtBitAdd。正文));

打破;

案子?1:

re?=?PLC。Bit_Reset(PlcHand,?EntFxPlc。PlcClient.PlcMemory.DQ,?轉換。ToUInt16(txtBitAdd。正文));

打破;

案子?2:

re?=?PLC。Bit_Reset(PlcHand,?EntFxPlc。妳好,先生?轉換。ToUInt16(txtBitAdd。正文));

打破;

}

txtReBit。文字?=?關於。ToString();

}

}

}

  • 上一篇:如何使用通達信的索引平臺
  • 下一篇:如何找到壹個小程序的源代碼
  • copyright 2024編程學習大全網