IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント

無料無料技术资料

这篇内容可直接阅读,适合用于基础学习和検索引流。

IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント

IoTClientは、主流のPLC通信読み取り、ModBusプロトコル、Bacnetプロトコルおよびその他の一般的な産業用通信プロトコルを含む、モノのインターネットデバイス通信プロトコルクライアントです。このコンポーネントは. NET Standard 2.0に基づいており、Windows、Linux、さらにはRaspberry Pi上で動作する. NETのクロスプラットフォーム開発に使用できます。

取扱説明書

リファレンスコンポーネント

Nugetのインストール 

Install-Package IoTClient

またはグラフィカルインストール

IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图

ModBusTcpの読み書き

クライアントのインスタンス化-正しいIPとポートを入力します。
ModBusTClient = new ModBusTClient "127.0.0.1" 502;

//2、書き込み操作 -パラメータは、アドレス、値、ステーション番号、機能コードの順になります。
client.Write "4" short 33,2,16;

//2.1 [注意]データを書き込む際にはデータ型を指定する必要がある
client.Write "0" short 33 2 16;    //short型の数値を書く
client.Write "4" ushort 33 2 16;   //ushort型の値を書き込む
client.Write "8" int 33 2 16;      //int型の数値を書き込む
client.Write "12" uint 33 2 16;    //uint型の値を書き込む
client.Write "16" long 33 2 16;    //long型の値を書き込む
client.Write "20" ulong 33 2 16;   //ulong型の数値を書き込む
client.Write "24" float 33 2 16;   //float型の数値を書き込む
client.Write "28" double 33 2 16; //double型の数値を書き込む
client.Write '32"true 2 5;         //コイルタイプの値を書き込む
client.Write "100""orderCode" stationNumber; //文字列の書き込み

//3、読み取り操作 -パラメータはアドレス、ステーション番号、機能コードの順になります。
var value = client.ReadInt16 "4" 2 3.Value;

//3.1その他の種類のデータ
client.ReadInt16 "0" stationNumber 3;    //short型データ読み込み
client.ReadUInt16 "4" stationNumber 3;   //ushort型のデータ読み込み
client.ReadInt32 "8" stationNumber 3;    //int型のデータ読み込み
client.ReadUInt32 "12" stationNumber 3; //uint型データ読み込み
client.ReadInt64 "16" stationNumber 3;   //long型データの読み込み
client.ReadUInt64 "20" stationNumber 3; //ulong型データ読み込み
client.ReadFloat "24" stationNumber 3;   //float型データの読み込み
client.ReadDouble "28" stationNumber 3; //double型のデータ読み込み
client.ReadCoil "32" stationNumber 1;    //コイルタイプデータ読み込み
client.ReadDiscrete "32" stationNumber 2;//離散型データ読み取り
クライアント.ReadString "100" stationNumber 10; //文字列を読み込む

アクティブなオープンがない場合、読み書き操作ごとに自動的に接続を開き、閉じ、読み書き効率が大幅に低下します。手動で開閉する必要がある。
. Open

//5、読み書き操作は結果オブジェクトResultを返す
var result = client.ReadInt16 "4" 2 3;
//5.1読み取りが成功したかどうか(trueまたはfalse)
var isSucceed = result.isSucceed;
//5.2例外情報の読み込み失敗
var g =.Err;
//5.3読み取り操作が実際に送信したリクエストメッセージ
var requst = result.requst;
//5.4操作サーバからのメッセージの読み込み
response = result.response;
//5.5読み取り値
var value3 = result.Value;

//6.大量読み取り
var list = new List ModBus;
list.Add new ModBusInput
{
    Address = "2"
    DataType = DataTypeEnum.Int16
    FunctionCode = 3、
    StationNumber = 1
});
list.Add new ModBusInput
{
    Address = "2"
    DataType = DataTypeEnum.Int16
    FunctionCode = 4
    StationNumber = 1
});
list.Add new ModBusInput
{
    アドレス=“199”
    DataType = DataTypeEnum.Int16
    FunctionCode = 3
    StationNumber = 1
});
var result = client.BatchRead list;

//7その他のパラメータ
//IP、ポート、タイムアウト、サイズ侧の
ModBusTcpClient client = new ModBusTcpClient "127.0.0.1" 502 1500 EndianFormat.ABCD;

ModBusTcpの使い方はこちらをご覧ください。単体テスト

ModBusRtuの読み書き操作

//インスタンス化されたクライアント- [COMポート名、ボーレート、データ·ビット、ストップ·ビット、パリティ]
ModBusRtuClientクライアント= new ModBusRtuClient(“COM 3”,96 00,8,StopBits.One,Parity.None);

//その他の読み書き操作はModBusTcpClientの読み書き操作と一致している

ModBusAsciiの読み書き操作

//インスタンス化されたクライアント- [COMポート名、ボーレート、データ·ビット、ストップ·ビット、パリティ]
ModbusAsciiClient = new ModbusAsciiClient(“COM 3”,96 00,8,StopBits.One,Parity.None);

//その他の読み書き操作はModBusTcpClientの読み書き操作と一致している

ModbusRtuOverTcpの読み取りと書き込み

//シリアルポート伝送すなわちTcp方式でRtu形式メッセージを送信する

//クライアントのインスタンス化- IP、ポート、タイムアウト時間、サイズサイド設定
ModbusROverTClient = new ModbusROverTClient "127.0.0.1" 502 1500 Endian.ABCD;

//その他の読み書き操作はModBusTcpClientの読み書き操作と一致している

SiemensClientの読み取り/書き込み

//1、インスタンス化されたクライアント-モデル、IP、ポートを入力してください。
//その他のモデル:SiemensVersion.S7_200、SiemensVersion.S7_300、SiemensVersion.S7_400、SiemensVersion.S7_1200、SiemensVersion.S7_1500
SiemensClient = new SiemensClient SiemensVersion.S7_200Smart "127.0.0.1" 102;

2、書き込み操作。
client.Write "Q1.3" true;
.
client.Write“V220 9”,33;
.             //文字列の書き込み

//3、読み取り
var value1 =. Read "Q1.3".Value;
var value2 = client.ReadInt16 "V2205".Value;
var value3 = client.ReadInt32“V 220 9”.Value;
var value4 = client.ReadString "V2305".Value; //文字列の読み込み

アクティブなオープンがない場合、読み書き操作ごとに自動的に接続を開き、閉じ、読み書き効率が大幅に低下します。手動で開閉する必要がある。
. Open

//5、読み書き操作は結果オブジェクトResultを返す
var result = client.ReadInt16 "V2205";
//5.1読み取りが成功したかどうか(trueまたはfalse)
var isSucceed = result.isSucceed;
//5.2例外情報の読み込み失敗
var g =.Err;
//5.3読み取り操作が実際に送信したリクエストメッセージ
var requst = result.requst;
//5.4操作サーバからのメッセージの読み込み
response = result.response;
//5.5読み取り値
var value4 = result.Value;

注:シーメンスのPLCアドレスについて

VB263、VW263、VD263におけるB、W、Dは、それぞれ、byte型(8ビット)、word型(16ビット)、doubleword型(32ビット)を表す。

このコンポーネントの着信アドレスには、データ型は必要ありません。対応するメソッドを使用して対応する型を直接読み取ることができます。
VB 263の       - client.ReadByte "V263"
VD 26 3       - client.ReadFloat "V263"
VD 26 3       - client.ReadInt32 "V263"
DB108.DBW4 - client.ReadUInt16 "DB108.4"
DB1.DBX0.0 -. Read "DB1.0.0"
DB1.DBD0    - client.ReadFloat "DB1.0"
C#データ型スマート2001200/1500/300
少量でV1.0DB1.DBX1.0
バイト数VB1DB1.DBB1
ショートショート。
ushort
パブリック2。DB1.DBW2
int
uint
浮動小数点数
VD4DB1.DBD4

シーメンスのお客様のベストプラクティス

1.いつ開かないのか
Siemens PLCは最大8つの長い接続を許可します。接続数が不十分な場合やテスト中にオープンしないでください。コンポーネントが自動的にオープンしてすぐにクローズします。

2.いつ開くのか
長い接続数が十分で、読み書き性能を向上させたい場合。

アクティブなオープン接続に加えて、バッチ読み書きによって読み書き性能を大幅に向上させることができます。
//バッチ読み取り
Dictionary string DataTypeEnum addresses = new Dictionary string DataTypeEnum;
addresses.Add "DB4.24" DataTypeEnum.Float;
addresses.Add "DB1.434.0" DataTypeEnum.Bool;
addresses.Add "V4109" DataTypeEnum.Byte;
...
var result = client.BatchRead addresses;

//Batch Write
Dictionary string addresses = new Dictionary string;
addresses.Add "DB4.24" float 1;
addresses.Add "DB4.0" float 2;
addresses.Add "DB1.434.0" true;
...
var result = client.BatchWrite addresses;

(注)データを書き込むときはデータ型を指定する必要があります。
client.Write“DB 4.12”9;          //int型で記述される
client.Write "DB4.12" float 9;   //float型で書く

SiemensClientはスレッドセーフクラスです。
PLC長コネクションが限られているため、SiemensClientはスレッドセーフクラスとして設計されている。SiemensClientを単一のインスタンスとして設定し、複数のスレッド間でSiemensClientのインスタンス読み書き操作plcを使用できます。

MitsubishiClient(三菱)読取りおよび書込み

クライアントのインスタンス化-正しいIPとポートを入力します。
subishiClient = 127.0.0.1

2、書き込み操作。
client.Write "M100" true
client.Write "D200" short 11;
client.Write "D210" 33;

//3、読み取り
var value1 = client.ReadBoolean "M100".Value;
var value2 = client.ReadInt16 "D200".Value;
var value3 = client.ReadInt32 "D210".Value;

アクティブなオープンがない場合、読み書き操作ごとに自動的に接続を開き、閉じ、読み書き効率が大幅に低下します。手動で開閉する必要がある。
. Open

//5、読み書き操作は結果オブジェクトResultを返す
var result = client.ReadInt16 "D210";
//5.1読み取りが成功したかどうか(trueまたはfalse)
var isSucceed = result.isSucceed;
//5.2例外情報の読み込み失敗
var g =.Err;
//5.3読み取り操作が実際に送信したリクエストメッセージ
var requst = result.requst;
//5.4操作サーバからのメッセージの読み込み
response = result.response;
//5.5読み取り値
var value4 = result.Value;

OmronFinsClient(OmronFinsClient)の読み取りと書き込み

クライアントのインスタンス化-正しいIPとポートを入力します。
OmronFinsClient = new OmronFinsClient "127.0.0.1" 6000;

2、書き込み操作。
client.Write "M100" true
client.Write "D200" short 11;
client.Write "D210" 33;

//3、読み取り
var value1 = client.ReadBoolean "M100".Value;
var value2 = client.ReadInt16 "D200".Value;
var value3 = client.ReadInt32 "D210".Value;

アクティブなオープンがない場合、読み書き操作ごとに自動的に接続を開き、閉じ、読み書き効率が大幅に低下します。手動で開閉する必要がある。
. Open

//5、読み書き操作は結果オブジェクトResultを返す
var result = client.ReadInt16 "D210";
//5.1読み取りが成功したかどうか(trueまたはfalse)
var isSucceed = result.isSucceed;
//5.2例外情報の読み込み失敗
var g =.Err;
//5.3読み取り操作が実際に送信したリクエストメッセージ
var requst = result.requst;
//5.4操作サーバからのメッセージの読み込み
response = result.response;
//5.5読み取り値
var value4 = result.Value;

AllenBradleyClient(ロックウェル)読取りおよび書込み操作

クライアントのインスタンス化-正しいIPとポートを入力します。
AllenleyClient = new AllenleyClient "127.0.0.1" 44818;

2、書き込み操作。 
client.Write "A1" short 11; 

//3、読み取り
var value = client.ReadInt16 "A1".Value;

アクティブなオープンがない場合、読み書き操作ごとに自動的に接続を開き、閉じ、読み書き効率が大幅に低下します。手動で開閉する必要がある。
. Open

//5、読み書き操作は結果オブジェクトResultを返す
var result = client.ReadInt16 "A1";
//5.1読み取りが成功したかどうか(trueまたはfalse)
var isSucceed = result.isSucceed;
//5.2例外情報の読み込み失敗
var g =.Err;
//5.3読み取り操作が実際に送信したリクエストメッセージ
var requst = result.requst;
//5.4操作サーバからのメッセージの読み込み
response = result.response;
//5.5読み取り値
var value4 = result.Value;

IoTClientライブラリに基づくプロジェクト

IoTClient Toolデスクトッププログラムツール(オープンソース)

所属する個人:一生の農夫。

IoTClient Toolデスクトッププログラムツール、アドレスソースソース。

  • PLCおよび関連プロトコルのテストに使用できる通信
  • IoTClientライブラリの例として使用できます。
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图1
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图2
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图3
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图4
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图5
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图6
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图7
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图8
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图9
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图10

iotgateway(オープンソース)

所属する個人:iioter

Internet of Thingsゲートウェイ

IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图11

エネルギー管理システム()

会社名:ナウル·テクノロジー

エネルギー管理-オンサイト-単一プロジェクト

IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图12
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图13

エネルギー管理-クラウド-複数のプロジェクト

IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图14
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图15
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图16
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图17
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图18
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图19
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图20

エネルギー管理-モバイル

IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图21
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图22
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图23
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图24
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图25
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图26
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图27

海は制御下にある。

会社名:ナウル·テクノロジー

海底漁業終了制御-web

IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图28
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图29
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图30
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图31

海底掘削終了制御-モバイル端末

IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图32
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图33
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图34
IoTClient C#に基づいて開発されたモノのインターネットデバイスの通信プロトコルクライアント插图35
この資料を実際のプロジェクトに活用しませんか?

ツールセンターで電文解析、CRCチェック、デバイスデバッグを行うか、要件を送信して選定と接続のアドバイスを受けましょう。

エンジニア会員

この記事を実行可能なデバッグ資料に

登録すると、高度な電文解析、資料パックのダウンロード、コード例、エンジニアリングケース、優先技術サポートが利用可能に。実際のプロジェクト納品に最適です。

高度なツール無制限
資料パックとコードパック
完全なエンジニアリングケースライブラリ
優先技術サポート窓口

发表回复

あなたのメールアドレスアドレス不会被公开。 必須項目已用 * 标注