7

古いソフトウェア - CIMplicity HMI Plant Edition バージョン 6.0 のデータ ファイルからデータを抽出する任務を負っています。2002 年の SCADA ソフトウェアです。データ ファイル ディレクトリのコピーがあり、多くの *.DAT および *.IDX ファイルが含まれています。このデータを CSV または SQL データベースに抽出する必要があります。一部の DAT ファイルは単なるプレーン テキストですが、その他のファイルはバイナリ形式であり、PSPad で開くと HEX ビュー モードで表示されます。

これらのファイルからデータを確実に読み取って抽出するには、どのツールを使用できますか?

ティア。

更新: データ ファイルを含むディレクトリのディレクトリ リストを追加しました。

 Directory of C:\tmp\xxxxxxII\data

04/30/2013  01:53 PM    <DIR>          .
04/30/2013  01:53 PM    <DIR>          ..
09/02/2008  10:46 AM            17,260 1220323606.clz
09/02/2008  10:46 AM            60,490 1220323607.clz
09/10/2008  06:36 PM           288,554 1220323608.clz
09/02/2008  10:46 AM            66,977 1220323609.clz
09/10/2008  06:37 PM            23,900 1220323610.clz
09/10/2008  06:37 PM            19,162 1220323611.clz
09/10/2008  06:48 PM            37,596 1220323612.clz
09/10/2008  06:49 PM            27,882 1220323613.clz
09/10/2008  06:49 PM            47,850 1220323614.clz
09/10/2008  06:50 PM            47,816 1220323615.clz
09/10/2008  06:52 PM         3,427,511 1220323616.clz
09/02/2008  10:46 AM            31,169 1220323617.clz
09/10/2008  06:53 PM            30,353 1220323618.clz
09/02/2008  10:46 AM           122,159 1220323619.clz
09/02/2008  10:50 AM         3,539,414 1220323828.clz
09/10/2008  06:02 PM               208 action.dat
09/10/2008  06:02 PM             3,072 action.idx
02/19/2002  11:58 PM             5,636 alarm_class.dat
02/19/2002  11:58 PM             3,072 alarm_class.idx
09/23/2008  04:26 PM           137,128 alarm_def.dat
09/23/2008  04:26 PM            49,152 alarm_def.idx
02/19/2002  11:58 PM             2,929 alarm_field.dat
02/19/2002  11:58 PM             4,096 alarm_field.idx
02/19/2002  11:58 PM                 0 alarm_intproc.dat
02/19/2002  11:58 PM             4,096 alarm_intproc.idx
02/19/2002  11:58 PM               135 alarm_mgr.dat
02/19/2002  11:58 PM             3,072 alarm_mgr.idx
09/23/2008  04:26 PM            69,531 alarm_routing.dat
09/23/2008  04:26 PM           387,072 alarm_routing.idx
02/19/2002  11:58 PM               912 alarm_type.dat
02/19/2002  11:58 PM             3,072 alarm_type.idx
02/19/2002  11:58 PM                 0 alm_setup.dat
02/19/2002  11:58 PM             4,096 alm_setup.idx
02/19/2002  11:58 PM                 0 alm_setup_cl.dat
02/19/2002  11:58 PM             3,072 alm_setup_cl.idx
02/19/2002  11:58 PM                 0 alm_setup_fr.dat
02/19/2002  11:58 PM             3,072 alm_setup_fr.idx
02/19/2002  11:58 PM                 0 alm_user.dat
02/19/2002  11:58 PM             3,072 alm_user.idx
02/19/2002  11:58 PM                 0 alrm_blk_alarm.dat
02/19/2002  11:58 PM             4,096 alrm_blk_alarm.idx
02/19/2002  11:58 PM                 0 alrm_blk_group.dat
02/19/2002  11:58 PM             3,072 alrm_blk_group.idx
02/11/1998  04:05 PM               602 amlp.cfg
09/10/2008  06:53 PM             2,415 class.dat
09/10/2008  06:53 PM             3,072 class.idx
02/11/1998  04:06 PM                 5 client.cfg
09/10/2008  02:14 PM               393 comm_exe.dat
09/10/2008  02:14 PM             4,096 comm_exe.idx
09/23/2008  03:40 PM             9,893 datalog.dat
09/23/2008  03:40 PM             5,120 datalog.idx
02/19/2002  11:58 PM             1,272 data_field.dat
02/19/2002  11:58 PM             3,072 data_field.idx
09/04/2008  03:10 PM             1,218 dbms_def.dat
09/04/2008  03:10 PM             3,072 dbms_def.idx
09/16/2008  10:45 AM            37,820 derived_point.dat
09/16/2008  10:45 AM            16,384 derived_point.idx
09/10/2008  02:14 PM               256 devcom_proc.dat
09/10/2008  02:14 PM             4,096 devcom_proc.idx
09/10/2008  02:16 PM             1,305 device.dat
09/10/2008  02:16 PM             5,120 device.idx
09/23/2008  04:26 PM         2,243,024 device_point.dat
09/23/2008  04:26 PM         1,745,920 device_point.idx
09/23/2008  04:04 PM                 6 dyn_cfg.cfg
02/19/2002  11:58 PM                 0 em_alu.dat
02/19/2002  11:58 PM             3,072 em_alu.idx
02/19/2002  11:58 PM                 0 es_eu_conv.dat
02/19/2002  11:58 PM             3,072 es_eu_conv.idx
02/19/2002  11:58 PM                 0 es_point_info.dat
02/19/2002  11:58 PM             4,096 es_point_info.idx
09/23/2008  04:26 PM           719,712 eu_conv.dat
09/23/2008  04:26 PM            78,848 eu_conv.idx
09/10/2008  06:02 PM               166 event.dat
09/10/2008  06:02 PM             3,072 event.idx
09/10/2008  06:03 PM               121 event_action.dat
09/10/2008  06:03 PM             3,072 event_action.idx
04/30/2013  01:53 PM                 0 f.txt
02/19/2002  09:49 PM           199,302 field_def.dat
02/19/2002  09:49 PM            87,040 field_def.idx
09/10/2008  02:15 PM             1,608 fr.dat
09/10/2008  02:15 PM             5,120 fr.idx
07/15/2010  03:41 PM               262 gef_cfg.ini
09/23/2008  03:39 PM             6,435 glb_parms.dat
09/23/2008  03:39 PM             6,144 glb_parms.idx
12/15/1999  11:16 AM               899 ie_deflds.cfg
11/14/2001  11:06 AM             1,101 ie_formats.cfg
02/19/2002  09:49 PM             7,548 keyconst.dat
02/19/2002  09:49 PM            18,432 keyconst.idx
02/19/2002  09:49 PM            16,984 key_field.dat
02/19/2002  09:49 PM            13,312 key_field.idx
02/19/2002  09:49 PM             9,546 lenconst.dat
02/19/2002  09:49 PM            17,408 lenconst.idx
09/10/2008  02:14 PM               990 logproc.dat
09/10/2008  02:14 PM             3,072 logproc.idx
09/23/2008  03:54 PM            47,952 log_attrib.dat
09/23/2008  03:54 PM            77,824 log_attrib.idx
09/23/2008  03:40 PM             1,848 log_event.dat
09/23/2008  03:40 PM             4,096 log_event.idx
08/05/1998  09:04 AM             1,671 log_names.cfg
09/10/2008  02:14 PM               121 master.mcp
07/18/2008  06:32 PM                32 master_mcp.app
09/10/2008  02:14 PM                29 master_mcp.dc
07/18/2008  06:32 PM                52 master_mcp.rp
09/28/2001  02:22 PM            17,449 master_opc_0.ini
02/19/2002  11:58 PM            11,312 meas_assoc.dat
02/19/2002  11:58 PM             8,192 meas_assoc.idx
02/19/2002  11:58 PM               276 meas_system.dat
02/19/2002  11:58 PM             3,072 meas_system.idx
02/19/2002  11:58 PM             1,096 meas_unit.dat
02/19/2002  11:58 PM             3,072 meas_unit.idx
09/10/2008  02:14 PM               365 model.dat
09/10/2008  02:14 PM             4,096 model.idx
07/18/2008  06:32 PM                86 node.dat
07/18/2008  06:32 PM             3,072 node.idx
09/10/2008  02:14 PM             2,167 node_logproc.dat
09/10/2008  02:14 PM             5,120 node_logproc.idx
09/23/2008  04:26 PM            32,890 object.dat
09/23/2008  04:26 PM            28,672 object.idx
09/23/2008  04:26 PM           310,464 object_attrib.dat
09/23/2008  04:26 PM           293,888 object_attrib.idx
09/23/2008  04:26 PM            22,080 object_routing.dat
09/23/2008  04:26 PM            30,720 object_routing.idx
09/10/2008  02:14 PM               715 physproc.dat
09/10/2008  02:14 PM             5,120 physproc.idx
04/26/2010  12:27 PM         2,527,608 point.dat
04/26/2010  12:27 PM           637,952 point.idx
02/19/2002  11:58 PM                95 point_alstr.dat
02/19/2002  11:58 PM             3,072 point_alstr.idx
02/19/2002  11:58 PM                 0 point_disp.dat
02/19/2002  11:58 PM             3,072 point_disp.idx
02/19/2002  11:58 PM               194 point_enum.dat
02/19/2002  11:58 PM             3,072 point_enum.idx
02/19/2002  11:58 PM               216 point_enum_fld.dat
02/19/2002  11:58 PM             4,096 point_enum_fld.idx
02/19/2002  11:58 PM               609 point_type.dat
02/19/2002  11:58 PM             3,072 point_type.idx
09/10/2008  02:14 PM               129 port_comm.dat
09/10/2008  02:14 PM             4,096 port_comm.idx
09/10/2008  02:14 PM                42 port_list.dat
09/10/2008  02:14 PM             4,096 port_list.idx
09/10/2008  02:14 PM               294 port_type.dat
09/10/2008  02:14 PM             3,072 port_type.idx
02/11/1998  04:05 PM                 5 projects.cfg
09/10/2008  02:14 PM               123 protocol.dat
09/10/2008  02:14 PM             3,072 protocol.idx
02/19/2002  11:58 PM                37 ptmgmt.dat
02/19/2002  11:58 PM             3,072 ptmgmt.idx
04/27/2010  03:25 PM            19,343 ptx_points.cfg
02/19/2002  11:58 PM                 0 pt_uf_assoc.dat
02/19/2002  11:58 PM             4,096 pt_uf_assoc.idx
02/19/2002  11:58 PM                93 pt_uf_sets.dat
02/19/2002  11:58 PM             3,072 pt_uf_sets.idx
02/19/2002  11:58 PM             1,568 pt_user_fields.dat
02/19/2002  11:58 PM             4,096 pt_user_fields.idx
02/19/2002  09:49 PM             9,856 record_def.dat
02/19/2002  09:49 PM            13,312 record_def.idx
02/19/2002  11:58 PM                 0 redund_addrs.dat
02/19/2002  11:58 PM             4,096 redund_addrs.idx
02/19/2002  11:58 PM               111 role.dat
02/19/2002  11:58 PM             3,072 role.idx
02/19/2002  11:58 PM               159 role_subsys.dat
02/19/2002  11:58 PM             4,096 role_subsys.idx
09/10/2008  02:14 PM             1,067 service.dat
09/10/2008  02:14 PM             5,120 service.idx
02/19/2002  11:58 PM               181 service_use.dat
02/19/2002  11:58 PM             3,072 service_use.idx
09/23/2008  03:57 PM               711 TCPIP0.ini
02/19/2002  11:58 PM                 0 trend_pt.dat
02/19/2002  11:58 PM             3,072 trend_pt.idx
09/02/2008  09:29 AM               434 user.dat
09/02/2008  09:29 AM             4,096 user.idx
09/10/2008  02:15 PM               784 user_fr.dat
09/10/2008  02:15 PM             6,144 user_fr.idx
07/15/2010  03:40 PM                15 warmdata.sav
             174 File(s)     17,990,662 bytes

更新: 添付された point.dat のスクリーンショット: ここに画像の説明を入力

4

3 に答える 3

5

お悔やみ申し上げます。あなたはほとんど不可能な仕事を任されました。

わかりました。CIMPLICITY HMI Plant Edition についてはあまり知りません。外から見えることを除けば。しかし、私は産業用 HMI とエンジニアリング ソフトウェアも開発しているので、役立つヒントをいくつか提供できるかもしれません。(WinCC & PCS7)

まず、このフォーマットは、99% の確率で独自のフォーマットです。あなたが得ることが期待できる唯一の本当の助けは、GEからのものです. 問題は、彼らがあなたにそれを与えるか、そしてどのくらいの費用がかかるかです. (データを抽出しようとしているので、おそらく移行しているでしょう。それなら、なぜそれらが役立つのでしょうか。)

したがって、リバース エンジニアリングが必要になる可能性があります。プロジェクトを作成したソフトウェアが必要です。これはエンジニアリング パッケージであり、HMI ランタイム ソフトウェアではありません。(ソフトウェアの 1 つかもしれません。) あなたの会社は、元のプロジェクトのライセンスをまだ持っているはずです。

そこから、新しいプロジェクトを作成して何が起こるかを確認するか、既存のプロジェクトをロードしてから、データの変化を試してみます。システム内のデータと、そのデータがどこにあるのかを理解することが重要です。

データには、プロジェクト構成データと実行時データの 2 つの形式があることに注意してください。

プロジェクト構成は実際にはデータではありません。これは、ランタイム システムが表示/反応する「単なる」構成です。プロジェクト データは、ユーザー、ビュー/画面、PLC 変数バインディング、制御スクリプトなどです。正直なところ、このほとんどを CVS やデータベースに効率的に配置する方法がわかりません。ただし、WinCC が MSSQL を使用する可能性があります。(デフォルトのパスワードで、ありがとう stuxnet)

実行時データはより単純です。これは、オペレータ コマンド、アラーム、警告などを記録するイベント ログ、または記録された値のいずれかです。このデータは厳密にフォーマットされているため、簡単に抽出できます。何がどこで記録されたかを調べるには、エンジニアリング ソフトウェアでプロジェクトを開く必要があります。ログと傾向に関する手がかりが見つかるはずです。

それでも、優れた 16 進エディタと多くの時間を確保したいと考えています。

補遺:

リストとスクリーンショットを追加した後、ファイルは 3/4 の意味を持ちます。

たとえば、alarm_class.* にはランタイムが発生させる可能性があるアラームのクラスが含まれ、alarm_type にはアラームのデータ型が含まれ、alarm_field にはフィールド アララムの構成済みアラームが含まれます。おそらく HMI ランタイムのスクリプトからのユーザー アラームです。

名前にポイントが付いているものはすべて、おそらく「測定ポイント」、つまりフィールド デバイスです。センサーまたはアクチュエーターからのフィードバックのいずれかです。

ユーザーに関するすべては、おそらく構成されたユーザーとその権限です。

redund_addrs は、プライマリ値の冗長な兄弟である PLC またはデバイス アドレスのマップです。

ポートに関するものはすべて、おそらくSCADAサーバーまたはPLCの「ポート」に関するものです。たとえば、FF、PROFIBUS、PROFINETなどです。

オブジェクトを持つものはすべておそらく構造です。これは、単一の変数 (別名タグ) がフォームの階層値にバインドされている場合です。たとえば、センサーの値とそのステータスに関するすべての値が 1 つの構造にバインドされ、これが 1 つの測定ポイントとして扱われる場合があります。

また、提供した16進ダンプを見ると、構造化された一定の長さの形式のように見えます。

この場合:

struct Point
{
    char name[16] = "$ALARM.ACKED";
    char type[32] = "UDINT";
    char comment[128] = "...";
};

値は、スペース「0x20」で埋められます。

補遺2:

dBase などのフラット ファイル データベースを実際に見てみると、各 *.dat がデータで、*.idx がテーブル インデックスです。ただのアイデア。2000 年頃に利用可能になった DB テクノロジに時間を投資することは、有益かもしれません。その後、データを単に「ダンプ」することができます。

于 2013-04-30T13:15:19.973 に答える
0

::EXPORT:: マスター ディレクトリでコマンド プロンプトを開くと、event.idx ファイルに対して「idtpop event」と入力します。ファイル event.idt が作成されます。
このファイルは、メモ帳または他のエディターで編集できます。

Cimplicity の .DAT および .IDX ファイルはすべて同じ方法でアクセスできます。

::IMPORT: 必要な変更をインポートする場合は、コマンド プロンプトで scpop eventと入力し
ます。これにより、イベント ファイルが再生成されます。他のファイルも行います。

于 2016-11-02T07:31:30.040 に答える