flyfeky
bilibili 工控貴族
級(jí)別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 881 個(gè)
工控威望: 1030 點(diǎn)
下載積分: 1979 分
在線時(shí)間: 687(小時(shí))
注冊(cè)時(shí)間: 2012-05-09
最后登錄: 2024-10-10
查看flyfeky的 主題 / 回貼
樓主  發(fā)表于: 2023-08-29 12:32
天天做工控,做的很無(wú)聊, 嘗試自己寫(xiě)了博圖文件解析。

西門子的數(shù)據(jù)塊解釋文件長(zhǎng)這樣,  可以用博圖得到。
DATA_BLOCK "hah"
{ DB_Accessible_From_OPC_UA := 'FALSE' ;
S7_Optimized_Access := 'FALSE' }
VERSION : 0.1
NON_RETAIN
   STRUCT
      "1" : Bool;
      "2" : Struct
         "3" : Array[0..1] of Struct
            "8" : Bool;
         END_STRUCT;
         "4" : Array[0..1] of Struct
            "1" : Bool;
            "2" : Bool;
            "3" : Bool;
            "4" : Array[0..1] of Struct
               "5" : Bool;
               "6" : Bool;
            END_STRUCT;
            "7" : Array[0..1] of Struct
               "1" : Bool;
            END_STRUCT;
         END_STRUCT;
      END_STRUCT;
      "3" : Bool;
   END_STRUCT;
BEGIN
END_DATA_BLOCK



下面是轉(zhuǎn)換效果, 感興趣的朋友可以交流。


西門子倍福WPF+C#數(shù)據(jù)庫(kù),槽式設(shè)備專家
海你好咸
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 306 個(gè)
工控威望: 386 點(diǎn)
下載積分: 2750 分
在線時(shí)間: 194(小時(shí))
注冊(cè)時(shí)間: 2018-12-22
最后登錄: 2024-10-20
查看海你好咸的 主題 / 回貼
1樓  發(fā)表于: 2024-03-27 13:59
挺不錯(cuò)的啊
海你好咸
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 306 個(gè)
工控威望: 386 點(diǎn)
下載積分: 2750 分
在線時(shí)間: 194(小時(shí))
注冊(cè)時(shí)間: 2018-12-22
最后登錄: 2024-10-20
查看海你好咸的 主題 / 回貼
2樓  發(fā)表于: 2024-03-27 14:11
圖片:
有一個(gè)問(wèn)題,如果里面有結(jié)構(gòu)體數(shù)據(jù),除非提前將結(jié)構(gòu)體輸入到上位機(jī)代碼里
海你好咸
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 306 個(gè)
工控威望: 386 點(diǎn)
下載積分: 2750 分
在線時(shí)間: 194(小時(shí))
注冊(cè)時(shí)間: 2018-12-22
最后登錄: 2024-10-20
查看海你好咸的 主題 / 回貼
3樓  發(fā)表于: 2024-03-28 13:48
最后讀取PLC數(shù)據(jù)的時(shí)候你是怎么操作的?先根據(jù)數(shù)據(jù)類型進(jìn)行歸類,地址從小到大單個(gè)的就單個(gè)讀,連續(xù)就批量讀?

還是說(shuō)拿到這個(gè)數(shù)據(jù)結(jié)構(gòu)在代碼里寫(xiě)個(gè)類,最后用反射的方式來(lái)讀取或?qū)懭搿?/div>