エネルギーのプログラミングでよく使われるいくつかのデータ構造
データ構造は多種多様で、それぞれが使用する場合がある.キュー、スタック、チェーンテーブル、図など、最も基本的なデータ構造を理解する必要があります.また、配列だけでなく、構造体を使用してデータをカプセル化し、列挙変数を使用していくつかの値を限定することもできます.以下に私の理解を述べます:1、構造体でデータをカプセル化する場合は2つの場合が構造体を使用するのに適しています.第一に、特定のモジュールを操作するときに、構造体を使用して必要なすべてのデータ要素をカプセル化することができます.例えば、PLCに関するすべての操作は、以下に示すように1つの構造体にカプセル化することができる.
Queenを使用して平均値を求めるコアコードは次のとおりです.
3、HashTableで高速なデータ検索操作プログラミングを行う場合、これはネットワークプログラミングの過程であり、データの伝送速度を高めるために、共通の方法は各機械、各オペレータなどに一意の識別子、すなわちIDを割り当てることである.ローカル表示の場合、操作者の名前が表示されますが、関連操作を行う場合、転送されるデータはIDであり、転送速度を効果的に向上させることができます.クライアントでは、IDに対応する名前のテーブルを作成する必要があり、これにより、IDがわかる場合、オペレータの名前などの情報を容易に得ることができる.この場合、HashTableを採用するのが最も効率的な方法です.次に、HashTableの一般的な方法を以下に挙げます.
未完待续..
///
/// PLC
///
public struct PLC
{
public bool connectIsOk = false;// PLC
public string address;//PLC
public string readPlc = "";// PLC
public string setPlc = "";// PLC
...
}
第二:数据采集过程中使用。
比如:实验进行过程中,需要采集温度,压力,风速等值,可以将这些数据封装在一个结构体中进行处理,如下所示:
///
///
///
public struct collectData
{
public double thermotubeTemp;//
public double windSpeed;//
public double channelPressure;//
}
当然,也可以采用类似JavaBean的做法,将相关数据封装在一个类中,并提供访问器。这种做法也很好,但是,容易出现的情况就是,有些人会将所有需要处理的数据都封装在一个类中,命名为Param。这样子处理其实是很容易造成混乱的。
2、用链表或队列进行求平均值
在数据的实际采集过程中,可能由于环境因素或设备的原因,使得采集的数据中存在轻微的波动,这时,需要加一个求平均值的过程,使得数据更有可信度。
使用ArrayList求平均值的核心代码如下:
// : 10 ,
ArrayList windSpeedList = new ArrayList(10);
// : ,
windSpeedList.RemoveAt(0);// ,
windSpeedList.Add(10.1);//
// :
double windSpeedAverage = 0;
foreach(double temp in windSpeedList)
{
windSpeedAverage += temp;
}
windSpeedAverage = windSpeedAverage / windSpeedList.Count;
Queenを使用して平均値を求めるコアコードは次のとおりです.
// : ,
Queue windSpeedQueen = new Queue();
// : ,
windSpeedQueen.Enqueue(10.1);//
windSpeedQueen.Dequeue();//
// :
double windSpeedAverage = 0;
foreach(double temp in windSpeedQueen)
{
windSpeedAverage += temp;
}
windSpeedAverage = windSpeedAverage / windSpeedQueen.Count;
3、HashTableで高速なデータ検索操作プログラミングを行う場合、これはネットワークプログラミングの過程であり、データの伝送速度を高めるために、共通の方法は各機械、各オペレータなどに一意の識別子、すなわちIDを割り当てることである.ローカル表示の場合、操作者の名前が表示されますが、関連操作を行う場合、転送されるデータはIDであり、転送速度を効果的に向上させることができます.クライアントでは、IDに対応する名前のテーブルを作成する必要があり、これにより、IDがわかる場合、オペレータの名前などの情報を容易に得ることができる.この場合、HashTableを採用するのが最も効率的な方法です.次に、HashTableの一般的な方法を以下に挙げます.
// hashtable,
Hashtable operatorTable = new Hashtable();
operatorTable.Add(1, "wang");
operatorTable.Add(2, "zhang");
//1、 key , key value
string name=(string)operatorTable[2];
//2、 value , key
foreach(int key in operatorTable.Keys)
{
if(key==1)
{
Console.WriteLine(operatorTable[key]);
break;
}
}
//3、 value
foreach(string value in operatorTable.Values)
{
if(value=="zhang")
{
Console.WriteLine(value);
}
}
未完待续..